github.com/osrg/gobgp/v3@v3.30.0/api/attribute.pb.go (about) 1 // Copyright (C) 2018 Nippon Telegraph and Telephone Corporation. 2 // 3 // Permission is hereby granted, free of charge, to any person 4 // obtaining a copy of this software and associated documentation files 5 // (the "Software"), to deal in the Software without restriction, 6 // including without limitation the rights to use, copy, modify, merge, 7 // publish, distribute, sublicense, and/or sell copies of the Software, 8 // and to permit persons to whom the Software is furnished to do so, 9 // subject to the following conditions: 10 // 11 // The above copyright notice and this permission notice shall be 12 // included in all copies or substantial portions of the Software. 13 14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 22 // Code generated by protoc-gen-go. DO NOT EDIT. 23 // versions: 24 // protoc-gen-go v1.28.1 25 // protoc v3.21.12 26 // source: attribute.proto 27 28 package apipb 29 30 import ( 31 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 32 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 33 anypb "google.golang.org/protobuf/types/known/anypb" 34 reflect "reflect" 35 sync "sync" 36 ) 37 38 const ( 39 // Verify that this generated code is sufficiently up-to-date. 40 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 41 // Verify that runtime/protoimpl is sufficiently up-to-date. 42 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 43 ) 44 45 type LsOspfRouteType int32 46 47 const ( 48 LsOspfRouteType_LS_OSPF_ROUTE_TYPE_UNKNOWN LsOspfRouteType = 0 49 LsOspfRouteType_LS_OSPF_ROUTE_TYPE_INTRA_AREA LsOspfRouteType = 1 50 LsOspfRouteType_LS_OSPF_ROUTE_TYPE_INTER_AREA LsOspfRouteType = 2 51 LsOspfRouteType_LS_OSPF_ROUTE_TYPE_EXTERNAL1 LsOspfRouteType = 3 52 LsOspfRouteType_LS_OSPF_ROUTE_TYPE_EXTERNAL2 LsOspfRouteType = 4 53 LsOspfRouteType_LS_OSPF_ROUTE_TYPE_NSSA1 LsOspfRouteType = 5 54 LsOspfRouteType_LS_OSPF_ROUTE_TYPE_NSSA2 LsOspfRouteType = 6 55 ) 56 57 // Enum value maps for LsOspfRouteType. 58 var ( 59 LsOspfRouteType_name = map[int32]string{ 60 0: "LS_OSPF_ROUTE_TYPE_UNKNOWN", 61 1: "LS_OSPF_ROUTE_TYPE_INTRA_AREA", 62 2: "LS_OSPF_ROUTE_TYPE_INTER_AREA", 63 3: "LS_OSPF_ROUTE_TYPE_EXTERNAL1", 64 4: "LS_OSPF_ROUTE_TYPE_EXTERNAL2", 65 5: "LS_OSPF_ROUTE_TYPE_NSSA1", 66 6: "LS_OSPF_ROUTE_TYPE_NSSA2", 67 } 68 LsOspfRouteType_value = map[string]int32{ 69 "LS_OSPF_ROUTE_TYPE_UNKNOWN": 0, 70 "LS_OSPF_ROUTE_TYPE_INTRA_AREA": 1, 71 "LS_OSPF_ROUTE_TYPE_INTER_AREA": 2, 72 "LS_OSPF_ROUTE_TYPE_EXTERNAL1": 3, 73 "LS_OSPF_ROUTE_TYPE_EXTERNAL2": 4, 74 "LS_OSPF_ROUTE_TYPE_NSSA1": 5, 75 "LS_OSPF_ROUTE_TYPE_NSSA2": 6, 76 } 77 ) 78 79 func (x LsOspfRouteType) Enum() *LsOspfRouteType { 80 p := new(LsOspfRouteType) 81 *p = x 82 return p 83 } 84 85 func (x LsOspfRouteType) String() string { 86 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 87 } 88 89 func (LsOspfRouteType) Descriptor() protoreflect.EnumDescriptor { 90 return file_attribute_proto_enumTypes[0].Descriptor() 91 } 92 93 func (LsOspfRouteType) Type() protoreflect.EnumType { 94 return &file_attribute_proto_enumTypes[0] 95 } 96 97 func (x LsOspfRouteType) Number() protoreflect.EnumNumber { 98 return protoreflect.EnumNumber(x) 99 } 100 101 // Deprecated: Use LsOspfRouteType.Descriptor instead. 102 func (LsOspfRouteType) EnumDescriptor() ([]byte, []int) { 103 return file_attribute_proto_rawDescGZIP(), []int{0} 104 } 105 106 // Based om RFC 7752, Table 1. 107 type LsNLRIType int32 108 109 const ( 110 LsNLRIType_LS_NLRI_UNKNOWN LsNLRIType = 0 111 LsNLRIType_LS_NLRI_NODE LsNLRIType = 1 112 LsNLRIType_LS_NLRI_LINK LsNLRIType = 2 113 LsNLRIType_LS_NLRI_PREFIX_V4 LsNLRIType = 3 114 LsNLRIType_LS_NLRI_PREFIX_V6 LsNLRIType = 4 115 ) 116 117 // Enum value maps for LsNLRIType. 118 var ( 119 LsNLRIType_name = map[int32]string{ 120 0: "LS_NLRI_UNKNOWN", 121 1: "LS_NLRI_NODE", 122 2: "LS_NLRI_LINK", 123 3: "LS_NLRI_PREFIX_V4", 124 4: "LS_NLRI_PREFIX_V6", 125 } 126 LsNLRIType_value = map[string]int32{ 127 "LS_NLRI_UNKNOWN": 0, 128 "LS_NLRI_NODE": 1, 129 "LS_NLRI_LINK": 2, 130 "LS_NLRI_PREFIX_V4": 3, 131 "LS_NLRI_PREFIX_V6": 4, 132 } 133 ) 134 135 func (x LsNLRIType) Enum() *LsNLRIType { 136 p := new(LsNLRIType) 137 *p = x 138 return p 139 } 140 141 func (x LsNLRIType) String() string { 142 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 143 } 144 145 func (LsNLRIType) Descriptor() protoreflect.EnumDescriptor { 146 return file_attribute_proto_enumTypes[1].Descriptor() 147 } 148 149 func (LsNLRIType) Type() protoreflect.EnumType { 150 return &file_attribute_proto_enumTypes[1] 151 } 152 153 func (x LsNLRIType) Number() protoreflect.EnumNumber { 154 return protoreflect.EnumNumber(x) 155 } 156 157 // Deprecated: Use LsNLRIType.Descriptor instead. 158 func (LsNLRIType) EnumDescriptor() ([]byte, []int) { 159 return file_attribute_proto_rawDescGZIP(), []int{1} 160 } 161 162 type LsProtocolID int32 163 164 const ( 165 LsProtocolID_LS_PROTOCOL_UNKNOWN LsProtocolID = 0 166 LsProtocolID_LS_PROTOCOL_ISIS_L1 LsProtocolID = 1 167 LsProtocolID_LS_PROTOCOL_ISIS_L2 LsProtocolID = 2 168 LsProtocolID_LS_PROTOCOL_OSPF_V2 LsProtocolID = 3 169 LsProtocolID_LS_PROTOCOL_DIRECT LsProtocolID = 4 170 LsProtocolID_LS_PROTOCOL_STATIC LsProtocolID = 5 171 LsProtocolID_LS_PROTOCOL_OSPF_V3 LsProtocolID = 6 172 ) 173 174 // Enum value maps for LsProtocolID. 175 var ( 176 LsProtocolID_name = map[int32]string{ 177 0: "LS_PROTOCOL_UNKNOWN", 178 1: "LS_PROTOCOL_ISIS_L1", 179 2: "LS_PROTOCOL_ISIS_L2", 180 3: "LS_PROTOCOL_OSPF_V2", 181 4: "LS_PROTOCOL_DIRECT", 182 5: "LS_PROTOCOL_STATIC", 183 6: "LS_PROTOCOL_OSPF_V3", 184 } 185 LsProtocolID_value = map[string]int32{ 186 "LS_PROTOCOL_UNKNOWN": 0, 187 "LS_PROTOCOL_ISIS_L1": 1, 188 "LS_PROTOCOL_ISIS_L2": 2, 189 "LS_PROTOCOL_OSPF_V2": 3, 190 "LS_PROTOCOL_DIRECT": 4, 191 "LS_PROTOCOL_STATIC": 5, 192 "LS_PROTOCOL_OSPF_V3": 6, 193 } 194 ) 195 196 func (x LsProtocolID) Enum() *LsProtocolID { 197 p := new(LsProtocolID) 198 *p = x 199 return p 200 } 201 202 func (x LsProtocolID) String() string { 203 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 204 } 205 206 func (LsProtocolID) Descriptor() protoreflect.EnumDescriptor { 207 return file_attribute_proto_enumTypes[2].Descriptor() 208 } 209 210 func (LsProtocolID) Type() protoreflect.EnumType { 211 return &file_attribute_proto_enumTypes[2] 212 } 213 214 func (x LsProtocolID) Number() protoreflect.EnumNumber { 215 return protoreflect.EnumNumber(x) 216 } 217 218 // Deprecated: Use LsProtocolID.Descriptor instead. 219 func (LsProtocolID) EnumDescriptor() ([]byte, []int) { 220 return file_attribute_proto_rawDescGZIP(), []int{2} 221 } 222 223 type SRv6Behavior int32 224 225 const ( 226 SRv6Behavior_RESERVED SRv6Behavior = 0 227 SRv6Behavior_END SRv6Behavior = 1 228 SRv6Behavior_END_WITH_PSP SRv6Behavior = 2 229 SRv6Behavior_END_WITH_USP SRv6Behavior = 3 230 SRv6Behavior_END_WITH_PSP_USP SRv6Behavior = 4 231 SRv6Behavior_ENDX SRv6Behavior = 5 232 SRv6Behavior_ENDX_WITH_PSP SRv6Behavior = 6 233 SRv6Behavior_ENDX_WITH_USP SRv6Behavior = 7 234 SRv6Behavior_ENDX_WITH_PSP_USP SRv6Behavior = 8 235 SRv6Behavior_ENDT SRv6Behavior = 9 236 SRv6Behavior_ENDT_WITH_PSP SRv6Behavior = 10 237 SRv6Behavior_ENDT_WITH_USP SRv6Behavior = 11 238 SRv6Behavior_ENDT_WITH_PSP_USP SRv6Behavior = 12 239 SRv6Behavior_END_B6_ENCAPS SRv6Behavior = 14 240 SRv6Behavior_END_BM SRv6Behavior = 15 241 SRv6Behavior_END_DX6 SRv6Behavior = 16 242 SRv6Behavior_END_DX4 SRv6Behavior = 17 243 SRv6Behavior_END_DT6 SRv6Behavior = 18 244 SRv6Behavior_END_DT4 SRv6Behavior = 19 245 SRv6Behavior_END_DT46 SRv6Behavior = 20 246 SRv6Behavior_END_DX2 SRv6Behavior = 21 247 SRv6Behavior_END_DX2V SRv6Behavior = 22 248 SRv6Behavior_END_DT2U SRv6Behavior = 23 249 SRv6Behavior_END_DT2M SRv6Behavior = 24 250 SRv6Behavior_END_B6_ENCAPS_Red SRv6Behavior = 27 251 SRv6Behavior_END_WITH_USD SRv6Behavior = 28 252 SRv6Behavior_END_WITH_PSP_USD SRv6Behavior = 29 253 SRv6Behavior_END_WITH_USP_USD SRv6Behavior = 30 254 SRv6Behavior_END_WITH_PSP_USP_USD SRv6Behavior = 31 255 SRv6Behavior_ENDX_WITH_USD SRv6Behavior = 32 256 SRv6Behavior_ENDX_WITH_PSP_USD SRv6Behavior = 33 257 SRv6Behavior_ENDX_WITH_USP_USD SRv6Behavior = 34 258 SRv6Behavior_ENDX_WITH_PSP_USP_USD SRv6Behavior = 35 259 SRv6Behavior_ENDT_WITH_USD SRv6Behavior = 36 260 SRv6Behavior_ENDT_WITH_PSP_USD SRv6Behavior = 37 261 SRv6Behavior_ENDT_WITH_USP_USD SRv6Behavior = 38 262 SRv6Behavior_ENDT_WITH_PSP_USP_USD SRv6Behavior = 39 263 SRv6Behavior_ENDM_GTP6D SRv6Behavior = 69 // 0x0045 264 SRv6Behavior_ENDM_GTP6DI SRv6Behavior = 70 // 0x0046 265 SRv6Behavior_ENDM_GTP6E SRv6Behavior = 71 // 0x0047 266 SRv6Behavior_ENDM_GTP4E SRv6Behavior = 72 // 0x0048 267 ) 268 269 // Enum value maps for SRv6Behavior. 270 var ( 271 SRv6Behavior_name = map[int32]string{ 272 0: "RESERVED", 273 1: "END", 274 2: "END_WITH_PSP", 275 3: "END_WITH_USP", 276 4: "END_WITH_PSP_USP", 277 5: "ENDX", 278 6: "ENDX_WITH_PSP", 279 7: "ENDX_WITH_USP", 280 8: "ENDX_WITH_PSP_USP", 281 9: "ENDT", 282 10: "ENDT_WITH_PSP", 283 11: "ENDT_WITH_USP", 284 12: "ENDT_WITH_PSP_USP", 285 14: "END_B6_ENCAPS", 286 15: "END_BM", 287 16: "END_DX6", 288 17: "END_DX4", 289 18: "END_DT6", 290 19: "END_DT4", 291 20: "END_DT46", 292 21: "END_DX2", 293 22: "END_DX2V", 294 23: "END_DT2U", 295 24: "END_DT2M", 296 27: "END_B6_ENCAPS_Red", 297 28: "END_WITH_USD", 298 29: "END_WITH_PSP_USD", 299 30: "END_WITH_USP_USD", 300 31: "END_WITH_PSP_USP_USD", 301 32: "ENDX_WITH_USD", 302 33: "ENDX_WITH_PSP_USD", 303 34: "ENDX_WITH_USP_USD", 304 35: "ENDX_WITH_PSP_USP_USD", 305 36: "ENDT_WITH_USD", 306 37: "ENDT_WITH_PSP_USD", 307 38: "ENDT_WITH_USP_USD", 308 39: "ENDT_WITH_PSP_USP_USD", 309 69: "ENDM_GTP6D", 310 70: "ENDM_GTP6DI", 311 71: "ENDM_GTP6E", 312 72: "ENDM_GTP4E", 313 } 314 SRv6Behavior_value = map[string]int32{ 315 "RESERVED": 0, 316 "END": 1, 317 "END_WITH_PSP": 2, 318 "END_WITH_USP": 3, 319 "END_WITH_PSP_USP": 4, 320 "ENDX": 5, 321 "ENDX_WITH_PSP": 6, 322 "ENDX_WITH_USP": 7, 323 "ENDX_WITH_PSP_USP": 8, 324 "ENDT": 9, 325 "ENDT_WITH_PSP": 10, 326 "ENDT_WITH_USP": 11, 327 "ENDT_WITH_PSP_USP": 12, 328 "END_B6_ENCAPS": 14, 329 "END_BM": 15, 330 "END_DX6": 16, 331 "END_DX4": 17, 332 "END_DT6": 18, 333 "END_DT4": 19, 334 "END_DT46": 20, 335 "END_DX2": 21, 336 "END_DX2V": 22, 337 "END_DT2U": 23, 338 "END_DT2M": 24, 339 "END_B6_ENCAPS_Red": 27, 340 "END_WITH_USD": 28, 341 "END_WITH_PSP_USD": 29, 342 "END_WITH_USP_USD": 30, 343 "END_WITH_PSP_USP_USD": 31, 344 "ENDX_WITH_USD": 32, 345 "ENDX_WITH_PSP_USD": 33, 346 "ENDX_WITH_USP_USD": 34, 347 "ENDX_WITH_PSP_USP_USD": 35, 348 "ENDT_WITH_USD": 36, 349 "ENDT_WITH_PSP_USD": 37, 350 "ENDT_WITH_USP_USD": 38, 351 "ENDT_WITH_PSP_USP_USD": 39, 352 "ENDM_GTP6D": 69, 353 "ENDM_GTP6DI": 70, 354 "ENDM_GTP6E": 71, 355 "ENDM_GTP4E": 72, 356 } 357 ) 358 359 func (x SRv6Behavior) Enum() *SRv6Behavior { 360 p := new(SRv6Behavior) 361 *p = x 362 return p 363 } 364 365 func (x SRv6Behavior) String() string { 366 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 367 } 368 369 func (SRv6Behavior) Descriptor() protoreflect.EnumDescriptor { 370 return file_attribute_proto_enumTypes[3].Descriptor() 371 } 372 373 func (SRv6Behavior) Type() protoreflect.EnumType { 374 return &file_attribute_proto_enumTypes[3] 375 } 376 377 func (x SRv6Behavior) Number() protoreflect.EnumNumber { 378 return protoreflect.EnumNumber(x) 379 } 380 381 // Deprecated: Use SRv6Behavior.Descriptor instead. 382 func (SRv6Behavior) EnumDescriptor() ([]byte, []int) { 383 return file_attribute_proto_rawDescGZIP(), []int{3} 384 } 385 386 type ENLPType int32 387 388 const ( 389 ENLPType_Reserved ENLPType = 0 390 ENLPType_Type1 ENLPType = 1 391 ENLPType_Type2 ENLPType = 2 392 ENLPType_Type3 ENLPType = 3 393 ENLPType_Type4 ENLPType = 4 394 ) 395 396 // Enum value maps for ENLPType. 397 var ( 398 ENLPType_name = map[int32]string{ 399 0: "Reserved", 400 1: "Type1", 401 2: "Type2", 402 3: "Type3", 403 4: "Type4", 404 } 405 ENLPType_value = map[string]int32{ 406 "Reserved": 0, 407 "Type1": 1, 408 "Type2": 2, 409 "Type3": 3, 410 "Type4": 4, 411 } 412 ) 413 414 func (x ENLPType) Enum() *ENLPType { 415 p := new(ENLPType) 416 *p = x 417 return p 418 } 419 420 func (x ENLPType) String() string { 421 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 422 } 423 424 func (ENLPType) Descriptor() protoreflect.EnumDescriptor { 425 return file_attribute_proto_enumTypes[4].Descriptor() 426 } 427 428 func (ENLPType) Type() protoreflect.EnumType { 429 return &file_attribute_proto_enumTypes[4] 430 } 431 432 func (x ENLPType) Number() protoreflect.EnumNumber { 433 return protoreflect.EnumNumber(x) 434 } 435 436 // Deprecated: Use ENLPType.Descriptor instead. 437 func (ENLPType) EnumDescriptor() ([]byte, []int) { 438 return file_attribute_proto_rawDescGZIP(), []int{4} 439 } 440 441 type AsSegment_Type int32 442 443 const ( 444 AsSegment_UNKNOWN AsSegment_Type = 0 445 AsSegment_AS_SET AsSegment_Type = 1 446 AsSegment_AS_SEQUENCE AsSegment_Type = 2 447 AsSegment_AS_CONFED_SEQUENCE AsSegment_Type = 3 448 AsSegment_AS_CONFED_SET AsSegment_Type = 4 449 ) 450 451 // Enum value maps for AsSegment_Type. 452 var ( 453 AsSegment_Type_name = map[int32]string{ 454 0: "UNKNOWN", 455 1: "AS_SET", 456 2: "AS_SEQUENCE", 457 3: "AS_CONFED_SEQUENCE", 458 4: "AS_CONFED_SET", 459 } 460 AsSegment_Type_value = map[string]int32{ 461 "UNKNOWN": 0, 462 "AS_SET": 1, 463 "AS_SEQUENCE": 2, 464 "AS_CONFED_SEQUENCE": 3, 465 "AS_CONFED_SET": 4, 466 } 467 ) 468 469 func (x AsSegment_Type) Enum() *AsSegment_Type { 470 p := new(AsSegment_Type) 471 *p = x 472 return p 473 } 474 475 func (x AsSegment_Type) String() string { 476 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 477 } 478 479 func (AsSegment_Type) Descriptor() protoreflect.EnumDescriptor { 480 return file_attribute_proto_enumTypes[5].Descriptor() 481 } 482 483 func (AsSegment_Type) Type() protoreflect.EnumType { 484 return &file_attribute_proto_enumTypes[5] 485 } 486 487 func (x AsSegment_Type) Number() protoreflect.EnumNumber { 488 return protoreflect.EnumNumber(x) 489 } 490 491 // Deprecated: Use AsSegment_Type.Descriptor instead. 492 func (AsSegment_Type) EnumDescriptor() ([]byte, []int) { 493 return file_attribute_proto_rawDescGZIP(), []int{1, 0} 494 } 495 496 type OriginAttribute struct { 497 state protoimpl.MessageState 498 sizeCache protoimpl.SizeCache 499 unknownFields protoimpl.UnknownFields 500 501 Origin uint32 `protobuf:"varint,1,opt,name=origin,proto3" json:"origin,omitempty"` 502 } 503 504 func (x *OriginAttribute) Reset() { 505 *x = OriginAttribute{} 506 if protoimpl.UnsafeEnabled { 507 mi := &file_attribute_proto_msgTypes[0] 508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 509 ms.StoreMessageInfo(mi) 510 } 511 } 512 513 func (x *OriginAttribute) String() string { 514 return protoimpl.X.MessageStringOf(x) 515 } 516 517 func (*OriginAttribute) ProtoMessage() {} 518 519 func (x *OriginAttribute) ProtoReflect() protoreflect.Message { 520 mi := &file_attribute_proto_msgTypes[0] 521 if protoimpl.UnsafeEnabled && x != nil { 522 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 523 if ms.LoadMessageInfo() == nil { 524 ms.StoreMessageInfo(mi) 525 } 526 return ms 527 } 528 return mi.MessageOf(x) 529 } 530 531 // Deprecated: Use OriginAttribute.ProtoReflect.Descriptor instead. 532 func (*OriginAttribute) Descriptor() ([]byte, []int) { 533 return file_attribute_proto_rawDescGZIP(), []int{0} 534 } 535 536 func (x *OriginAttribute) GetOrigin() uint32 { 537 if x != nil { 538 return x.Origin 539 } 540 return 0 541 } 542 543 type AsSegment struct { 544 state protoimpl.MessageState 545 sizeCache protoimpl.SizeCache 546 unknownFields protoimpl.UnknownFields 547 548 Type AsSegment_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.AsSegment_Type" json:"type,omitempty"` 549 Numbers []uint32 `protobuf:"varint,2,rep,packed,name=numbers,proto3" json:"numbers,omitempty"` 550 } 551 552 func (x *AsSegment) Reset() { 553 *x = AsSegment{} 554 if protoimpl.UnsafeEnabled { 555 mi := &file_attribute_proto_msgTypes[1] 556 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 557 ms.StoreMessageInfo(mi) 558 } 559 } 560 561 func (x *AsSegment) String() string { 562 return protoimpl.X.MessageStringOf(x) 563 } 564 565 func (*AsSegment) ProtoMessage() {} 566 567 func (x *AsSegment) ProtoReflect() protoreflect.Message { 568 mi := &file_attribute_proto_msgTypes[1] 569 if protoimpl.UnsafeEnabled && x != nil { 570 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 571 if ms.LoadMessageInfo() == nil { 572 ms.StoreMessageInfo(mi) 573 } 574 return ms 575 } 576 return mi.MessageOf(x) 577 } 578 579 // Deprecated: Use AsSegment.ProtoReflect.Descriptor instead. 580 func (*AsSegment) Descriptor() ([]byte, []int) { 581 return file_attribute_proto_rawDescGZIP(), []int{1} 582 } 583 584 func (x *AsSegment) GetType() AsSegment_Type { 585 if x != nil { 586 return x.Type 587 } 588 return AsSegment_UNKNOWN 589 } 590 591 func (x *AsSegment) GetNumbers() []uint32 { 592 if x != nil { 593 return x.Numbers 594 } 595 return nil 596 } 597 598 type AsPathAttribute struct { 599 state protoimpl.MessageState 600 sizeCache protoimpl.SizeCache 601 unknownFields protoimpl.UnknownFields 602 603 Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` 604 } 605 606 func (x *AsPathAttribute) Reset() { 607 *x = AsPathAttribute{} 608 if protoimpl.UnsafeEnabled { 609 mi := &file_attribute_proto_msgTypes[2] 610 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 611 ms.StoreMessageInfo(mi) 612 } 613 } 614 615 func (x *AsPathAttribute) String() string { 616 return protoimpl.X.MessageStringOf(x) 617 } 618 619 func (*AsPathAttribute) ProtoMessage() {} 620 621 func (x *AsPathAttribute) ProtoReflect() protoreflect.Message { 622 mi := &file_attribute_proto_msgTypes[2] 623 if protoimpl.UnsafeEnabled && x != nil { 624 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 625 if ms.LoadMessageInfo() == nil { 626 ms.StoreMessageInfo(mi) 627 } 628 return ms 629 } 630 return mi.MessageOf(x) 631 } 632 633 // Deprecated: Use AsPathAttribute.ProtoReflect.Descriptor instead. 634 func (*AsPathAttribute) Descriptor() ([]byte, []int) { 635 return file_attribute_proto_rawDescGZIP(), []int{2} 636 } 637 638 func (x *AsPathAttribute) GetSegments() []*AsSegment { 639 if x != nil { 640 return x.Segments 641 } 642 return nil 643 } 644 645 type NextHopAttribute struct { 646 state protoimpl.MessageState 647 sizeCache protoimpl.SizeCache 648 unknownFields protoimpl.UnknownFields 649 650 NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop,proto3" json:"next_hop,omitempty"` 651 } 652 653 func (x *NextHopAttribute) Reset() { 654 *x = NextHopAttribute{} 655 if protoimpl.UnsafeEnabled { 656 mi := &file_attribute_proto_msgTypes[3] 657 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 658 ms.StoreMessageInfo(mi) 659 } 660 } 661 662 func (x *NextHopAttribute) String() string { 663 return protoimpl.X.MessageStringOf(x) 664 } 665 666 func (*NextHopAttribute) ProtoMessage() {} 667 668 func (x *NextHopAttribute) ProtoReflect() protoreflect.Message { 669 mi := &file_attribute_proto_msgTypes[3] 670 if protoimpl.UnsafeEnabled && x != nil { 671 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 672 if ms.LoadMessageInfo() == nil { 673 ms.StoreMessageInfo(mi) 674 } 675 return ms 676 } 677 return mi.MessageOf(x) 678 } 679 680 // Deprecated: Use NextHopAttribute.ProtoReflect.Descriptor instead. 681 func (*NextHopAttribute) Descriptor() ([]byte, []int) { 682 return file_attribute_proto_rawDescGZIP(), []int{3} 683 } 684 685 func (x *NextHopAttribute) GetNextHop() string { 686 if x != nil { 687 return x.NextHop 688 } 689 return "" 690 } 691 692 type MultiExitDiscAttribute struct { 693 state protoimpl.MessageState 694 sizeCache protoimpl.SizeCache 695 unknownFields protoimpl.UnknownFields 696 697 Med uint32 `protobuf:"varint,1,opt,name=med,proto3" json:"med,omitempty"` 698 } 699 700 func (x *MultiExitDiscAttribute) Reset() { 701 *x = MultiExitDiscAttribute{} 702 if protoimpl.UnsafeEnabled { 703 mi := &file_attribute_proto_msgTypes[4] 704 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 705 ms.StoreMessageInfo(mi) 706 } 707 } 708 709 func (x *MultiExitDiscAttribute) String() string { 710 return protoimpl.X.MessageStringOf(x) 711 } 712 713 func (*MultiExitDiscAttribute) ProtoMessage() {} 714 715 func (x *MultiExitDiscAttribute) ProtoReflect() protoreflect.Message { 716 mi := &file_attribute_proto_msgTypes[4] 717 if protoimpl.UnsafeEnabled && x != nil { 718 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 719 if ms.LoadMessageInfo() == nil { 720 ms.StoreMessageInfo(mi) 721 } 722 return ms 723 } 724 return mi.MessageOf(x) 725 } 726 727 // Deprecated: Use MultiExitDiscAttribute.ProtoReflect.Descriptor instead. 728 func (*MultiExitDiscAttribute) Descriptor() ([]byte, []int) { 729 return file_attribute_proto_rawDescGZIP(), []int{4} 730 } 731 732 func (x *MultiExitDiscAttribute) GetMed() uint32 { 733 if x != nil { 734 return x.Med 735 } 736 return 0 737 } 738 739 type LocalPrefAttribute struct { 740 state protoimpl.MessageState 741 sizeCache protoimpl.SizeCache 742 unknownFields protoimpl.UnknownFields 743 744 LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"` 745 } 746 747 func (x *LocalPrefAttribute) Reset() { 748 *x = LocalPrefAttribute{} 749 if protoimpl.UnsafeEnabled { 750 mi := &file_attribute_proto_msgTypes[5] 751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 752 ms.StoreMessageInfo(mi) 753 } 754 } 755 756 func (x *LocalPrefAttribute) String() string { 757 return protoimpl.X.MessageStringOf(x) 758 } 759 760 func (*LocalPrefAttribute) ProtoMessage() {} 761 762 func (x *LocalPrefAttribute) ProtoReflect() protoreflect.Message { 763 mi := &file_attribute_proto_msgTypes[5] 764 if protoimpl.UnsafeEnabled && x != nil { 765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 766 if ms.LoadMessageInfo() == nil { 767 ms.StoreMessageInfo(mi) 768 } 769 return ms 770 } 771 return mi.MessageOf(x) 772 } 773 774 // Deprecated: Use LocalPrefAttribute.ProtoReflect.Descriptor instead. 775 func (*LocalPrefAttribute) Descriptor() ([]byte, []int) { 776 return file_attribute_proto_rawDescGZIP(), []int{5} 777 } 778 779 func (x *LocalPrefAttribute) GetLocalPref() uint32 { 780 if x != nil { 781 return x.LocalPref 782 } 783 return 0 784 } 785 786 type AtomicAggregateAttribute struct { 787 state protoimpl.MessageState 788 sizeCache protoimpl.SizeCache 789 unknownFields protoimpl.UnknownFields 790 } 791 792 func (x *AtomicAggregateAttribute) Reset() { 793 *x = AtomicAggregateAttribute{} 794 if protoimpl.UnsafeEnabled { 795 mi := &file_attribute_proto_msgTypes[6] 796 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 797 ms.StoreMessageInfo(mi) 798 } 799 } 800 801 func (x *AtomicAggregateAttribute) String() string { 802 return protoimpl.X.MessageStringOf(x) 803 } 804 805 func (*AtomicAggregateAttribute) ProtoMessage() {} 806 807 func (x *AtomicAggregateAttribute) ProtoReflect() protoreflect.Message { 808 mi := &file_attribute_proto_msgTypes[6] 809 if protoimpl.UnsafeEnabled && x != nil { 810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 811 if ms.LoadMessageInfo() == nil { 812 ms.StoreMessageInfo(mi) 813 } 814 return ms 815 } 816 return mi.MessageOf(x) 817 } 818 819 // Deprecated: Use AtomicAggregateAttribute.ProtoReflect.Descriptor instead. 820 func (*AtomicAggregateAttribute) Descriptor() ([]byte, []int) { 821 return file_attribute_proto_rawDescGZIP(), []int{6} 822 } 823 824 type AggregatorAttribute struct { 825 state protoimpl.MessageState 826 sizeCache protoimpl.SizeCache 827 unknownFields protoimpl.UnknownFields 828 829 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 830 Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` 831 } 832 833 func (x *AggregatorAttribute) Reset() { 834 *x = AggregatorAttribute{} 835 if protoimpl.UnsafeEnabled { 836 mi := &file_attribute_proto_msgTypes[7] 837 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 838 ms.StoreMessageInfo(mi) 839 } 840 } 841 842 func (x *AggregatorAttribute) String() string { 843 return protoimpl.X.MessageStringOf(x) 844 } 845 846 func (*AggregatorAttribute) ProtoMessage() {} 847 848 func (x *AggregatorAttribute) ProtoReflect() protoreflect.Message { 849 mi := &file_attribute_proto_msgTypes[7] 850 if protoimpl.UnsafeEnabled && x != nil { 851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 852 if ms.LoadMessageInfo() == nil { 853 ms.StoreMessageInfo(mi) 854 } 855 return ms 856 } 857 return mi.MessageOf(x) 858 } 859 860 // Deprecated: Use AggregatorAttribute.ProtoReflect.Descriptor instead. 861 func (*AggregatorAttribute) Descriptor() ([]byte, []int) { 862 return file_attribute_proto_rawDescGZIP(), []int{7} 863 } 864 865 func (x *AggregatorAttribute) GetAsn() uint32 { 866 if x != nil { 867 return x.Asn 868 } 869 return 0 870 } 871 872 func (x *AggregatorAttribute) GetAddress() string { 873 if x != nil { 874 return x.Address 875 } 876 return "" 877 } 878 879 type CommunitiesAttribute struct { 880 state protoimpl.MessageState 881 sizeCache protoimpl.SizeCache 882 unknownFields protoimpl.UnknownFields 883 884 Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities,proto3" json:"communities,omitempty"` 885 } 886 887 func (x *CommunitiesAttribute) Reset() { 888 *x = CommunitiesAttribute{} 889 if protoimpl.UnsafeEnabled { 890 mi := &file_attribute_proto_msgTypes[8] 891 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 892 ms.StoreMessageInfo(mi) 893 } 894 } 895 896 func (x *CommunitiesAttribute) String() string { 897 return protoimpl.X.MessageStringOf(x) 898 } 899 900 func (*CommunitiesAttribute) ProtoMessage() {} 901 902 func (x *CommunitiesAttribute) ProtoReflect() protoreflect.Message { 903 mi := &file_attribute_proto_msgTypes[8] 904 if protoimpl.UnsafeEnabled && x != nil { 905 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 906 if ms.LoadMessageInfo() == nil { 907 ms.StoreMessageInfo(mi) 908 } 909 return ms 910 } 911 return mi.MessageOf(x) 912 } 913 914 // Deprecated: Use CommunitiesAttribute.ProtoReflect.Descriptor instead. 915 func (*CommunitiesAttribute) Descriptor() ([]byte, []int) { 916 return file_attribute_proto_rawDescGZIP(), []int{8} 917 } 918 919 func (x *CommunitiesAttribute) GetCommunities() []uint32 { 920 if x != nil { 921 return x.Communities 922 } 923 return nil 924 } 925 926 type OriginatorIdAttribute struct { 927 state protoimpl.MessageState 928 sizeCache protoimpl.SizeCache 929 unknownFields protoimpl.UnknownFields 930 931 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 932 } 933 934 func (x *OriginatorIdAttribute) Reset() { 935 *x = OriginatorIdAttribute{} 936 if protoimpl.UnsafeEnabled { 937 mi := &file_attribute_proto_msgTypes[9] 938 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 939 ms.StoreMessageInfo(mi) 940 } 941 } 942 943 func (x *OriginatorIdAttribute) String() string { 944 return protoimpl.X.MessageStringOf(x) 945 } 946 947 func (*OriginatorIdAttribute) ProtoMessage() {} 948 949 func (x *OriginatorIdAttribute) ProtoReflect() protoreflect.Message { 950 mi := &file_attribute_proto_msgTypes[9] 951 if protoimpl.UnsafeEnabled && x != nil { 952 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 953 if ms.LoadMessageInfo() == nil { 954 ms.StoreMessageInfo(mi) 955 } 956 return ms 957 } 958 return mi.MessageOf(x) 959 } 960 961 // Deprecated: Use OriginatorIdAttribute.ProtoReflect.Descriptor instead. 962 func (*OriginatorIdAttribute) Descriptor() ([]byte, []int) { 963 return file_attribute_proto_rawDescGZIP(), []int{9} 964 } 965 966 func (x *OriginatorIdAttribute) GetId() string { 967 if x != nil { 968 return x.Id 969 } 970 return "" 971 } 972 973 type ClusterListAttribute struct { 974 state protoimpl.MessageState 975 sizeCache protoimpl.SizeCache 976 unknownFields protoimpl.UnknownFields 977 978 Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"` 979 } 980 981 func (x *ClusterListAttribute) Reset() { 982 *x = ClusterListAttribute{} 983 if protoimpl.UnsafeEnabled { 984 mi := &file_attribute_proto_msgTypes[10] 985 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 986 ms.StoreMessageInfo(mi) 987 } 988 } 989 990 func (x *ClusterListAttribute) String() string { 991 return protoimpl.X.MessageStringOf(x) 992 } 993 994 func (*ClusterListAttribute) ProtoMessage() {} 995 996 func (x *ClusterListAttribute) ProtoReflect() protoreflect.Message { 997 mi := &file_attribute_proto_msgTypes[10] 998 if protoimpl.UnsafeEnabled && x != nil { 999 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1000 if ms.LoadMessageInfo() == nil { 1001 ms.StoreMessageInfo(mi) 1002 } 1003 return ms 1004 } 1005 return mi.MessageOf(x) 1006 } 1007 1008 // Deprecated: Use ClusterListAttribute.ProtoReflect.Descriptor instead. 1009 func (*ClusterListAttribute) Descriptor() ([]byte, []int) { 1010 return file_attribute_proto_rawDescGZIP(), []int{10} 1011 } 1012 1013 func (x *ClusterListAttribute) GetIds() []string { 1014 if x != nil { 1015 return x.Ids 1016 } 1017 return nil 1018 } 1019 1020 // IPAddressPrefix represents the NLRI for: 1021 // - AFI=1, SAFI=1 1022 // - AFI=2, SAFI=1 1023 type IPAddressPrefix struct { 1024 state protoimpl.MessageState 1025 sizeCache protoimpl.SizeCache 1026 unknownFields protoimpl.UnknownFields 1027 1028 PrefixLen uint32 `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` 1029 Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` 1030 } 1031 1032 func (x *IPAddressPrefix) Reset() { 1033 *x = IPAddressPrefix{} 1034 if protoimpl.UnsafeEnabled { 1035 mi := &file_attribute_proto_msgTypes[11] 1036 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1037 ms.StoreMessageInfo(mi) 1038 } 1039 } 1040 1041 func (x *IPAddressPrefix) String() string { 1042 return protoimpl.X.MessageStringOf(x) 1043 } 1044 1045 func (*IPAddressPrefix) ProtoMessage() {} 1046 1047 func (x *IPAddressPrefix) ProtoReflect() protoreflect.Message { 1048 mi := &file_attribute_proto_msgTypes[11] 1049 if protoimpl.UnsafeEnabled && x != nil { 1050 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1051 if ms.LoadMessageInfo() == nil { 1052 ms.StoreMessageInfo(mi) 1053 } 1054 return ms 1055 } 1056 return mi.MessageOf(x) 1057 } 1058 1059 // Deprecated: Use IPAddressPrefix.ProtoReflect.Descriptor instead. 1060 func (*IPAddressPrefix) Descriptor() ([]byte, []int) { 1061 return file_attribute_proto_rawDescGZIP(), []int{11} 1062 } 1063 1064 func (x *IPAddressPrefix) GetPrefixLen() uint32 { 1065 if x != nil { 1066 return x.PrefixLen 1067 } 1068 return 0 1069 } 1070 1071 func (x *IPAddressPrefix) GetPrefix() string { 1072 if x != nil { 1073 return x.Prefix 1074 } 1075 return "" 1076 } 1077 1078 // LabeledIPAddressPrefix represents the NLRI for: 1079 // - AFI=1, SAFI=4 1080 // - AFI=2, SAFI=4 1081 type LabeledIPAddressPrefix struct { 1082 state protoimpl.MessageState 1083 sizeCache protoimpl.SizeCache 1084 unknownFields protoimpl.UnknownFields 1085 1086 Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"` 1087 PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` 1088 Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` 1089 } 1090 1091 func (x *LabeledIPAddressPrefix) Reset() { 1092 *x = LabeledIPAddressPrefix{} 1093 if protoimpl.UnsafeEnabled { 1094 mi := &file_attribute_proto_msgTypes[12] 1095 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1096 ms.StoreMessageInfo(mi) 1097 } 1098 } 1099 1100 func (x *LabeledIPAddressPrefix) String() string { 1101 return protoimpl.X.MessageStringOf(x) 1102 } 1103 1104 func (*LabeledIPAddressPrefix) ProtoMessage() {} 1105 1106 func (x *LabeledIPAddressPrefix) ProtoReflect() protoreflect.Message { 1107 mi := &file_attribute_proto_msgTypes[12] 1108 if protoimpl.UnsafeEnabled && x != nil { 1109 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1110 if ms.LoadMessageInfo() == nil { 1111 ms.StoreMessageInfo(mi) 1112 } 1113 return ms 1114 } 1115 return mi.MessageOf(x) 1116 } 1117 1118 // Deprecated: Use LabeledIPAddressPrefix.ProtoReflect.Descriptor instead. 1119 func (*LabeledIPAddressPrefix) Descriptor() ([]byte, []int) { 1120 return file_attribute_proto_rawDescGZIP(), []int{12} 1121 } 1122 1123 func (x *LabeledIPAddressPrefix) GetLabels() []uint32 { 1124 if x != nil { 1125 return x.Labels 1126 } 1127 return nil 1128 } 1129 1130 func (x *LabeledIPAddressPrefix) GetPrefixLen() uint32 { 1131 if x != nil { 1132 return x.PrefixLen 1133 } 1134 return 0 1135 } 1136 1137 func (x *LabeledIPAddressPrefix) GetPrefix() string { 1138 if x != nil { 1139 return x.Prefix 1140 } 1141 return "" 1142 } 1143 1144 // EncapsulationNLRI represents the NLRI for: 1145 // - AFI=1, SAFI=7 1146 // - AFI=2, SAFI=7 1147 type EncapsulationNLRI struct { 1148 state protoimpl.MessageState 1149 sizeCache protoimpl.SizeCache 1150 unknownFields protoimpl.UnknownFields 1151 1152 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1153 } 1154 1155 func (x *EncapsulationNLRI) Reset() { 1156 *x = EncapsulationNLRI{} 1157 if protoimpl.UnsafeEnabled { 1158 mi := &file_attribute_proto_msgTypes[13] 1159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1160 ms.StoreMessageInfo(mi) 1161 } 1162 } 1163 1164 func (x *EncapsulationNLRI) String() string { 1165 return protoimpl.X.MessageStringOf(x) 1166 } 1167 1168 func (*EncapsulationNLRI) ProtoMessage() {} 1169 1170 func (x *EncapsulationNLRI) ProtoReflect() protoreflect.Message { 1171 mi := &file_attribute_proto_msgTypes[13] 1172 if protoimpl.UnsafeEnabled && x != nil { 1173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1174 if ms.LoadMessageInfo() == nil { 1175 ms.StoreMessageInfo(mi) 1176 } 1177 return ms 1178 } 1179 return mi.MessageOf(x) 1180 } 1181 1182 // Deprecated: Use EncapsulationNLRI.ProtoReflect.Descriptor instead. 1183 func (*EncapsulationNLRI) Descriptor() ([]byte, []int) { 1184 return file_attribute_proto_rawDescGZIP(), []int{13} 1185 } 1186 1187 func (x *EncapsulationNLRI) GetAddress() string { 1188 if x != nil { 1189 return x.Address 1190 } 1191 return "" 1192 } 1193 1194 type RouteDistinguisherTwoOctetASN struct { 1195 state protoimpl.MessageState 1196 sizeCache protoimpl.SizeCache 1197 unknownFields protoimpl.UnknownFields 1198 1199 Admin uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"` 1200 Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` 1201 } 1202 1203 func (x *RouteDistinguisherTwoOctetASN) Reset() { 1204 *x = RouteDistinguisherTwoOctetASN{} 1205 if protoimpl.UnsafeEnabled { 1206 mi := &file_attribute_proto_msgTypes[14] 1207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1208 ms.StoreMessageInfo(mi) 1209 } 1210 } 1211 1212 func (x *RouteDistinguisherTwoOctetASN) String() string { 1213 return protoimpl.X.MessageStringOf(x) 1214 } 1215 1216 func (*RouteDistinguisherTwoOctetASN) ProtoMessage() {} 1217 1218 func (x *RouteDistinguisherTwoOctetASN) ProtoReflect() protoreflect.Message { 1219 mi := &file_attribute_proto_msgTypes[14] 1220 if protoimpl.UnsafeEnabled && x != nil { 1221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1222 if ms.LoadMessageInfo() == nil { 1223 ms.StoreMessageInfo(mi) 1224 } 1225 return ms 1226 } 1227 return mi.MessageOf(x) 1228 } 1229 1230 // Deprecated: Use RouteDistinguisherTwoOctetASN.ProtoReflect.Descriptor instead. 1231 func (*RouteDistinguisherTwoOctetASN) Descriptor() ([]byte, []int) { 1232 return file_attribute_proto_rawDescGZIP(), []int{14} 1233 } 1234 1235 func (x *RouteDistinguisherTwoOctetASN) GetAdmin() uint32 { 1236 if x != nil { 1237 return x.Admin 1238 } 1239 return 0 1240 } 1241 1242 func (x *RouteDistinguisherTwoOctetASN) GetAssigned() uint32 { 1243 if x != nil { 1244 return x.Assigned 1245 } 1246 return 0 1247 } 1248 1249 type RouteDistinguisherIPAddress struct { 1250 state protoimpl.MessageState 1251 sizeCache protoimpl.SizeCache 1252 unknownFields protoimpl.UnknownFields 1253 1254 Admin string `protobuf:"bytes,1,opt,name=admin,proto3" json:"admin,omitempty"` 1255 Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` 1256 } 1257 1258 func (x *RouteDistinguisherIPAddress) Reset() { 1259 *x = RouteDistinguisherIPAddress{} 1260 if protoimpl.UnsafeEnabled { 1261 mi := &file_attribute_proto_msgTypes[15] 1262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1263 ms.StoreMessageInfo(mi) 1264 } 1265 } 1266 1267 func (x *RouteDistinguisherIPAddress) String() string { 1268 return protoimpl.X.MessageStringOf(x) 1269 } 1270 1271 func (*RouteDistinguisherIPAddress) ProtoMessage() {} 1272 1273 func (x *RouteDistinguisherIPAddress) ProtoReflect() protoreflect.Message { 1274 mi := &file_attribute_proto_msgTypes[15] 1275 if protoimpl.UnsafeEnabled && x != nil { 1276 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1277 if ms.LoadMessageInfo() == nil { 1278 ms.StoreMessageInfo(mi) 1279 } 1280 return ms 1281 } 1282 return mi.MessageOf(x) 1283 } 1284 1285 // Deprecated: Use RouteDistinguisherIPAddress.ProtoReflect.Descriptor instead. 1286 func (*RouteDistinguisherIPAddress) Descriptor() ([]byte, []int) { 1287 return file_attribute_proto_rawDescGZIP(), []int{15} 1288 } 1289 1290 func (x *RouteDistinguisherIPAddress) GetAdmin() string { 1291 if x != nil { 1292 return x.Admin 1293 } 1294 return "" 1295 } 1296 1297 func (x *RouteDistinguisherIPAddress) GetAssigned() uint32 { 1298 if x != nil { 1299 return x.Assigned 1300 } 1301 return 0 1302 } 1303 1304 type RouteDistinguisherFourOctetASN struct { 1305 state protoimpl.MessageState 1306 sizeCache protoimpl.SizeCache 1307 unknownFields protoimpl.UnknownFields 1308 1309 Admin uint32 `protobuf:"varint,1,opt,name=admin,proto3" json:"admin,omitempty"` 1310 Assigned uint32 `protobuf:"varint,2,opt,name=assigned,proto3" json:"assigned,omitempty"` 1311 } 1312 1313 func (x *RouteDistinguisherFourOctetASN) Reset() { 1314 *x = RouteDistinguisherFourOctetASN{} 1315 if protoimpl.UnsafeEnabled { 1316 mi := &file_attribute_proto_msgTypes[16] 1317 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1318 ms.StoreMessageInfo(mi) 1319 } 1320 } 1321 1322 func (x *RouteDistinguisherFourOctetASN) String() string { 1323 return protoimpl.X.MessageStringOf(x) 1324 } 1325 1326 func (*RouteDistinguisherFourOctetASN) ProtoMessage() {} 1327 1328 func (x *RouteDistinguisherFourOctetASN) ProtoReflect() protoreflect.Message { 1329 mi := &file_attribute_proto_msgTypes[16] 1330 if protoimpl.UnsafeEnabled && x != nil { 1331 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1332 if ms.LoadMessageInfo() == nil { 1333 ms.StoreMessageInfo(mi) 1334 } 1335 return ms 1336 } 1337 return mi.MessageOf(x) 1338 } 1339 1340 // Deprecated: Use RouteDistinguisherFourOctetASN.ProtoReflect.Descriptor instead. 1341 func (*RouteDistinguisherFourOctetASN) Descriptor() ([]byte, []int) { 1342 return file_attribute_proto_rawDescGZIP(), []int{16} 1343 } 1344 1345 func (x *RouteDistinguisherFourOctetASN) GetAdmin() uint32 { 1346 if x != nil { 1347 return x.Admin 1348 } 1349 return 0 1350 } 1351 1352 func (x *RouteDistinguisherFourOctetASN) GetAssigned() uint32 { 1353 if x != nil { 1354 return x.Assigned 1355 } 1356 return 0 1357 } 1358 1359 type EthernetSegmentIdentifier struct { 1360 state protoimpl.MessageState 1361 sizeCache protoimpl.SizeCache 1362 unknownFields protoimpl.UnknownFields 1363 1364 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 1365 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 1366 } 1367 1368 func (x *EthernetSegmentIdentifier) Reset() { 1369 *x = EthernetSegmentIdentifier{} 1370 if protoimpl.UnsafeEnabled { 1371 mi := &file_attribute_proto_msgTypes[17] 1372 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1373 ms.StoreMessageInfo(mi) 1374 } 1375 } 1376 1377 func (x *EthernetSegmentIdentifier) String() string { 1378 return protoimpl.X.MessageStringOf(x) 1379 } 1380 1381 func (*EthernetSegmentIdentifier) ProtoMessage() {} 1382 1383 func (x *EthernetSegmentIdentifier) ProtoReflect() protoreflect.Message { 1384 mi := &file_attribute_proto_msgTypes[17] 1385 if protoimpl.UnsafeEnabled && x != nil { 1386 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1387 if ms.LoadMessageInfo() == nil { 1388 ms.StoreMessageInfo(mi) 1389 } 1390 return ms 1391 } 1392 return mi.MessageOf(x) 1393 } 1394 1395 // Deprecated: Use EthernetSegmentIdentifier.ProtoReflect.Descriptor instead. 1396 func (*EthernetSegmentIdentifier) Descriptor() ([]byte, []int) { 1397 return file_attribute_proto_rawDescGZIP(), []int{17} 1398 } 1399 1400 func (x *EthernetSegmentIdentifier) GetType() uint32 { 1401 if x != nil { 1402 return x.Type 1403 } 1404 return 0 1405 } 1406 1407 func (x *EthernetSegmentIdentifier) GetValue() []byte { 1408 if x != nil { 1409 return x.Value 1410 } 1411 return nil 1412 } 1413 1414 // VPLSNLRI represents the NLRI for: 1415 // - AFI=25, SAFI=65 1416 type VPLSNLRI struct { 1417 state protoimpl.MessageState 1418 sizeCache protoimpl.SizeCache 1419 unknownFields protoimpl.UnknownFields 1420 1421 // One of: 1422 // - RouteDistinguisherTwoOctetASN 1423 // - RouteDistinguisherIPAddress 1424 // - RouteDistinguisherFourOctetASN 1425 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 1426 VeId uint32 `protobuf:"varint,2,opt,name=ve_id,json=veId,proto3" json:"ve_id,omitempty"` 1427 VeBlockOffset uint32 `protobuf:"varint,3,opt,name=ve_block_offset,json=veBlockOffset,proto3" json:"ve_block_offset,omitempty"` 1428 VeBlockSize uint32 `protobuf:"varint,4,opt,name=ve_block_size,json=veBlockSize,proto3" json:"ve_block_size,omitempty"` 1429 LabelBlockBase uint32 `protobuf:"varint,5,opt,name=label_block_base,json=labelBlockBase,proto3" json:"label_block_base,omitempty"` 1430 } 1431 1432 func (x *VPLSNLRI) Reset() { 1433 *x = VPLSNLRI{} 1434 if protoimpl.UnsafeEnabled { 1435 mi := &file_attribute_proto_msgTypes[18] 1436 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1437 ms.StoreMessageInfo(mi) 1438 } 1439 } 1440 1441 func (x *VPLSNLRI) String() string { 1442 return protoimpl.X.MessageStringOf(x) 1443 } 1444 1445 func (*VPLSNLRI) ProtoMessage() {} 1446 1447 func (x *VPLSNLRI) ProtoReflect() protoreflect.Message { 1448 mi := &file_attribute_proto_msgTypes[18] 1449 if protoimpl.UnsafeEnabled && x != nil { 1450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1451 if ms.LoadMessageInfo() == nil { 1452 ms.StoreMessageInfo(mi) 1453 } 1454 return ms 1455 } 1456 return mi.MessageOf(x) 1457 } 1458 1459 // Deprecated: Use VPLSNLRI.ProtoReflect.Descriptor instead. 1460 func (*VPLSNLRI) Descriptor() ([]byte, []int) { 1461 return file_attribute_proto_rawDescGZIP(), []int{18} 1462 } 1463 1464 func (x *VPLSNLRI) GetRd() *anypb.Any { 1465 if x != nil { 1466 return x.Rd 1467 } 1468 return nil 1469 } 1470 1471 func (x *VPLSNLRI) GetVeId() uint32 { 1472 if x != nil { 1473 return x.VeId 1474 } 1475 return 0 1476 } 1477 1478 func (x *VPLSNLRI) GetVeBlockOffset() uint32 { 1479 if x != nil { 1480 return x.VeBlockOffset 1481 } 1482 return 0 1483 } 1484 1485 func (x *VPLSNLRI) GetVeBlockSize() uint32 { 1486 if x != nil { 1487 return x.VeBlockSize 1488 } 1489 return 0 1490 } 1491 1492 func (x *VPLSNLRI) GetLabelBlockBase() uint32 { 1493 if x != nil { 1494 return x.LabelBlockBase 1495 } 1496 return 0 1497 } 1498 1499 // EVPNEthernetAutoDiscoveryRoute represents the NLRI for: 1500 // - AFI=25, SAFI=70, RouteType=1 1501 type EVPNEthernetAutoDiscoveryRoute struct { 1502 state protoimpl.MessageState 1503 sizeCache protoimpl.SizeCache 1504 unknownFields protoimpl.UnknownFields 1505 1506 // One of: 1507 // - RouteDistinguisherTwoOctetASN 1508 // - RouteDistinguisherIPAddress 1509 // - RouteDistinguisherFourOctetASN 1510 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 1511 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` 1512 EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` 1513 Label uint32 `protobuf:"varint,4,opt,name=label,proto3" json:"label,omitempty"` 1514 } 1515 1516 func (x *EVPNEthernetAutoDiscoveryRoute) Reset() { 1517 *x = EVPNEthernetAutoDiscoveryRoute{} 1518 if protoimpl.UnsafeEnabled { 1519 mi := &file_attribute_proto_msgTypes[19] 1520 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1521 ms.StoreMessageInfo(mi) 1522 } 1523 } 1524 1525 func (x *EVPNEthernetAutoDiscoveryRoute) String() string { 1526 return protoimpl.X.MessageStringOf(x) 1527 } 1528 1529 func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage() {} 1530 1531 func (x *EVPNEthernetAutoDiscoveryRoute) ProtoReflect() protoreflect.Message { 1532 mi := &file_attribute_proto_msgTypes[19] 1533 if protoimpl.UnsafeEnabled && x != nil { 1534 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1535 if ms.LoadMessageInfo() == nil { 1536 ms.StoreMessageInfo(mi) 1537 } 1538 return ms 1539 } 1540 return mi.MessageOf(x) 1541 } 1542 1543 // Deprecated: Use EVPNEthernetAutoDiscoveryRoute.ProtoReflect.Descriptor instead. 1544 func (*EVPNEthernetAutoDiscoveryRoute) Descriptor() ([]byte, []int) { 1545 return file_attribute_proto_rawDescGZIP(), []int{19} 1546 } 1547 1548 func (x *EVPNEthernetAutoDiscoveryRoute) GetRd() *anypb.Any { 1549 if x != nil { 1550 return x.Rd 1551 } 1552 return nil 1553 } 1554 1555 func (x *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier { 1556 if x != nil { 1557 return x.Esi 1558 } 1559 return nil 1560 } 1561 1562 func (x *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 { 1563 if x != nil { 1564 return x.EthernetTag 1565 } 1566 return 0 1567 } 1568 1569 func (x *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 { 1570 if x != nil { 1571 return x.Label 1572 } 1573 return 0 1574 } 1575 1576 // EVPNMACIPAdvertisementRoute represents the NLRI for: 1577 // - AFI=25, SAFI=70, RouteType=2 1578 type EVPNMACIPAdvertisementRoute struct { 1579 state protoimpl.MessageState 1580 sizeCache protoimpl.SizeCache 1581 unknownFields protoimpl.UnknownFields 1582 1583 // One of: 1584 // - RouteDistinguisherTwoOctetASN 1585 // - RouteDistinguisherIPAddress 1586 // - RouteDistinguisherFourOctetASN 1587 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 1588 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` 1589 EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` 1590 MacAddress string `protobuf:"bytes,4,opt,name=mac_address,json=macAddress,proto3" json:"mac_address,omitempty"` 1591 IpAddress string `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` 1592 Labels []uint32 `protobuf:"varint,6,rep,packed,name=labels,proto3" json:"labels,omitempty"` 1593 } 1594 1595 func (x *EVPNMACIPAdvertisementRoute) Reset() { 1596 *x = EVPNMACIPAdvertisementRoute{} 1597 if protoimpl.UnsafeEnabled { 1598 mi := &file_attribute_proto_msgTypes[20] 1599 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1600 ms.StoreMessageInfo(mi) 1601 } 1602 } 1603 1604 func (x *EVPNMACIPAdvertisementRoute) String() string { 1605 return protoimpl.X.MessageStringOf(x) 1606 } 1607 1608 func (*EVPNMACIPAdvertisementRoute) ProtoMessage() {} 1609 1610 func (x *EVPNMACIPAdvertisementRoute) ProtoReflect() protoreflect.Message { 1611 mi := &file_attribute_proto_msgTypes[20] 1612 if protoimpl.UnsafeEnabled && x != nil { 1613 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1614 if ms.LoadMessageInfo() == nil { 1615 ms.StoreMessageInfo(mi) 1616 } 1617 return ms 1618 } 1619 return mi.MessageOf(x) 1620 } 1621 1622 // Deprecated: Use EVPNMACIPAdvertisementRoute.ProtoReflect.Descriptor instead. 1623 func (*EVPNMACIPAdvertisementRoute) Descriptor() ([]byte, []int) { 1624 return file_attribute_proto_rawDescGZIP(), []int{20} 1625 } 1626 1627 func (x *EVPNMACIPAdvertisementRoute) GetRd() *anypb.Any { 1628 if x != nil { 1629 return x.Rd 1630 } 1631 return nil 1632 } 1633 1634 func (x *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier { 1635 if x != nil { 1636 return x.Esi 1637 } 1638 return nil 1639 } 1640 1641 func (x *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 { 1642 if x != nil { 1643 return x.EthernetTag 1644 } 1645 return 0 1646 } 1647 1648 func (x *EVPNMACIPAdvertisementRoute) GetMacAddress() string { 1649 if x != nil { 1650 return x.MacAddress 1651 } 1652 return "" 1653 } 1654 1655 func (x *EVPNMACIPAdvertisementRoute) GetIpAddress() string { 1656 if x != nil { 1657 return x.IpAddress 1658 } 1659 return "" 1660 } 1661 1662 func (x *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 { 1663 if x != nil { 1664 return x.Labels 1665 } 1666 return nil 1667 } 1668 1669 // EVPNInclusiveMulticastEthernetTagRoute represents the NLRI for: 1670 // - AFI=25, SAFI=70, RouteType=3 1671 type EVPNInclusiveMulticastEthernetTagRoute struct { 1672 state protoimpl.MessageState 1673 sizeCache protoimpl.SizeCache 1674 unknownFields protoimpl.UnknownFields 1675 1676 // One of: 1677 // - RouteDistinguisherTwoOctetASN 1678 // - RouteDistinguisherIPAddress 1679 // - RouteDistinguisherFourOctetASN 1680 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 1681 EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` 1682 IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` 1683 } 1684 1685 func (x *EVPNInclusiveMulticastEthernetTagRoute) Reset() { 1686 *x = EVPNInclusiveMulticastEthernetTagRoute{} 1687 if protoimpl.UnsafeEnabled { 1688 mi := &file_attribute_proto_msgTypes[21] 1689 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1690 ms.StoreMessageInfo(mi) 1691 } 1692 } 1693 1694 func (x *EVPNInclusiveMulticastEthernetTagRoute) String() string { 1695 return protoimpl.X.MessageStringOf(x) 1696 } 1697 1698 func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage() {} 1699 1700 func (x *EVPNInclusiveMulticastEthernetTagRoute) ProtoReflect() protoreflect.Message { 1701 mi := &file_attribute_proto_msgTypes[21] 1702 if protoimpl.UnsafeEnabled && x != nil { 1703 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1704 if ms.LoadMessageInfo() == nil { 1705 ms.StoreMessageInfo(mi) 1706 } 1707 return ms 1708 } 1709 return mi.MessageOf(x) 1710 } 1711 1712 // Deprecated: Use EVPNInclusiveMulticastEthernetTagRoute.ProtoReflect.Descriptor instead. 1713 func (*EVPNInclusiveMulticastEthernetTagRoute) Descriptor() ([]byte, []int) { 1714 return file_attribute_proto_rawDescGZIP(), []int{21} 1715 } 1716 1717 func (x *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *anypb.Any { 1718 if x != nil { 1719 return x.Rd 1720 } 1721 return nil 1722 } 1723 1724 func (x *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 { 1725 if x != nil { 1726 return x.EthernetTag 1727 } 1728 return 0 1729 } 1730 1731 func (x *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string { 1732 if x != nil { 1733 return x.IpAddress 1734 } 1735 return "" 1736 } 1737 1738 // EVPNEthernetSegmentRoute represents the NLRI for: 1739 // - AFI=25, SAFI=70, RouteType=4 1740 type EVPNEthernetSegmentRoute struct { 1741 state protoimpl.MessageState 1742 sizeCache protoimpl.SizeCache 1743 unknownFields protoimpl.UnknownFields 1744 1745 // One of: 1746 // - RouteDistinguisherTwoOctetASN 1747 // - RouteDistinguisherIPAddress 1748 // - RouteDistinguisherFourOctetASN 1749 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 1750 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` 1751 IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` 1752 } 1753 1754 func (x *EVPNEthernetSegmentRoute) Reset() { 1755 *x = EVPNEthernetSegmentRoute{} 1756 if protoimpl.UnsafeEnabled { 1757 mi := &file_attribute_proto_msgTypes[22] 1758 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1759 ms.StoreMessageInfo(mi) 1760 } 1761 } 1762 1763 func (x *EVPNEthernetSegmentRoute) String() string { 1764 return protoimpl.X.MessageStringOf(x) 1765 } 1766 1767 func (*EVPNEthernetSegmentRoute) ProtoMessage() {} 1768 1769 func (x *EVPNEthernetSegmentRoute) ProtoReflect() protoreflect.Message { 1770 mi := &file_attribute_proto_msgTypes[22] 1771 if protoimpl.UnsafeEnabled && x != nil { 1772 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1773 if ms.LoadMessageInfo() == nil { 1774 ms.StoreMessageInfo(mi) 1775 } 1776 return ms 1777 } 1778 return mi.MessageOf(x) 1779 } 1780 1781 // Deprecated: Use EVPNEthernetSegmentRoute.ProtoReflect.Descriptor instead. 1782 func (*EVPNEthernetSegmentRoute) Descriptor() ([]byte, []int) { 1783 return file_attribute_proto_rawDescGZIP(), []int{22} 1784 } 1785 1786 func (x *EVPNEthernetSegmentRoute) GetRd() *anypb.Any { 1787 if x != nil { 1788 return x.Rd 1789 } 1790 return nil 1791 } 1792 1793 func (x *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier { 1794 if x != nil { 1795 return x.Esi 1796 } 1797 return nil 1798 } 1799 1800 func (x *EVPNEthernetSegmentRoute) GetIpAddress() string { 1801 if x != nil { 1802 return x.IpAddress 1803 } 1804 return "" 1805 } 1806 1807 // EVPNIPPrefixRoute represents the NLRI for: 1808 // - AFI=25, SAFI=70, RouteType=5 1809 type EVPNIPPrefixRoute struct { 1810 state protoimpl.MessageState 1811 sizeCache protoimpl.SizeCache 1812 unknownFields protoimpl.UnknownFields 1813 1814 // One of: 1815 // - RouteDistinguisherTwoOctetASN 1816 // - RouteDistinguisherIPAddress 1817 // - RouteDistinguisherFourOctetASN 1818 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 1819 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi,proto3" json:"esi,omitempty"` 1820 EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` 1821 IpPrefix string `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"` 1822 IpPrefixLen uint32 `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen,proto3" json:"ip_prefix_len,omitempty"` 1823 GwAddress string `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress,proto3" json:"gw_address,omitempty"` 1824 Label uint32 `protobuf:"varint,7,opt,name=label,proto3" json:"label,omitempty"` 1825 } 1826 1827 func (x *EVPNIPPrefixRoute) Reset() { 1828 *x = EVPNIPPrefixRoute{} 1829 if protoimpl.UnsafeEnabled { 1830 mi := &file_attribute_proto_msgTypes[23] 1831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1832 ms.StoreMessageInfo(mi) 1833 } 1834 } 1835 1836 func (x *EVPNIPPrefixRoute) String() string { 1837 return protoimpl.X.MessageStringOf(x) 1838 } 1839 1840 func (*EVPNIPPrefixRoute) ProtoMessage() {} 1841 1842 func (x *EVPNIPPrefixRoute) ProtoReflect() protoreflect.Message { 1843 mi := &file_attribute_proto_msgTypes[23] 1844 if protoimpl.UnsafeEnabled && x != nil { 1845 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1846 if ms.LoadMessageInfo() == nil { 1847 ms.StoreMessageInfo(mi) 1848 } 1849 return ms 1850 } 1851 return mi.MessageOf(x) 1852 } 1853 1854 // Deprecated: Use EVPNIPPrefixRoute.ProtoReflect.Descriptor instead. 1855 func (*EVPNIPPrefixRoute) Descriptor() ([]byte, []int) { 1856 return file_attribute_proto_rawDescGZIP(), []int{23} 1857 } 1858 1859 func (x *EVPNIPPrefixRoute) GetRd() *anypb.Any { 1860 if x != nil { 1861 return x.Rd 1862 } 1863 return nil 1864 } 1865 1866 func (x *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier { 1867 if x != nil { 1868 return x.Esi 1869 } 1870 return nil 1871 } 1872 1873 func (x *EVPNIPPrefixRoute) GetEthernetTag() uint32 { 1874 if x != nil { 1875 return x.EthernetTag 1876 } 1877 return 0 1878 } 1879 1880 func (x *EVPNIPPrefixRoute) GetIpPrefix() string { 1881 if x != nil { 1882 return x.IpPrefix 1883 } 1884 return "" 1885 } 1886 1887 func (x *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 { 1888 if x != nil { 1889 return x.IpPrefixLen 1890 } 1891 return 0 1892 } 1893 1894 func (x *EVPNIPPrefixRoute) GetGwAddress() string { 1895 if x != nil { 1896 return x.GwAddress 1897 } 1898 return "" 1899 } 1900 1901 func (x *EVPNIPPrefixRoute) GetLabel() uint32 { 1902 if x != nil { 1903 return x.Label 1904 } 1905 return 0 1906 } 1907 1908 // EVPNIPMSIRoute represents the NLRI for: 1909 // - AFI=25, SAFI=70, RouteType=9 1910 type EVPNIPMSIRoute struct { 1911 state protoimpl.MessageState 1912 sizeCache protoimpl.SizeCache 1913 unknownFields protoimpl.UnknownFields 1914 1915 // One of: 1916 // - RouteDistinguisherTwoOctetASN 1917 // - RouteDistinguisherIPAddress 1918 // - RouteDistinguisherFourOctetASN 1919 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 1920 EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag,proto3" json:"ethernet_tag,omitempty"` 1921 Rt *anypb.Any `protobuf:"bytes,3,opt,name=rt,proto3" json:"rt,omitempty"` 1922 } 1923 1924 func (x *EVPNIPMSIRoute) Reset() { 1925 *x = EVPNIPMSIRoute{} 1926 if protoimpl.UnsafeEnabled { 1927 mi := &file_attribute_proto_msgTypes[24] 1928 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1929 ms.StoreMessageInfo(mi) 1930 } 1931 } 1932 1933 func (x *EVPNIPMSIRoute) String() string { 1934 return protoimpl.X.MessageStringOf(x) 1935 } 1936 1937 func (*EVPNIPMSIRoute) ProtoMessage() {} 1938 1939 func (x *EVPNIPMSIRoute) ProtoReflect() protoreflect.Message { 1940 mi := &file_attribute_proto_msgTypes[24] 1941 if protoimpl.UnsafeEnabled && x != nil { 1942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1943 if ms.LoadMessageInfo() == nil { 1944 ms.StoreMessageInfo(mi) 1945 } 1946 return ms 1947 } 1948 return mi.MessageOf(x) 1949 } 1950 1951 // Deprecated: Use EVPNIPMSIRoute.ProtoReflect.Descriptor instead. 1952 func (*EVPNIPMSIRoute) Descriptor() ([]byte, []int) { 1953 return file_attribute_proto_rawDescGZIP(), []int{24} 1954 } 1955 1956 func (x *EVPNIPMSIRoute) GetRd() *anypb.Any { 1957 if x != nil { 1958 return x.Rd 1959 } 1960 return nil 1961 } 1962 1963 func (x *EVPNIPMSIRoute) GetEthernetTag() uint32 { 1964 if x != nil { 1965 return x.EthernetTag 1966 } 1967 return 0 1968 } 1969 1970 func (x *EVPNIPMSIRoute) GetRt() *anypb.Any { 1971 if x != nil { 1972 return x.Rt 1973 } 1974 return nil 1975 } 1976 1977 // SRPolicyNLRI represents the NLRI for: 1978 // - AFI=1, SAFI=73 1979 // - AFI=2, SAFI=73 1980 type SRPolicyNLRI struct { 1981 state protoimpl.MessageState 1982 sizeCache protoimpl.SizeCache 1983 unknownFields protoimpl.UnknownFields 1984 1985 // length field carries the length of NLRI portion expressed in bits 1986 Length uint32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"` 1987 // distinguisher field carries 4-octet value uniquely identifying the policy 1988 // in the context of <color, endpoint> tuple. 1989 Distinguisher uint32 `protobuf:"varint,2,opt,name=distinguisher,proto3" json:"distinguisher,omitempty"` 1990 // color field carries 4-octet value identifying (with the endpoint) the 1991 // policy. The color is used to match the color of the destination 1992 // prefixes to steer traffic into the SR Policy 1993 Color uint32 `protobuf:"varint,3,opt,name=color,proto3" json:"color,omitempty"` 1994 // endpoint field identifies the endpoint of a policy. The Endpoint may 1995 // represent a single node or a set of nodes (e.g., an anycast 1996 // address). The Endpoint is an IPv4 (4-octet) address or an IPv6 1997 // (16-octet) address according to the AFI of the NLRI. 1998 Endpoint []byte `protobuf:"bytes,4,opt,name=endpoint,proto3" json:"endpoint,omitempty"` 1999 } 2000 2001 func (x *SRPolicyNLRI) Reset() { 2002 *x = SRPolicyNLRI{} 2003 if protoimpl.UnsafeEnabled { 2004 mi := &file_attribute_proto_msgTypes[25] 2005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2006 ms.StoreMessageInfo(mi) 2007 } 2008 } 2009 2010 func (x *SRPolicyNLRI) String() string { 2011 return protoimpl.X.MessageStringOf(x) 2012 } 2013 2014 func (*SRPolicyNLRI) ProtoMessage() {} 2015 2016 func (x *SRPolicyNLRI) ProtoReflect() protoreflect.Message { 2017 mi := &file_attribute_proto_msgTypes[25] 2018 if protoimpl.UnsafeEnabled && x != nil { 2019 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2020 if ms.LoadMessageInfo() == nil { 2021 ms.StoreMessageInfo(mi) 2022 } 2023 return ms 2024 } 2025 return mi.MessageOf(x) 2026 } 2027 2028 // Deprecated: Use SRPolicyNLRI.ProtoReflect.Descriptor instead. 2029 func (*SRPolicyNLRI) Descriptor() ([]byte, []int) { 2030 return file_attribute_proto_rawDescGZIP(), []int{25} 2031 } 2032 2033 func (x *SRPolicyNLRI) GetLength() uint32 { 2034 if x != nil { 2035 return x.Length 2036 } 2037 return 0 2038 } 2039 2040 func (x *SRPolicyNLRI) GetDistinguisher() uint32 { 2041 if x != nil { 2042 return x.Distinguisher 2043 } 2044 return 0 2045 } 2046 2047 func (x *SRPolicyNLRI) GetColor() uint32 { 2048 if x != nil { 2049 return x.Color 2050 } 2051 return 0 2052 } 2053 2054 func (x *SRPolicyNLRI) GetEndpoint() []byte { 2055 if x != nil { 2056 return x.Endpoint 2057 } 2058 return nil 2059 } 2060 2061 // LabeledVPNIPAddressPrefix represents the NLRI for: 2062 // - AFI=1, SAFI=128 2063 // - AFI=2, SAFI=128 2064 type LabeledVPNIPAddressPrefix struct { 2065 state protoimpl.MessageState 2066 sizeCache protoimpl.SizeCache 2067 unknownFields protoimpl.UnknownFields 2068 2069 Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels,proto3" json:"labels,omitempty"` 2070 // One of: 2071 // - TwoOctetAsSpecificExtended 2072 // - IPv4AddressSpecificExtended 2073 // - FourOctetAsSpecificExtended 2074 Rd *anypb.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"` 2075 PrefixLen uint32 `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` 2076 Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` 2077 } 2078 2079 func (x *LabeledVPNIPAddressPrefix) Reset() { 2080 *x = LabeledVPNIPAddressPrefix{} 2081 if protoimpl.UnsafeEnabled { 2082 mi := &file_attribute_proto_msgTypes[26] 2083 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2084 ms.StoreMessageInfo(mi) 2085 } 2086 } 2087 2088 func (x *LabeledVPNIPAddressPrefix) String() string { 2089 return protoimpl.X.MessageStringOf(x) 2090 } 2091 2092 func (*LabeledVPNIPAddressPrefix) ProtoMessage() {} 2093 2094 func (x *LabeledVPNIPAddressPrefix) ProtoReflect() protoreflect.Message { 2095 mi := &file_attribute_proto_msgTypes[26] 2096 if protoimpl.UnsafeEnabled && x != nil { 2097 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2098 if ms.LoadMessageInfo() == nil { 2099 ms.StoreMessageInfo(mi) 2100 } 2101 return ms 2102 } 2103 return mi.MessageOf(x) 2104 } 2105 2106 // Deprecated: Use LabeledVPNIPAddressPrefix.ProtoReflect.Descriptor instead. 2107 func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) { 2108 return file_attribute_proto_rawDescGZIP(), []int{26} 2109 } 2110 2111 func (x *LabeledVPNIPAddressPrefix) GetLabels() []uint32 { 2112 if x != nil { 2113 return x.Labels 2114 } 2115 return nil 2116 } 2117 2118 func (x *LabeledVPNIPAddressPrefix) GetRd() *anypb.Any { 2119 if x != nil { 2120 return x.Rd 2121 } 2122 return nil 2123 } 2124 2125 func (x *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 { 2126 if x != nil { 2127 return x.PrefixLen 2128 } 2129 return 0 2130 } 2131 2132 func (x *LabeledVPNIPAddressPrefix) GetPrefix() string { 2133 if x != nil { 2134 return x.Prefix 2135 } 2136 return "" 2137 } 2138 2139 // RouteTargetMembershipNLRI represents the NLRI for: 2140 // - AFI=1, SAFI=132 2141 type RouteTargetMembershipNLRI struct { 2142 state protoimpl.MessageState 2143 sizeCache protoimpl.SizeCache 2144 unknownFields protoimpl.UnknownFields 2145 2146 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 2147 // One of: 2148 // - TwoOctetAsSpecificExtended 2149 // - IPv4AddressSpecificExtended 2150 // - FourOctetAsSpecificExtended 2151 Rt *anypb.Any `protobuf:"bytes,2,opt,name=rt,proto3" json:"rt,omitempty"` 2152 } 2153 2154 func (x *RouteTargetMembershipNLRI) Reset() { 2155 *x = RouteTargetMembershipNLRI{} 2156 if protoimpl.UnsafeEnabled { 2157 mi := &file_attribute_proto_msgTypes[27] 2158 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2159 ms.StoreMessageInfo(mi) 2160 } 2161 } 2162 2163 func (x *RouteTargetMembershipNLRI) String() string { 2164 return protoimpl.X.MessageStringOf(x) 2165 } 2166 2167 func (*RouteTargetMembershipNLRI) ProtoMessage() {} 2168 2169 func (x *RouteTargetMembershipNLRI) ProtoReflect() protoreflect.Message { 2170 mi := &file_attribute_proto_msgTypes[27] 2171 if protoimpl.UnsafeEnabled && x != nil { 2172 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2173 if ms.LoadMessageInfo() == nil { 2174 ms.StoreMessageInfo(mi) 2175 } 2176 return ms 2177 } 2178 return mi.MessageOf(x) 2179 } 2180 2181 // Deprecated: Use RouteTargetMembershipNLRI.ProtoReflect.Descriptor instead. 2182 func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) { 2183 return file_attribute_proto_rawDescGZIP(), []int{27} 2184 } 2185 2186 func (x *RouteTargetMembershipNLRI) GetAsn() uint32 { 2187 if x != nil { 2188 return x.Asn 2189 } 2190 return 0 2191 } 2192 2193 func (x *RouteTargetMembershipNLRI) GetRt() *anypb.Any { 2194 if x != nil { 2195 return x.Rt 2196 } 2197 return nil 2198 } 2199 2200 type FlowSpecIPPrefix struct { 2201 state protoimpl.MessageState 2202 sizeCache protoimpl.SizeCache 2203 unknownFields protoimpl.UnknownFields 2204 2205 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 2206 PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen,proto3" json:"prefix_len,omitempty"` 2207 Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` 2208 // IPv6 only 2209 Offset uint32 `protobuf:"varint,4,opt,name=offset,proto3" json:"offset,omitempty"` 2210 } 2211 2212 func (x *FlowSpecIPPrefix) Reset() { 2213 *x = FlowSpecIPPrefix{} 2214 if protoimpl.UnsafeEnabled { 2215 mi := &file_attribute_proto_msgTypes[28] 2216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2217 ms.StoreMessageInfo(mi) 2218 } 2219 } 2220 2221 func (x *FlowSpecIPPrefix) String() string { 2222 return protoimpl.X.MessageStringOf(x) 2223 } 2224 2225 func (*FlowSpecIPPrefix) ProtoMessage() {} 2226 2227 func (x *FlowSpecIPPrefix) ProtoReflect() protoreflect.Message { 2228 mi := &file_attribute_proto_msgTypes[28] 2229 if protoimpl.UnsafeEnabled && x != nil { 2230 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2231 if ms.LoadMessageInfo() == nil { 2232 ms.StoreMessageInfo(mi) 2233 } 2234 return ms 2235 } 2236 return mi.MessageOf(x) 2237 } 2238 2239 // Deprecated: Use FlowSpecIPPrefix.ProtoReflect.Descriptor instead. 2240 func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) { 2241 return file_attribute_proto_rawDescGZIP(), []int{28} 2242 } 2243 2244 func (x *FlowSpecIPPrefix) GetType() uint32 { 2245 if x != nil { 2246 return x.Type 2247 } 2248 return 0 2249 } 2250 2251 func (x *FlowSpecIPPrefix) GetPrefixLen() uint32 { 2252 if x != nil { 2253 return x.PrefixLen 2254 } 2255 return 0 2256 } 2257 2258 func (x *FlowSpecIPPrefix) GetPrefix() string { 2259 if x != nil { 2260 return x.Prefix 2261 } 2262 return "" 2263 } 2264 2265 func (x *FlowSpecIPPrefix) GetOffset() uint32 { 2266 if x != nil { 2267 return x.Offset 2268 } 2269 return 0 2270 } 2271 2272 type FlowSpecMAC struct { 2273 state protoimpl.MessageState 2274 sizeCache protoimpl.SizeCache 2275 unknownFields protoimpl.UnknownFields 2276 2277 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 2278 Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` 2279 } 2280 2281 func (x *FlowSpecMAC) Reset() { 2282 *x = FlowSpecMAC{} 2283 if protoimpl.UnsafeEnabled { 2284 mi := &file_attribute_proto_msgTypes[29] 2285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2286 ms.StoreMessageInfo(mi) 2287 } 2288 } 2289 2290 func (x *FlowSpecMAC) String() string { 2291 return protoimpl.X.MessageStringOf(x) 2292 } 2293 2294 func (*FlowSpecMAC) ProtoMessage() {} 2295 2296 func (x *FlowSpecMAC) ProtoReflect() protoreflect.Message { 2297 mi := &file_attribute_proto_msgTypes[29] 2298 if protoimpl.UnsafeEnabled && x != nil { 2299 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2300 if ms.LoadMessageInfo() == nil { 2301 ms.StoreMessageInfo(mi) 2302 } 2303 return ms 2304 } 2305 return mi.MessageOf(x) 2306 } 2307 2308 // Deprecated: Use FlowSpecMAC.ProtoReflect.Descriptor instead. 2309 func (*FlowSpecMAC) Descriptor() ([]byte, []int) { 2310 return file_attribute_proto_rawDescGZIP(), []int{29} 2311 } 2312 2313 func (x *FlowSpecMAC) GetType() uint32 { 2314 if x != nil { 2315 return x.Type 2316 } 2317 return 0 2318 } 2319 2320 func (x *FlowSpecMAC) GetAddress() string { 2321 if x != nil { 2322 return x.Address 2323 } 2324 return "" 2325 } 2326 2327 type FlowSpecComponentItem struct { 2328 state protoimpl.MessageState 2329 sizeCache protoimpl.SizeCache 2330 unknownFields protoimpl.UnknownFields 2331 2332 // Operator for Numeric type, Operand for Bitmask type 2333 Op uint32 `protobuf:"varint,1,opt,name=op,proto3" json:"op,omitempty"` 2334 Value uint64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` 2335 } 2336 2337 func (x *FlowSpecComponentItem) Reset() { 2338 *x = FlowSpecComponentItem{} 2339 if protoimpl.UnsafeEnabled { 2340 mi := &file_attribute_proto_msgTypes[30] 2341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2342 ms.StoreMessageInfo(mi) 2343 } 2344 } 2345 2346 func (x *FlowSpecComponentItem) String() string { 2347 return protoimpl.X.MessageStringOf(x) 2348 } 2349 2350 func (*FlowSpecComponentItem) ProtoMessage() {} 2351 2352 func (x *FlowSpecComponentItem) ProtoReflect() protoreflect.Message { 2353 mi := &file_attribute_proto_msgTypes[30] 2354 if protoimpl.UnsafeEnabled && x != nil { 2355 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2356 if ms.LoadMessageInfo() == nil { 2357 ms.StoreMessageInfo(mi) 2358 } 2359 return ms 2360 } 2361 return mi.MessageOf(x) 2362 } 2363 2364 // Deprecated: Use FlowSpecComponentItem.ProtoReflect.Descriptor instead. 2365 func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) { 2366 return file_attribute_proto_rawDescGZIP(), []int{30} 2367 } 2368 2369 func (x *FlowSpecComponentItem) GetOp() uint32 { 2370 if x != nil { 2371 return x.Op 2372 } 2373 return 0 2374 } 2375 2376 func (x *FlowSpecComponentItem) GetValue() uint64 { 2377 if x != nil { 2378 return x.Value 2379 } 2380 return 0 2381 } 2382 2383 type FlowSpecComponent struct { 2384 state protoimpl.MessageState 2385 sizeCache protoimpl.SizeCache 2386 unknownFields protoimpl.UnknownFields 2387 2388 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 2389 Items []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` 2390 } 2391 2392 func (x *FlowSpecComponent) Reset() { 2393 *x = FlowSpecComponent{} 2394 if protoimpl.UnsafeEnabled { 2395 mi := &file_attribute_proto_msgTypes[31] 2396 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2397 ms.StoreMessageInfo(mi) 2398 } 2399 } 2400 2401 func (x *FlowSpecComponent) String() string { 2402 return protoimpl.X.MessageStringOf(x) 2403 } 2404 2405 func (*FlowSpecComponent) ProtoMessage() {} 2406 2407 func (x *FlowSpecComponent) ProtoReflect() protoreflect.Message { 2408 mi := &file_attribute_proto_msgTypes[31] 2409 if protoimpl.UnsafeEnabled && x != nil { 2410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2411 if ms.LoadMessageInfo() == nil { 2412 ms.StoreMessageInfo(mi) 2413 } 2414 return ms 2415 } 2416 return mi.MessageOf(x) 2417 } 2418 2419 // Deprecated: Use FlowSpecComponent.ProtoReflect.Descriptor instead. 2420 func (*FlowSpecComponent) Descriptor() ([]byte, []int) { 2421 return file_attribute_proto_rawDescGZIP(), []int{31} 2422 } 2423 2424 func (x *FlowSpecComponent) GetType() uint32 { 2425 if x != nil { 2426 return x.Type 2427 } 2428 return 0 2429 } 2430 2431 func (x *FlowSpecComponent) GetItems() []*FlowSpecComponentItem { 2432 if x != nil { 2433 return x.Items 2434 } 2435 return nil 2436 } 2437 2438 // FlowSpecNLRI represents the NLRI for: 2439 // - AFI=1, SAFI=133 2440 // - AFI=2, SAFI=133 2441 type FlowSpecNLRI struct { 2442 state protoimpl.MessageState 2443 sizeCache protoimpl.SizeCache 2444 unknownFields protoimpl.UnknownFields 2445 2446 // One of: 2447 // - FlowSpecIPPrefix 2448 // - FlowSpecMAC 2449 // - FlowSpecComponent 2450 Rules []*anypb.Any `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` 2451 } 2452 2453 func (x *FlowSpecNLRI) Reset() { 2454 *x = FlowSpecNLRI{} 2455 if protoimpl.UnsafeEnabled { 2456 mi := &file_attribute_proto_msgTypes[32] 2457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2458 ms.StoreMessageInfo(mi) 2459 } 2460 } 2461 2462 func (x *FlowSpecNLRI) String() string { 2463 return protoimpl.X.MessageStringOf(x) 2464 } 2465 2466 func (*FlowSpecNLRI) ProtoMessage() {} 2467 2468 func (x *FlowSpecNLRI) ProtoReflect() protoreflect.Message { 2469 mi := &file_attribute_proto_msgTypes[32] 2470 if protoimpl.UnsafeEnabled && x != nil { 2471 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2472 if ms.LoadMessageInfo() == nil { 2473 ms.StoreMessageInfo(mi) 2474 } 2475 return ms 2476 } 2477 return mi.MessageOf(x) 2478 } 2479 2480 // Deprecated: Use FlowSpecNLRI.ProtoReflect.Descriptor instead. 2481 func (*FlowSpecNLRI) Descriptor() ([]byte, []int) { 2482 return file_attribute_proto_rawDescGZIP(), []int{32} 2483 } 2484 2485 func (x *FlowSpecNLRI) GetRules() []*anypb.Any { 2486 if x != nil { 2487 return x.Rules 2488 } 2489 return nil 2490 } 2491 2492 // VPNFlowSpecNLRI represents the NLRI for: 2493 // - AFI=1, SAFI=134 2494 // - AFI=2, SAFI=134 2495 // - AFI=25, SAFI=134 2496 type VPNFlowSpecNLRI struct { 2497 state protoimpl.MessageState 2498 sizeCache protoimpl.SizeCache 2499 unknownFields protoimpl.UnknownFields 2500 2501 // One of: 2502 // - RouteDistinguisherTwoOctetAS 2503 // - RouteDistinguisherIPAddressAS 2504 // - RouteDistinguisherFourOctetAS 2505 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 2506 // One of: 2507 // - FlowSpecIPPrefix 2508 // - FlowSpecMAC 2509 // - FlowSpecComponent 2510 Rules []*anypb.Any `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` 2511 } 2512 2513 func (x *VPNFlowSpecNLRI) Reset() { 2514 *x = VPNFlowSpecNLRI{} 2515 if protoimpl.UnsafeEnabled { 2516 mi := &file_attribute_proto_msgTypes[33] 2517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2518 ms.StoreMessageInfo(mi) 2519 } 2520 } 2521 2522 func (x *VPNFlowSpecNLRI) String() string { 2523 return protoimpl.X.MessageStringOf(x) 2524 } 2525 2526 func (*VPNFlowSpecNLRI) ProtoMessage() {} 2527 2528 func (x *VPNFlowSpecNLRI) ProtoReflect() protoreflect.Message { 2529 mi := &file_attribute_proto_msgTypes[33] 2530 if protoimpl.UnsafeEnabled && x != nil { 2531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2532 if ms.LoadMessageInfo() == nil { 2533 ms.StoreMessageInfo(mi) 2534 } 2535 return ms 2536 } 2537 return mi.MessageOf(x) 2538 } 2539 2540 // Deprecated: Use VPNFlowSpecNLRI.ProtoReflect.Descriptor instead. 2541 func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) { 2542 return file_attribute_proto_rawDescGZIP(), []int{33} 2543 } 2544 2545 func (x *VPNFlowSpecNLRI) GetRd() *anypb.Any { 2546 if x != nil { 2547 return x.Rd 2548 } 2549 return nil 2550 } 2551 2552 func (x *VPNFlowSpecNLRI) GetRules() []*anypb.Any { 2553 if x != nil { 2554 return x.Rules 2555 } 2556 return nil 2557 } 2558 2559 // OpaqueNLRI represents the NLRI for: 2560 // - AFI=16397, SAFI=241 2561 type OpaqueNLRI struct { 2562 state protoimpl.MessageState 2563 sizeCache protoimpl.SizeCache 2564 unknownFields protoimpl.UnknownFields 2565 2566 Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 2567 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 2568 } 2569 2570 func (x *OpaqueNLRI) Reset() { 2571 *x = OpaqueNLRI{} 2572 if protoimpl.UnsafeEnabled { 2573 mi := &file_attribute_proto_msgTypes[34] 2574 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2575 ms.StoreMessageInfo(mi) 2576 } 2577 } 2578 2579 func (x *OpaqueNLRI) String() string { 2580 return protoimpl.X.MessageStringOf(x) 2581 } 2582 2583 func (*OpaqueNLRI) ProtoMessage() {} 2584 2585 func (x *OpaqueNLRI) ProtoReflect() protoreflect.Message { 2586 mi := &file_attribute_proto_msgTypes[34] 2587 if protoimpl.UnsafeEnabled && x != nil { 2588 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2589 if ms.LoadMessageInfo() == nil { 2590 ms.StoreMessageInfo(mi) 2591 } 2592 return ms 2593 } 2594 return mi.MessageOf(x) 2595 } 2596 2597 // Deprecated: Use OpaqueNLRI.ProtoReflect.Descriptor instead. 2598 func (*OpaqueNLRI) Descriptor() ([]byte, []int) { 2599 return file_attribute_proto_rawDescGZIP(), []int{34} 2600 } 2601 2602 func (x *OpaqueNLRI) GetKey() []byte { 2603 if x != nil { 2604 return x.Key 2605 } 2606 return nil 2607 } 2608 2609 func (x *OpaqueNLRI) GetValue() []byte { 2610 if x != nil { 2611 return x.Value 2612 } 2613 return nil 2614 } 2615 2616 type LsNodeDescriptor struct { 2617 state protoimpl.MessageState 2618 sizeCache protoimpl.SizeCache 2619 unknownFields protoimpl.UnknownFields 2620 2621 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 2622 BgpLsId uint32 `protobuf:"varint,2,opt,name=bgp_ls_id,json=bgpLsId,proto3" json:"bgp_ls_id,omitempty"` 2623 OspfAreaId uint32 `protobuf:"varint,3,opt,name=ospf_area_id,json=ospfAreaId,proto3" json:"ospf_area_id,omitempty"` 2624 Pseudonode bool `protobuf:"varint,4,opt,name=pseudonode,proto3" json:"pseudonode,omitempty"` 2625 IgpRouterId string `protobuf:"bytes,5,opt,name=igp_router_id,json=igpRouterId,proto3" json:"igp_router_id,omitempty"` 2626 BgpRouterId string `protobuf:"bytes,6,opt,name=bgp_router_id,json=bgpRouterId,proto3" json:"bgp_router_id,omitempty"` 2627 BgpConfederationMember uint32 `protobuf:"varint,7,opt,name=bgp_confederation_member,json=bgpConfederationMember,proto3" json:"bgp_confederation_member,omitempty"` 2628 } 2629 2630 func (x *LsNodeDescriptor) Reset() { 2631 *x = LsNodeDescriptor{} 2632 if protoimpl.UnsafeEnabled { 2633 mi := &file_attribute_proto_msgTypes[35] 2634 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2635 ms.StoreMessageInfo(mi) 2636 } 2637 } 2638 2639 func (x *LsNodeDescriptor) String() string { 2640 return protoimpl.X.MessageStringOf(x) 2641 } 2642 2643 func (*LsNodeDescriptor) ProtoMessage() {} 2644 2645 func (x *LsNodeDescriptor) ProtoReflect() protoreflect.Message { 2646 mi := &file_attribute_proto_msgTypes[35] 2647 if protoimpl.UnsafeEnabled && x != nil { 2648 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2649 if ms.LoadMessageInfo() == nil { 2650 ms.StoreMessageInfo(mi) 2651 } 2652 return ms 2653 } 2654 return mi.MessageOf(x) 2655 } 2656 2657 // Deprecated: Use LsNodeDescriptor.ProtoReflect.Descriptor instead. 2658 func (*LsNodeDescriptor) Descriptor() ([]byte, []int) { 2659 return file_attribute_proto_rawDescGZIP(), []int{35} 2660 } 2661 2662 func (x *LsNodeDescriptor) GetAsn() uint32 { 2663 if x != nil { 2664 return x.Asn 2665 } 2666 return 0 2667 } 2668 2669 func (x *LsNodeDescriptor) GetBgpLsId() uint32 { 2670 if x != nil { 2671 return x.BgpLsId 2672 } 2673 return 0 2674 } 2675 2676 func (x *LsNodeDescriptor) GetOspfAreaId() uint32 { 2677 if x != nil { 2678 return x.OspfAreaId 2679 } 2680 return 0 2681 } 2682 2683 func (x *LsNodeDescriptor) GetPseudonode() bool { 2684 if x != nil { 2685 return x.Pseudonode 2686 } 2687 return false 2688 } 2689 2690 func (x *LsNodeDescriptor) GetIgpRouterId() string { 2691 if x != nil { 2692 return x.IgpRouterId 2693 } 2694 return "" 2695 } 2696 2697 func (x *LsNodeDescriptor) GetBgpRouterId() string { 2698 if x != nil { 2699 return x.BgpRouterId 2700 } 2701 return "" 2702 } 2703 2704 func (x *LsNodeDescriptor) GetBgpConfederationMember() uint32 { 2705 if x != nil { 2706 return x.BgpConfederationMember 2707 } 2708 return 0 2709 } 2710 2711 type LsLinkDescriptor struct { 2712 state protoimpl.MessageState 2713 sizeCache protoimpl.SizeCache 2714 unknownFields protoimpl.UnknownFields 2715 2716 LinkLocalId uint32 `protobuf:"varint,1,opt,name=link_local_id,json=linkLocalId,proto3" json:"link_local_id,omitempty"` 2717 LinkRemoteId uint32 `protobuf:"varint,2,opt,name=link_remote_id,json=linkRemoteId,proto3" json:"link_remote_id,omitempty"` 2718 InterfaceAddrIpv4 string `protobuf:"bytes,3,opt,name=interface_addr_ipv4,json=interfaceAddrIpv4,proto3" json:"interface_addr_ipv4,omitempty"` 2719 NeighborAddrIpv4 string `protobuf:"bytes,4,opt,name=neighbor_addr_ipv4,json=neighborAddrIpv4,proto3" json:"neighbor_addr_ipv4,omitempty"` 2720 InterfaceAddrIpv6 string `protobuf:"bytes,5,opt,name=interface_addr_ipv6,json=interfaceAddrIpv6,proto3" json:"interface_addr_ipv6,omitempty"` 2721 NeighborAddrIpv6 string `protobuf:"bytes,6,opt,name=neighbor_addr_ipv6,json=neighborAddrIpv6,proto3" json:"neighbor_addr_ipv6,omitempty"` 2722 } 2723 2724 func (x *LsLinkDescriptor) Reset() { 2725 *x = LsLinkDescriptor{} 2726 if protoimpl.UnsafeEnabled { 2727 mi := &file_attribute_proto_msgTypes[36] 2728 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2729 ms.StoreMessageInfo(mi) 2730 } 2731 } 2732 2733 func (x *LsLinkDescriptor) String() string { 2734 return protoimpl.X.MessageStringOf(x) 2735 } 2736 2737 func (*LsLinkDescriptor) ProtoMessage() {} 2738 2739 func (x *LsLinkDescriptor) ProtoReflect() protoreflect.Message { 2740 mi := &file_attribute_proto_msgTypes[36] 2741 if protoimpl.UnsafeEnabled && x != nil { 2742 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2743 if ms.LoadMessageInfo() == nil { 2744 ms.StoreMessageInfo(mi) 2745 } 2746 return ms 2747 } 2748 return mi.MessageOf(x) 2749 } 2750 2751 // Deprecated: Use LsLinkDescriptor.ProtoReflect.Descriptor instead. 2752 func (*LsLinkDescriptor) Descriptor() ([]byte, []int) { 2753 return file_attribute_proto_rawDescGZIP(), []int{36} 2754 } 2755 2756 func (x *LsLinkDescriptor) GetLinkLocalId() uint32 { 2757 if x != nil { 2758 return x.LinkLocalId 2759 } 2760 return 0 2761 } 2762 2763 func (x *LsLinkDescriptor) GetLinkRemoteId() uint32 { 2764 if x != nil { 2765 return x.LinkRemoteId 2766 } 2767 return 0 2768 } 2769 2770 func (x *LsLinkDescriptor) GetInterfaceAddrIpv4() string { 2771 if x != nil { 2772 return x.InterfaceAddrIpv4 2773 } 2774 return "" 2775 } 2776 2777 func (x *LsLinkDescriptor) GetNeighborAddrIpv4() string { 2778 if x != nil { 2779 return x.NeighborAddrIpv4 2780 } 2781 return "" 2782 } 2783 2784 func (x *LsLinkDescriptor) GetInterfaceAddrIpv6() string { 2785 if x != nil { 2786 return x.InterfaceAddrIpv6 2787 } 2788 return "" 2789 } 2790 2791 func (x *LsLinkDescriptor) GetNeighborAddrIpv6() string { 2792 if x != nil { 2793 return x.NeighborAddrIpv6 2794 } 2795 return "" 2796 } 2797 2798 type LsPrefixDescriptor struct { 2799 state protoimpl.MessageState 2800 sizeCache protoimpl.SizeCache 2801 unknownFields protoimpl.UnknownFields 2802 2803 IpReachability []string `protobuf:"bytes,1,rep,name=ip_reachability,json=ipReachability,proto3" json:"ip_reachability,omitempty"` 2804 OspfRouteType LsOspfRouteType `protobuf:"varint,2,opt,name=ospf_route_type,json=ospfRouteType,proto3,enum=apipb.LsOspfRouteType" json:"ospf_route_type,omitempty"` 2805 } 2806 2807 func (x *LsPrefixDescriptor) Reset() { 2808 *x = LsPrefixDescriptor{} 2809 if protoimpl.UnsafeEnabled { 2810 mi := &file_attribute_proto_msgTypes[37] 2811 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2812 ms.StoreMessageInfo(mi) 2813 } 2814 } 2815 2816 func (x *LsPrefixDescriptor) String() string { 2817 return protoimpl.X.MessageStringOf(x) 2818 } 2819 2820 func (*LsPrefixDescriptor) ProtoMessage() {} 2821 2822 func (x *LsPrefixDescriptor) ProtoReflect() protoreflect.Message { 2823 mi := &file_attribute_proto_msgTypes[37] 2824 if protoimpl.UnsafeEnabled && x != nil { 2825 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2826 if ms.LoadMessageInfo() == nil { 2827 ms.StoreMessageInfo(mi) 2828 } 2829 return ms 2830 } 2831 return mi.MessageOf(x) 2832 } 2833 2834 // Deprecated: Use LsPrefixDescriptor.ProtoReflect.Descriptor instead. 2835 func (*LsPrefixDescriptor) Descriptor() ([]byte, []int) { 2836 return file_attribute_proto_rawDescGZIP(), []int{37} 2837 } 2838 2839 func (x *LsPrefixDescriptor) GetIpReachability() []string { 2840 if x != nil { 2841 return x.IpReachability 2842 } 2843 return nil 2844 } 2845 2846 func (x *LsPrefixDescriptor) GetOspfRouteType() LsOspfRouteType { 2847 if x != nil { 2848 return x.OspfRouteType 2849 } 2850 return LsOspfRouteType_LS_OSPF_ROUTE_TYPE_UNKNOWN 2851 } 2852 2853 type LsNodeNLRI struct { 2854 state protoimpl.MessageState 2855 sizeCache protoimpl.SizeCache 2856 unknownFields protoimpl.UnknownFields 2857 2858 LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` 2859 } 2860 2861 func (x *LsNodeNLRI) Reset() { 2862 *x = LsNodeNLRI{} 2863 if protoimpl.UnsafeEnabled { 2864 mi := &file_attribute_proto_msgTypes[38] 2865 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2866 ms.StoreMessageInfo(mi) 2867 } 2868 } 2869 2870 func (x *LsNodeNLRI) String() string { 2871 return protoimpl.X.MessageStringOf(x) 2872 } 2873 2874 func (*LsNodeNLRI) ProtoMessage() {} 2875 2876 func (x *LsNodeNLRI) ProtoReflect() protoreflect.Message { 2877 mi := &file_attribute_proto_msgTypes[38] 2878 if protoimpl.UnsafeEnabled && x != nil { 2879 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2880 if ms.LoadMessageInfo() == nil { 2881 ms.StoreMessageInfo(mi) 2882 } 2883 return ms 2884 } 2885 return mi.MessageOf(x) 2886 } 2887 2888 // Deprecated: Use LsNodeNLRI.ProtoReflect.Descriptor instead. 2889 func (*LsNodeNLRI) Descriptor() ([]byte, []int) { 2890 return file_attribute_proto_rawDescGZIP(), []int{38} 2891 } 2892 2893 func (x *LsNodeNLRI) GetLocalNode() *LsNodeDescriptor { 2894 if x != nil { 2895 return x.LocalNode 2896 } 2897 return nil 2898 } 2899 2900 type LsLinkNLRI struct { 2901 state protoimpl.MessageState 2902 sizeCache protoimpl.SizeCache 2903 unknownFields protoimpl.UnknownFields 2904 2905 LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` 2906 RemoteNode *LsNodeDescriptor `protobuf:"bytes,2,opt,name=remote_node,json=remoteNode,proto3" json:"remote_node,omitempty"` 2907 LinkDescriptor *LsLinkDescriptor `protobuf:"bytes,3,opt,name=link_descriptor,json=linkDescriptor,proto3" json:"link_descriptor,omitempty"` 2908 } 2909 2910 func (x *LsLinkNLRI) Reset() { 2911 *x = LsLinkNLRI{} 2912 if protoimpl.UnsafeEnabled { 2913 mi := &file_attribute_proto_msgTypes[39] 2914 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2915 ms.StoreMessageInfo(mi) 2916 } 2917 } 2918 2919 func (x *LsLinkNLRI) String() string { 2920 return protoimpl.X.MessageStringOf(x) 2921 } 2922 2923 func (*LsLinkNLRI) ProtoMessage() {} 2924 2925 func (x *LsLinkNLRI) ProtoReflect() protoreflect.Message { 2926 mi := &file_attribute_proto_msgTypes[39] 2927 if protoimpl.UnsafeEnabled && x != nil { 2928 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2929 if ms.LoadMessageInfo() == nil { 2930 ms.StoreMessageInfo(mi) 2931 } 2932 return ms 2933 } 2934 return mi.MessageOf(x) 2935 } 2936 2937 // Deprecated: Use LsLinkNLRI.ProtoReflect.Descriptor instead. 2938 func (*LsLinkNLRI) Descriptor() ([]byte, []int) { 2939 return file_attribute_proto_rawDescGZIP(), []int{39} 2940 } 2941 2942 func (x *LsLinkNLRI) GetLocalNode() *LsNodeDescriptor { 2943 if x != nil { 2944 return x.LocalNode 2945 } 2946 return nil 2947 } 2948 2949 func (x *LsLinkNLRI) GetRemoteNode() *LsNodeDescriptor { 2950 if x != nil { 2951 return x.RemoteNode 2952 } 2953 return nil 2954 } 2955 2956 func (x *LsLinkNLRI) GetLinkDescriptor() *LsLinkDescriptor { 2957 if x != nil { 2958 return x.LinkDescriptor 2959 } 2960 return nil 2961 } 2962 2963 type LsPrefixV4NLRI struct { 2964 state protoimpl.MessageState 2965 sizeCache protoimpl.SizeCache 2966 unknownFields protoimpl.UnknownFields 2967 2968 LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` 2969 PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"` 2970 } 2971 2972 func (x *LsPrefixV4NLRI) Reset() { 2973 *x = LsPrefixV4NLRI{} 2974 if protoimpl.UnsafeEnabled { 2975 mi := &file_attribute_proto_msgTypes[40] 2976 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2977 ms.StoreMessageInfo(mi) 2978 } 2979 } 2980 2981 func (x *LsPrefixV4NLRI) String() string { 2982 return protoimpl.X.MessageStringOf(x) 2983 } 2984 2985 func (*LsPrefixV4NLRI) ProtoMessage() {} 2986 2987 func (x *LsPrefixV4NLRI) ProtoReflect() protoreflect.Message { 2988 mi := &file_attribute_proto_msgTypes[40] 2989 if protoimpl.UnsafeEnabled && x != nil { 2990 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2991 if ms.LoadMessageInfo() == nil { 2992 ms.StoreMessageInfo(mi) 2993 } 2994 return ms 2995 } 2996 return mi.MessageOf(x) 2997 } 2998 2999 // Deprecated: Use LsPrefixV4NLRI.ProtoReflect.Descriptor instead. 3000 func (*LsPrefixV4NLRI) Descriptor() ([]byte, []int) { 3001 return file_attribute_proto_rawDescGZIP(), []int{40} 3002 } 3003 3004 func (x *LsPrefixV4NLRI) GetLocalNode() *LsNodeDescriptor { 3005 if x != nil { 3006 return x.LocalNode 3007 } 3008 return nil 3009 } 3010 3011 func (x *LsPrefixV4NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { 3012 if x != nil { 3013 return x.PrefixDescriptor 3014 } 3015 return nil 3016 } 3017 3018 type LsPrefixV6NLRI struct { 3019 state protoimpl.MessageState 3020 sizeCache protoimpl.SizeCache 3021 unknownFields protoimpl.UnknownFields 3022 3023 LocalNode *LsNodeDescriptor `protobuf:"bytes,1,opt,name=local_node,json=localNode,proto3" json:"local_node,omitempty"` 3024 PrefixDescriptor *LsPrefixDescriptor `protobuf:"bytes,2,opt,name=prefix_descriptor,json=prefixDescriptor,proto3" json:"prefix_descriptor,omitempty"` 3025 } 3026 3027 func (x *LsPrefixV6NLRI) Reset() { 3028 *x = LsPrefixV6NLRI{} 3029 if protoimpl.UnsafeEnabled { 3030 mi := &file_attribute_proto_msgTypes[41] 3031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3032 ms.StoreMessageInfo(mi) 3033 } 3034 } 3035 3036 func (x *LsPrefixV6NLRI) String() string { 3037 return protoimpl.X.MessageStringOf(x) 3038 } 3039 3040 func (*LsPrefixV6NLRI) ProtoMessage() {} 3041 3042 func (x *LsPrefixV6NLRI) ProtoReflect() protoreflect.Message { 3043 mi := &file_attribute_proto_msgTypes[41] 3044 if protoimpl.UnsafeEnabled && x != nil { 3045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3046 if ms.LoadMessageInfo() == nil { 3047 ms.StoreMessageInfo(mi) 3048 } 3049 return ms 3050 } 3051 return mi.MessageOf(x) 3052 } 3053 3054 // Deprecated: Use LsPrefixV6NLRI.ProtoReflect.Descriptor instead. 3055 func (*LsPrefixV6NLRI) Descriptor() ([]byte, []int) { 3056 return file_attribute_proto_rawDescGZIP(), []int{41} 3057 } 3058 3059 func (x *LsPrefixV6NLRI) GetLocalNode() *LsNodeDescriptor { 3060 if x != nil { 3061 return x.LocalNode 3062 } 3063 return nil 3064 } 3065 3066 func (x *LsPrefixV6NLRI) GetPrefixDescriptor() *LsPrefixDescriptor { 3067 if x != nil { 3068 return x.PrefixDescriptor 3069 } 3070 return nil 3071 } 3072 3073 // LsAddrPrefix represents the NLRI for: 3074 // - AFI=16388, SAFI=71 3075 type LsAddrPrefix struct { 3076 state protoimpl.MessageState 3077 sizeCache protoimpl.SizeCache 3078 unknownFields protoimpl.UnknownFields 3079 3080 Type LsNLRIType `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.LsNLRIType" json:"type,omitempty"` 3081 // One of: 3082 // - LsNodeNLRI 3083 // - LsLinkNLRI 3084 // - LsPrefixV4NLRI 3085 // - LsPrefixV6NLRI 3086 Nlri *anypb.Any `protobuf:"bytes,2,opt,name=nlri,proto3" json:"nlri,omitempty"` 3087 Length uint32 `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"` 3088 ProtocolId LsProtocolID `protobuf:"varint,4,opt,name=protocol_id,json=protocolId,proto3,enum=apipb.LsProtocolID" json:"protocol_id,omitempty"` 3089 Identifier uint64 `protobuf:"varint,5,opt,name=identifier,proto3" json:"identifier,omitempty"` 3090 } 3091 3092 func (x *LsAddrPrefix) Reset() { 3093 *x = LsAddrPrefix{} 3094 if protoimpl.UnsafeEnabled { 3095 mi := &file_attribute_proto_msgTypes[42] 3096 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3097 ms.StoreMessageInfo(mi) 3098 } 3099 } 3100 3101 func (x *LsAddrPrefix) String() string { 3102 return protoimpl.X.MessageStringOf(x) 3103 } 3104 3105 func (*LsAddrPrefix) ProtoMessage() {} 3106 3107 func (x *LsAddrPrefix) ProtoReflect() protoreflect.Message { 3108 mi := &file_attribute_proto_msgTypes[42] 3109 if protoimpl.UnsafeEnabled && x != nil { 3110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3111 if ms.LoadMessageInfo() == nil { 3112 ms.StoreMessageInfo(mi) 3113 } 3114 return ms 3115 } 3116 return mi.MessageOf(x) 3117 } 3118 3119 // Deprecated: Use LsAddrPrefix.ProtoReflect.Descriptor instead. 3120 func (*LsAddrPrefix) Descriptor() ([]byte, []int) { 3121 return file_attribute_proto_rawDescGZIP(), []int{42} 3122 } 3123 3124 func (x *LsAddrPrefix) GetType() LsNLRIType { 3125 if x != nil { 3126 return x.Type 3127 } 3128 return LsNLRIType_LS_NLRI_UNKNOWN 3129 } 3130 3131 func (x *LsAddrPrefix) GetNlri() *anypb.Any { 3132 if x != nil { 3133 return x.Nlri 3134 } 3135 return nil 3136 } 3137 3138 func (x *LsAddrPrefix) GetLength() uint32 { 3139 if x != nil { 3140 return x.Length 3141 } 3142 return 0 3143 } 3144 3145 func (x *LsAddrPrefix) GetProtocolId() LsProtocolID { 3146 if x != nil { 3147 return x.ProtocolId 3148 } 3149 return LsProtocolID_LS_PROTOCOL_UNKNOWN 3150 } 3151 3152 func (x *LsAddrPrefix) GetIdentifier() uint64 { 3153 if x != nil { 3154 return x.Identifier 3155 } 3156 return 0 3157 } 3158 3159 type MUPInterworkSegmentDiscoveryRoute struct { 3160 state protoimpl.MessageState 3161 sizeCache protoimpl.SizeCache 3162 unknownFields protoimpl.UnknownFields 3163 3164 // One of: 3165 // - RouteDistinguisherTwoOctetASN 3166 // - RouteDistinguisherIPAddress 3167 // - RouteDistinguisherFourOctetASN 3168 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 3169 Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` 3170 } 3171 3172 func (x *MUPInterworkSegmentDiscoveryRoute) Reset() { 3173 *x = MUPInterworkSegmentDiscoveryRoute{} 3174 if protoimpl.UnsafeEnabled { 3175 mi := &file_attribute_proto_msgTypes[43] 3176 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3177 ms.StoreMessageInfo(mi) 3178 } 3179 } 3180 3181 func (x *MUPInterworkSegmentDiscoveryRoute) String() string { 3182 return protoimpl.X.MessageStringOf(x) 3183 } 3184 3185 func (*MUPInterworkSegmentDiscoveryRoute) ProtoMessage() {} 3186 3187 func (x *MUPInterworkSegmentDiscoveryRoute) ProtoReflect() protoreflect.Message { 3188 mi := &file_attribute_proto_msgTypes[43] 3189 if protoimpl.UnsafeEnabled && x != nil { 3190 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3191 if ms.LoadMessageInfo() == nil { 3192 ms.StoreMessageInfo(mi) 3193 } 3194 return ms 3195 } 3196 return mi.MessageOf(x) 3197 } 3198 3199 // Deprecated: Use MUPInterworkSegmentDiscoveryRoute.ProtoReflect.Descriptor instead. 3200 func (*MUPInterworkSegmentDiscoveryRoute) Descriptor() ([]byte, []int) { 3201 return file_attribute_proto_rawDescGZIP(), []int{43} 3202 } 3203 3204 func (x *MUPInterworkSegmentDiscoveryRoute) GetRd() *anypb.Any { 3205 if x != nil { 3206 return x.Rd 3207 } 3208 return nil 3209 } 3210 3211 func (x *MUPInterworkSegmentDiscoveryRoute) GetPrefix() string { 3212 if x != nil { 3213 return x.Prefix 3214 } 3215 return "" 3216 } 3217 3218 type MUPDirectSegmentDiscoveryRoute struct { 3219 state protoimpl.MessageState 3220 sizeCache protoimpl.SizeCache 3221 unknownFields protoimpl.UnknownFields 3222 3223 // One of: 3224 // - RouteDistinguisherTwoOctetASN 3225 // - RouteDistinguisherIPAddress 3226 // - RouteDistinguisherFourOctetASN 3227 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 3228 Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` 3229 } 3230 3231 func (x *MUPDirectSegmentDiscoveryRoute) Reset() { 3232 *x = MUPDirectSegmentDiscoveryRoute{} 3233 if protoimpl.UnsafeEnabled { 3234 mi := &file_attribute_proto_msgTypes[44] 3235 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3236 ms.StoreMessageInfo(mi) 3237 } 3238 } 3239 3240 func (x *MUPDirectSegmentDiscoveryRoute) String() string { 3241 return protoimpl.X.MessageStringOf(x) 3242 } 3243 3244 func (*MUPDirectSegmentDiscoveryRoute) ProtoMessage() {} 3245 3246 func (x *MUPDirectSegmentDiscoveryRoute) ProtoReflect() protoreflect.Message { 3247 mi := &file_attribute_proto_msgTypes[44] 3248 if protoimpl.UnsafeEnabled && x != nil { 3249 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3250 if ms.LoadMessageInfo() == nil { 3251 ms.StoreMessageInfo(mi) 3252 } 3253 return ms 3254 } 3255 return mi.MessageOf(x) 3256 } 3257 3258 // Deprecated: Use MUPDirectSegmentDiscoveryRoute.ProtoReflect.Descriptor instead. 3259 func (*MUPDirectSegmentDiscoveryRoute) Descriptor() ([]byte, []int) { 3260 return file_attribute_proto_rawDescGZIP(), []int{44} 3261 } 3262 3263 func (x *MUPDirectSegmentDiscoveryRoute) GetRd() *anypb.Any { 3264 if x != nil { 3265 return x.Rd 3266 } 3267 return nil 3268 } 3269 3270 func (x *MUPDirectSegmentDiscoveryRoute) GetAddress() string { 3271 if x != nil { 3272 return x.Address 3273 } 3274 return "" 3275 } 3276 3277 type MUPType1SessionTransformedRoute struct { 3278 state protoimpl.MessageState 3279 sizeCache protoimpl.SizeCache 3280 unknownFields protoimpl.UnknownFields 3281 3282 // One of: 3283 // - RouteDistinguisherTwoOctetASN 3284 // - RouteDistinguisherIPAddress 3285 // - RouteDistinguisherFourOctetASN 3286 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 3287 // Deprecated: Do not use. 3288 PrefixLength uint32 `protobuf:"varint,2,opt,name=prefix_length,json=prefixLength,proto3" json:"prefix_length,omitempty"` 3289 Prefix string `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` 3290 Teid uint32 `protobuf:"varint,4,opt,name=teid,proto3" json:"teid,omitempty"` 3291 Qfi uint32 `protobuf:"varint,5,opt,name=qfi,proto3" json:"qfi,omitempty"` 3292 EndpointAddressLength uint32 `protobuf:"varint,6,opt,name=endpoint_address_length,json=endpointAddressLength,proto3" json:"endpoint_address_length,omitempty"` 3293 EndpointAddress string `protobuf:"bytes,7,opt,name=endpoint_address,json=endpointAddress,proto3" json:"endpoint_address,omitempty"` 3294 SourceAddressLength uint32 `protobuf:"varint,8,opt,name=source_address_length,json=sourceAddressLength,proto3" json:"source_address_length,omitempty"` 3295 SourceAddress string `protobuf:"bytes,9,opt,name=source_address,json=sourceAddress,proto3" json:"source_address,omitempty"` 3296 } 3297 3298 func (x *MUPType1SessionTransformedRoute) Reset() { 3299 *x = MUPType1SessionTransformedRoute{} 3300 if protoimpl.UnsafeEnabled { 3301 mi := &file_attribute_proto_msgTypes[45] 3302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3303 ms.StoreMessageInfo(mi) 3304 } 3305 } 3306 3307 func (x *MUPType1SessionTransformedRoute) String() string { 3308 return protoimpl.X.MessageStringOf(x) 3309 } 3310 3311 func (*MUPType1SessionTransformedRoute) ProtoMessage() {} 3312 3313 func (x *MUPType1SessionTransformedRoute) ProtoReflect() protoreflect.Message { 3314 mi := &file_attribute_proto_msgTypes[45] 3315 if protoimpl.UnsafeEnabled && x != nil { 3316 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3317 if ms.LoadMessageInfo() == nil { 3318 ms.StoreMessageInfo(mi) 3319 } 3320 return ms 3321 } 3322 return mi.MessageOf(x) 3323 } 3324 3325 // Deprecated: Use MUPType1SessionTransformedRoute.ProtoReflect.Descriptor instead. 3326 func (*MUPType1SessionTransformedRoute) Descriptor() ([]byte, []int) { 3327 return file_attribute_proto_rawDescGZIP(), []int{45} 3328 } 3329 3330 func (x *MUPType1SessionTransformedRoute) GetRd() *anypb.Any { 3331 if x != nil { 3332 return x.Rd 3333 } 3334 return nil 3335 } 3336 3337 // Deprecated: Do not use. 3338 func (x *MUPType1SessionTransformedRoute) GetPrefixLength() uint32 { 3339 if x != nil { 3340 return x.PrefixLength 3341 } 3342 return 0 3343 } 3344 3345 func (x *MUPType1SessionTransformedRoute) GetPrefix() string { 3346 if x != nil { 3347 return x.Prefix 3348 } 3349 return "" 3350 } 3351 3352 func (x *MUPType1SessionTransformedRoute) GetTeid() uint32 { 3353 if x != nil { 3354 return x.Teid 3355 } 3356 return 0 3357 } 3358 3359 func (x *MUPType1SessionTransformedRoute) GetQfi() uint32 { 3360 if x != nil { 3361 return x.Qfi 3362 } 3363 return 0 3364 } 3365 3366 func (x *MUPType1SessionTransformedRoute) GetEndpointAddressLength() uint32 { 3367 if x != nil { 3368 return x.EndpointAddressLength 3369 } 3370 return 0 3371 } 3372 3373 func (x *MUPType1SessionTransformedRoute) GetEndpointAddress() string { 3374 if x != nil { 3375 return x.EndpointAddress 3376 } 3377 return "" 3378 } 3379 3380 func (x *MUPType1SessionTransformedRoute) GetSourceAddressLength() uint32 { 3381 if x != nil { 3382 return x.SourceAddressLength 3383 } 3384 return 0 3385 } 3386 3387 func (x *MUPType1SessionTransformedRoute) GetSourceAddress() string { 3388 if x != nil { 3389 return x.SourceAddress 3390 } 3391 return "" 3392 } 3393 3394 type MUPType2SessionTransformedRoute struct { 3395 state protoimpl.MessageState 3396 sizeCache protoimpl.SizeCache 3397 unknownFields protoimpl.UnknownFields 3398 3399 // One of: 3400 // - RouteDistinguisherTwoOctetASN 3401 // - RouteDistinguisherIPAddress 3402 // - RouteDistinguisherFourOctetASN 3403 Rd *anypb.Any `protobuf:"bytes,1,opt,name=rd,proto3" json:"rd,omitempty"` 3404 EndpointAddressLength uint32 `protobuf:"varint,2,opt,name=endpoint_address_length,json=endpointAddressLength,proto3" json:"endpoint_address_length,omitempty"` 3405 EndpointAddress string `protobuf:"bytes,3,opt,name=endpoint_address,json=endpointAddress,proto3" json:"endpoint_address,omitempty"` 3406 Teid uint32 `protobuf:"varint,4,opt,name=teid,proto3" json:"teid,omitempty"` 3407 } 3408 3409 func (x *MUPType2SessionTransformedRoute) Reset() { 3410 *x = MUPType2SessionTransformedRoute{} 3411 if protoimpl.UnsafeEnabled { 3412 mi := &file_attribute_proto_msgTypes[46] 3413 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3414 ms.StoreMessageInfo(mi) 3415 } 3416 } 3417 3418 func (x *MUPType2SessionTransformedRoute) String() string { 3419 return protoimpl.X.MessageStringOf(x) 3420 } 3421 3422 func (*MUPType2SessionTransformedRoute) ProtoMessage() {} 3423 3424 func (x *MUPType2SessionTransformedRoute) ProtoReflect() protoreflect.Message { 3425 mi := &file_attribute_proto_msgTypes[46] 3426 if protoimpl.UnsafeEnabled && x != nil { 3427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3428 if ms.LoadMessageInfo() == nil { 3429 ms.StoreMessageInfo(mi) 3430 } 3431 return ms 3432 } 3433 return mi.MessageOf(x) 3434 } 3435 3436 // Deprecated: Use MUPType2SessionTransformedRoute.ProtoReflect.Descriptor instead. 3437 func (*MUPType2SessionTransformedRoute) Descriptor() ([]byte, []int) { 3438 return file_attribute_proto_rawDescGZIP(), []int{46} 3439 } 3440 3441 func (x *MUPType2SessionTransformedRoute) GetRd() *anypb.Any { 3442 if x != nil { 3443 return x.Rd 3444 } 3445 return nil 3446 } 3447 3448 func (x *MUPType2SessionTransformedRoute) GetEndpointAddressLength() uint32 { 3449 if x != nil { 3450 return x.EndpointAddressLength 3451 } 3452 return 0 3453 } 3454 3455 func (x *MUPType2SessionTransformedRoute) GetEndpointAddress() string { 3456 if x != nil { 3457 return x.EndpointAddress 3458 } 3459 return "" 3460 } 3461 3462 func (x *MUPType2SessionTransformedRoute) GetTeid() uint32 { 3463 if x != nil { 3464 return x.Teid 3465 } 3466 return 0 3467 } 3468 3469 type MpReachNLRIAttribute struct { 3470 state protoimpl.MessageState 3471 sizeCache protoimpl.SizeCache 3472 unknownFields protoimpl.UnknownFields 3473 3474 Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` 3475 NextHops []string `protobuf:"bytes,2,rep,name=next_hops,json=nextHops,proto3" json:"next_hops,omitempty"` 3476 // Each NLRI must be one of: 3477 // - IPAddressPrefix 3478 // - LabeledIPAddressPrefix 3479 // - EncapsulationNLRI 3480 // - EVPNEthernetAutoDiscoveryRoute 3481 // - EVPNMACIPAdvertisementRoute 3482 // - EVPNInclusiveMulticastEthernetTagRoute 3483 // - EVPNEthernetSegmentRoute 3484 // - EVPNIPPrefixRoute 3485 // - EVPNIPMSIRoute 3486 // - LabeledVPNIPAddressPrefix 3487 // - RouteTargetMembershipNLRI 3488 // - FlowSpecNLRI 3489 // - VPNFlowSpecNLRI 3490 // - OpaqueNLRI 3491 // - LsAddrPrefix 3492 // - SR Policy NLRI 3493 // - MUPInterworkSegmentDiscoveryRoute 3494 // - MUPDirectSegmentDiscoveryRoute 3495 // - MUPType1SessionTransformedRoute 3496 // - MUPType2SessionTransformedRoute 3497 Nlris []*anypb.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` 3498 } 3499 3500 func (x *MpReachNLRIAttribute) Reset() { 3501 *x = MpReachNLRIAttribute{} 3502 if protoimpl.UnsafeEnabled { 3503 mi := &file_attribute_proto_msgTypes[47] 3504 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3505 ms.StoreMessageInfo(mi) 3506 } 3507 } 3508 3509 func (x *MpReachNLRIAttribute) String() string { 3510 return protoimpl.X.MessageStringOf(x) 3511 } 3512 3513 func (*MpReachNLRIAttribute) ProtoMessage() {} 3514 3515 func (x *MpReachNLRIAttribute) ProtoReflect() protoreflect.Message { 3516 mi := &file_attribute_proto_msgTypes[47] 3517 if protoimpl.UnsafeEnabled && x != nil { 3518 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3519 if ms.LoadMessageInfo() == nil { 3520 ms.StoreMessageInfo(mi) 3521 } 3522 return ms 3523 } 3524 return mi.MessageOf(x) 3525 } 3526 3527 // Deprecated: Use MpReachNLRIAttribute.ProtoReflect.Descriptor instead. 3528 func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) { 3529 return file_attribute_proto_rawDescGZIP(), []int{47} 3530 } 3531 3532 func (x *MpReachNLRIAttribute) GetFamily() *Family { 3533 if x != nil { 3534 return x.Family 3535 } 3536 return nil 3537 } 3538 3539 func (x *MpReachNLRIAttribute) GetNextHops() []string { 3540 if x != nil { 3541 return x.NextHops 3542 } 3543 return nil 3544 } 3545 3546 func (x *MpReachNLRIAttribute) GetNlris() []*anypb.Any { 3547 if x != nil { 3548 return x.Nlris 3549 } 3550 return nil 3551 } 3552 3553 type MpUnreachNLRIAttribute struct { 3554 state protoimpl.MessageState 3555 sizeCache protoimpl.SizeCache 3556 unknownFields protoimpl.UnknownFields 3557 3558 Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` 3559 // The same as NLRI field of MpReachNLRIAttribute 3560 Nlris []*anypb.Any `protobuf:"bytes,3,rep,name=nlris,proto3" json:"nlris,omitempty"` 3561 } 3562 3563 func (x *MpUnreachNLRIAttribute) Reset() { 3564 *x = MpUnreachNLRIAttribute{} 3565 if protoimpl.UnsafeEnabled { 3566 mi := &file_attribute_proto_msgTypes[48] 3567 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3568 ms.StoreMessageInfo(mi) 3569 } 3570 } 3571 3572 func (x *MpUnreachNLRIAttribute) String() string { 3573 return protoimpl.X.MessageStringOf(x) 3574 } 3575 3576 func (*MpUnreachNLRIAttribute) ProtoMessage() {} 3577 3578 func (x *MpUnreachNLRIAttribute) ProtoReflect() protoreflect.Message { 3579 mi := &file_attribute_proto_msgTypes[48] 3580 if protoimpl.UnsafeEnabled && x != nil { 3581 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3582 if ms.LoadMessageInfo() == nil { 3583 ms.StoreMessageInfo(mi) 3584 } 3585 return ms 3586 } 3587 return mi.MessageOf(x) 3588 } 3589 3590 // Deprecated: Use MpUnreachNLRIAttribute.ProtoReflect.Descriptor instead. 3591 func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) { 3592 return file_attribute_proto_rawDescGZIP(), []int{48} 3593 } 3594 3595 func (x *MpUnreachNLRIAttribute) GetFamily() *Family { 3596 if x != nil { 3597 return x.Family 3598 } 3599 return nil 3600 } 3601 3602 func (x *MpUnreachNLRIAttribute) GetNlris() []*anypb.Any { 3603 if x != nil { 3604 return x.Nlris 3605 } 3606 return nil 3607 } 3608 3609 type TwoOctetAsSpecificExtended struct { 3610 state protoimpl.MessageState 3611 sizeCache protoimpl.SizeCache 3612 unknownFields protoimpl.UnknownFields 3613 3614 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` 3615 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` 3616 Asn uint32 `protobuf:"varint,3,opt,name=asn,proto3" json:"asn,omitempty"` 3617 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 3618 } 3619 3620 func (x *TwoOctetAsSpecificExtended) Reset() { 3621 *x = TwoOctetAsSpecificExtended{} 3622 if protoimpl.UnsafeEnabled { 3623 mi := &file_attribute_proto_msgTypes[49] 3624 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3625 ms.StoreMessageInfo(mi) 3626 } 3627 } 3628 3629 func (x *TwoOctetAsSpecificExtended) String() string { 3630 return protoimpl.X.MessageStringOf(x) 3631 } 3632 3633 func (*TwoOctetAsSpecificExtended) ProtoMessage() {} 3634 3635 func (x *TwoOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { 3636 mi := &file_attribute_proto_msgTypes[49] 3637 if protoimpl.UnsafeEnabled && x != nil { 3638 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3639 if ms.LoadMessageInfo() == nil { 3640 ms.StoreMessageInfo(mi) 3641 } 3642 return ms 3643 } 3644 return mi.MessageOf(x) 3645 } 3646 3647 // Deprecated: Use TwoOctetAsSpecificExtended.ProtoReflect.Descriptor instead. 3648 func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { 3649 return file_attribute_proto_rawDescGZIP(), []int{49} 3650 } 3651 3652 func (x *TwoOctetAsSpecificExtended) GetIsTransitive() bool { 3653 if x != nil { 3654 return x.IsTransitive 3655 } 3656 return false 3657 } 3658 3659 func (x *TwoOctetAsSpecificExtended) GetSubType() uint32 { 3660 if x != nil { 3661 return x.SubType 3662 } 3663 return 0 3664 } 3665 3666 func (x *TwoOctetAsSpecificExtended) GetAsn() uint32 { 3667 if x != nil { 3668 return x.Asn 3669 } 3670 return 0 3671 } 3672 3673 func (x *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { 3674 if x != nil { 3675 return x.LocalAdmin 3676 } 3677 return 0 3678 } 3679 3680 type IPv4AddressSpecificExtended struct { 3681 state protoimpl.MessageState 3682 sizeCache protoimpl.SizeCache 3683 unknownFields protoimpl.UnknownFields 3684 3685 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` 3686 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` 3687 Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` 3688 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 3689 } 3690 3691 func (x *IPv4AddressSpecificExtended) Reset() { 3692 *x = IPv4AddressSpecificExtended{} 3693 if protoimpl.UnsafeEnabled { 3694 mi := &file_attribute_proto_msgTypes[50] 3695 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3696 ms.StoreMessageInfo(mi) 3697 } 3698 } 3699 3700 func (x *IPv4AddressSpecificExtended) String() string { 3701 return protoimpl.X.MessageStringOf(x) 3702 } 3703 3704 func (*IPv4AddressSpecificExtended) ProtoMessage() {} 3705 3706 func (x *IPv4AddressSpecificExtended) ProtoReflect() protoreflect.Message { 3707 mi := &file_attribute_proto_msgTypes[50] 3708 if protoimpl.UnsafeEnabled && x != nil { 3709 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3710 if ms.LoadMessageInfo() == nil { 3711 ms.StoreMessageInfo(mi) 3712 } 3713 return ms 3714 } 3715 return mi.MessageOf(x) 3716 } 3717 3718 // Deprecated: Use IPv4AddressSpecificExtended.ProtoReflect.Descriptor instead. 3719 func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { 3720 return file_attribute_proto_rawDescGZIP(), []int{50} 3721 } 3722 3723 func (x *IPv4AddressSpecificExtended) GetIsTransitive() bool { 3724 if x != nil { 3725 return x.IsTransitive 3726 } 3727 return false 3728 } 3729 3730 func (x *IPv4AddressSpecificExtended) GetSubType() uint32 { 3731 if x != nil { 3732 return x.SubType 3733 } 3734 return 0 3735 } 3736 3737 func (x *IPv4AddressSpecificExtended) GetAddress() string { 3738 if x != nil { 3739 return x.Address 3740 } 3741 return "" 3742 } 3743 3744 func (x *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 { 3745 if x != nil { 3746 return x.LocalAdmin 3747 } 3748 return 0 3749 } 3750 3751 type FourOctetAsSpecificExtended struct { 3752 state protoimpl.MessageState 3753 sizeCache protoimpl.SizeCache 3754 unknownFields protoimpl.UnknownFields 3755 3756 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` 3757 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` 3758 Asn uint32 `protobuf:"varint,3,opt,name=asn,proto3" json:"asn,omitempty"` 3759 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 3760 } 3761 3762 func (x *FourOctetAsSpecificExtended) Reset() { 3763 *x = FourOctetAsSpecificExtended{} 3764 if protoimpl.UnsafeEnabled { 3765 mi := &file_attribute_proto_msgTypes[51] 3766 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3767 ms.StoreMessageInfo(mi) 3768 } 3769 } 3770 3771 func (x *FourOctetAsSpecificExtended) String() string { 3772 return protoimpl.X.MessageStringOf(x) 3773 } 3774 3775 func (*FourOctetAsSpecificExtended) ProtoMessage() {} 3776 3777 func (x *FourOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { 3778 mi := &file_attribute_proto_msgTypes[51] 3779 if protoimpl.UnsafeEnabled && x != nil { 3780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3781 if ms.LoadMessageInfo() == nil { 3782 ms.StoreMessageInfo(mi) 3783 } 3784 return ms 3785 } 3786 return mi.MessageOf(x) 3787 } 3788 3789 // Deprecated: Use FourOctetAsSpecificExtended.ProtoReflect.Descriptor instead. 3790 func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { 3791 return file_attribute_proto_rawDescGZIP(), []int{51} 3792 } 3793 3794 func (x *FourOctetAsSpecificExtended) GetIsTransitive() bool { 3795 if x != nil { 3796 return x.IsTransitive 3797 } 3798 return false 3799 } 3800 3801 func (x *FourOctetAsSpecificExtended) GetSubType() uint32 { 3802 if x != nil { 3803 return x.SubType 3804 } 3805 return 0 3806 } 3807 3808 func (x *FourOctetAsSpecificExtended) GetAsn() uint32 { 3809 if x != nil { 3810 return x.Asn 3811 } 3812 return 0 3813 } 3814 3815 func (x *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 { 3816 if x != nil { 3817 return x.LocalAdmin 3818 } 3819 return 0 3820 } 3821 3822 type LinkBandwidthExtended struct { 3823 state protoimpl.MessageState 3824 sizeCache protoimpl.SizeCache 3825 unknownFields protoimpl.UnknownFields 3826 3827 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 3828 Bandwidth float32 `protobuf:"fixed32,2,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"` 3829 } 3830 3831 func (x *LinkBandwidthExtended) Reset() { 3832 *x = LinkBandwidthExtended{} 3833 if protoimpl.UnsafeEnabled { 3834 mi := &file_attribute_proto_msgTypes[52] 3835 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3836 ms.StoreMessageInfo(mi) 3837 } 3838 } 3839 3840 func (x *LinkBandwidthExtended) String() string { 3841 return protoimpl.X.MessageStringOf(x) 3842 } 3843 3844 func (*LinkBandwidthExtended) ProtoMessage() {} 3845 3846 func (x *LinkBandwidthExtended) ProtoReflect() protoreflect.Message { 3847 mi := &file_attribute_proto_msgTypes[52] 3848 if protoimpl.UnsafeEnabled && x != nil { 3849 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3850 if ms.LoadMessageInfo() == nil { 3851 ms.StoreMessageInfo(mi) 3852 } 3853 return ms 3854 } 3855 return mi.MessageOf(x) 3856 } 3857 3858 // Deprecated: Use LinkBandwidthExtended.ProtoReflect.Descriptor instead. 3859 func (*LinkBandwidthExtended) Descriptor() ([]byte, []int) { 3860 return file_attribute_proto_rawDescGZIP(), []int{52} 3861 } 3862 3863 func (x *LinkBandwidthExtended) GetAsn() uint32 { 3864 if x != nil { 3865 return x.Asn 3866 } 3867 return 0 3868 } 3869 3870 func (x *LinkBandwidthExtended) GetBandwidth() float32 { 3871 if x != nil { 3872 return x.Bandwidth 3873 } 3874 return 0 3875 } 3876 3877 type ValidationExtended struct { 3878 state protoimpl.MessageState 3879 sizeCache protoimpl.SizeCache 3880 unknownFields protoimpl.UnknownFields 3881 3882 State uint32 `protobuf:"varint,1,opt,name=state,proto3" json:"state,omitempty"` 3883 } 3884 3885 func (x *ValidationExtended) Reset() { 3886 *x = ValidationExtended{} 3887 if protoimpl.UnsafeEnabled { 3888 mi := &file_attribute_proto_msgTypes[53] 3889 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3890 ms.StoreMessageInfo(mi) 3891 } 3892 } 3893 3894 func (x *ValidationExtended) String() string { 3895 return protoimpl.X.MessageStringOf(x) 3896 } 3897 3898 func (*ValidationExtended) ProtoMessage() {} 3899 3900 func (x *ValidationExtended) ProtoReflect() protoreflect.Message { 3901 mi := &file_attribute_proto_msgTypes[53] 3902 if protoimpl.UnsafeEnabled && x != nil { 3903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3904 if ms.LoadMessageInfo() == nil { 3905 ms.StoreMessageInfo(mi) 3906 } 3907 return ms 3908 } 3909 return mi.MessageOf(x) 3910 } 3911 3912 // Deprecated: Use ValidationExtended.ProtoReflect.Descriptor instead. 3913 func (*ValidationExtended) Descriptor() ([]byte, []int) { 3914 return file_attribute_proto_rawDescGZIP(), []int{53} 3915 } 3916 3917 func (x *ValidationExtended) GetState() uint32 { 3918 if x != nil { 3919 return x.State 3920 } 3921 return 0 3922 } 3923 3924 type ColorExtended struct { 3925 state protoimpl.MessageState 3926 sizeCache protoimpl.SizeCache 3927 unknownFields protoimpl.UnknownFields 3928 3929 Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"` 3930 } 3931 3932 func (x *ColorExtended) Reset() { 3933 *x = ColorExtended{} 3934 if protoimpl.UnsafeEnabled { 3935 mi := &file_attribute_proto_msgTypes[54] 3936 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3937 ms.StoreMessageInfo(mi) 3938 } 3939 } 3940 3941 func (x *ColorExtended) String() string { 3942 return protoimpl.X.MessageStringOf(x) 3943 } 3944 3945 func (*ColorExtended) ProtoMessage() {} 3946 3947 func (x *ColorExtended) ProtoReflect() protoreflect.Message { 3948 mi := &file_attribute_proto_msgTypes[54] 3949 if protoimpl.UnsafeEnabled && x != nil { 3950 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3951 if ms.LoadMessageInfo() == nil { 3952 ms.StoreMessageInfo(mi) 3953 } 3954 return ms 3955 } 3956 return mi.MessageOf(x) 3957 } 3958 3959 // Deprecated: Use ColorExtended.ProtoReflect.Descriptor instead. 3960 func (*ColorExtended) Descriptor() ([]byte, []int) { 3961 return file_attribute_proto_rawDescGZIP(), []int{54} 3962 } 3963 3964 func (x *ColorExtended) GetColor() uint32 { 3965 if x != nil { 3966 return x.Color 3967 } 3968 return 0 3969 } 3970 3971 type EncapExtended struct { 3972 state protoimpl.MessageState 3973 sizeCache protoimpl.SizeCache 3974 unknownFields protoimpl.UnknownFields 3975 3976 TunnelType uint32 `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType,proto3" json:"tunnel_type,omitempty"` 3977 } 3978 3979 func (x *EncapExtended) Reset() { 3980 *x = EncapExtended{} 3981 if protoimpl.UnsafeEnabled { 3982 mi := &file_attribute_proto_msgTypes[55] 3983 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3984 ms.StoreMessageInfo(mi) 3985 } 3986 } 3987 3988 func (x *EncapExtended) String() string { 3989 return protoimpl.X.MessageStringOf(x) 3990 } 3991 3992 func (*EncapExtended) ProtoMessage() {} 3993 3994 func (x *EncapExtended) ProtoReflect() protoreflect.Message { 3995 mi := &file_attribute_proto_msgTypes[55] 3996 if protoimpl.UnsafeEnabled && x != nil { 3997 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3998 if ms.LoadMessageInfo() == nil { 3999 ms.StoreMessageInfo(mi) 4000 } 4001 return ms 4002 } 4003 return mi.MessageOf(x) 4004 } 4005 4006 // Deprecated: Use EncapExtended.ProtoReflect.Descriptor instead. 4007 func (*EncapExtended) Descriptor() ([]byte, []int) { 4008 return file_attribute_proto_rawDescGZIP(), []int{55} 4009 } 4010 4011 func (x *EncapExtended) GetTunnelType() uint32 { 4012 if x != nil { 4013 return x.TunnelType 4014 } 4015 return 0 4016 } 4017 4018 type DefaultGatewayExtended struct { 4019 state protoimpl.MessageState 4020 sizeCache protoimpl.SizeCache 4021 unknownFields protoimpl.UnknownFields 4022 } 4023 4024 func (x *DefaultGatewayExtended) Reset() { 4025 *x = DefaultGatewayExtended{} 4026 if protoimpl.UnsafeEnabled { 4027 mi := &file_attribute_proto_msgTypes[56] 4028 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4029 ms.StoreMessageInfo(mi) 4030 } 4031 } 4032 4033 func (x *DefaultGatewayExtended) String() string { 4034 return protoimpl.X.MessageStringOf(x) 4035 } 4036 4037 func (*DefaultGatewayExtended) ProtoMessage() {} 4038 4039 func (x *DefaultGatewayExtended) ProtoReflect() protoreflect.Message { 4040 mi := &file_attribute_proto_msgTypes[56] 4041 if protoimpl.UnsafeEnabled && x != nil { 4042 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4043 if ms.LoadMessageInfo() == nil { 4044 ms.StoreMessageInfo(mi) 4045 } 4046 return ms 4047 } 4048 return mi.MessageOf(x) 4049 } 4050 4051 // Deprecated: Use DefaultGatewayExtended.ProtoReflect.Descriptor instead. 4052 func (*DefaultGatewayExtended) Descriptor() ([]byte, []int) { 4053 return file_attribute_proto_rawDescGZIP(), []int{56} 4054 } 4055 4056 type OpaqueExtended struct { 4057 state protoimpl.MessageState 4058 sizeCache protoimpl.SizeCache 4059 unknownFields protoimpl.UnknownFields 4060 4061 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` 4062 Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 4063 } 4064 4065 func (x *OpaqueExtended) Reset() { 4066 *x = OpaqueExtended{} 4067 if protoimpl.UnsafeEnabled { 4068 mi := &file_attribute_proto_msgTypes[57] 4069 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4070 ms.StoreMessageInfo(mi) 4071 } 4072 } 4073 4074 func (x *OpaqueExtended) String() string { 4075 return protoimpl.X.MessageStringOf(x) 4076 } 4077 4078 func (*OpaqueExtended) ProtoMessage() {} 4079 4080 func (x *OpaqueExtended) ProtoReflect() protoreflect.Message { 4081 mi := &file_attribute_proto_msgTypes[57] 4082 if protoimpl.UnsafeEnabled && x != nil { 4083 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4084 if ms.LoadMessageInfo() == nil { 4085 ms.StoreMessageInfo(mi) 4086 } 4087 return ms 4088 } 4089 return mi.MessageOf(x) 4090 } 4091 4092 // Deprecated: Use OpaqueExtended.ProtoReflect.Descriptor instead. 4093 func (*OpaqueExtended) Descriptor() ([]byte, []int) { 4094 return file_attribute_proto_rawDescGZIP(), []int{57} 4095 } 4096 4097 func (x *OpaqueExtended) GetIsTransitive() bool { 4098 if x != nil { 4099 return x.IsTransitive 4100 } 4101 return false 4102 } 4103 4104 func (x *OpaqueExtended) GetValue() []byte { 4105 if x != nil { 4106 return x.Value 4107 } 4108 return nil 4109 } 4110 4111 type ESILabelExtended struct { 4112 state protoimpl.MessageState 4113 sizeCache protoimpl.SizeCache 4114 unknownFields protoimpl.UnknownFields 4115 4116 IsSingleActive bool `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive,proto3" json:"is_single_active,omitempty"` 4117 Label uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"` 4118 } 4119 4120 func (x *ESILabelExtended) Reset() { 4121 *x = ESILabelExtended{} 4122 if protoimpl.UnsafeEnabled { 4123 mi := &file_attribute_proto_msgTypes[58] 4124 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4125 ms.StoreMessageInfo(mi) 4126 } 4127 } 4128 4129 func (x *ESILabelExtended) String() string { 4130 return protoimpl.X.MessageStringOf(x) 4131 } 4132 4133 func (*ESILabelExtended) ProtoMessage() {} 4134 4135 func (x *ESILabelExtended) ProtoReflect() protoreflect.Message { 4136 mi := &file_attribute_proto_msgTypes[58] 4137 if protoimpl.UnsafeEnabled && x != nil { 4138 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4139 if ms.LoadMessageInfo() == nil { 4140 ms.StoreMessageInfo(mi) 4141 } 4142 return ms 4143 } 4144 return mi.MessageOf(x) 4145 } 4146 4147 // Deprecated: Use ESILabelExtended.ProtoReflect.Descriptor instead. 4148 func (*ESILabelExtended) Descriptor() ([]byte, []int) { 4149 return file_attribute_proto_rawDescGZIP(), []int{58} 4150 } 4151 4152 func (x *ESILabelExtended) GetIsSingleActive() bool { 4153 if x != nil { 4154 return x.IsSingleActive 4155 } 4156 return false 4157 } 4158 4159 func (x *ESILabelExtended) GetLabel() uint32 { 4160 if x != nil { 4161 return x.Label 4162 } 4163 return 0 4164 } 4165 4166 type ESImportRouteTarget struct { 4167 state protoimpl.MessageState 4168 sizeCache protoimpl.SizeCache 4169 unknownFields protoimpl.UnknownFields 4170 4171 EsImport string `protobuf:"bytes,1,opt,name=es_import,json=esImport,proto3" json:"es_import,omitempty"` 4172 } 4173 4174 func (x *ESImportRouteTarget) Reset() { 4175 *x = ESImportRouteTarget{} 4176 if protoimpl.UnsafeEnabled { 4177 mi := &file_attribute_proto_msgTypes[59] 4178 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4179 ms.StoreMessageInfo(mi) 4180 } 4181 } 4182 4183 func (x *ESImportRouteTarget) String() string { 4184 return protoimpl.X.MessageStringOf(x) 4185 } 4186 4187 func (*ESImportRouteTarget) ProtoMessage() {} 4188 4189 func (x *ESImportRouteTarget) ProtoReflect() protoreflect.Message { 4190 mi := &file_attribute_proto_msgTypes[59] 4191 if protoimpl.UnsafeEnabled && x != nil { 4192 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4193 if ms.LoadMessageInfo() == nil { 4194 ms.StoreMessageInfo(mi) 4195 } 4196 return ms 4197 } 4198 return mi.MessageOf(x) 4199 } 4200 4201 // Deprecated: Use ESImportRouteTarget.ProtoReflect.Descriptor instead. 4202 func (*ESImportRouteTarget) Descriptor() ([]byte, []int) { 4203 return file_attribute_proto_rawDescGZIP(), []int{59} 4204 } 4205 4206 func (x *ESImportRouteTarget) GetEsImport() string { 4207 if x != nil { 4208 return x.EsImport 4209 } 4210 return "" 4211 } 4212 4213 type MacMobilityExtended struct { 4214 state protoimpl.MessageState 4215 sizeCache protoimpl.SizeCache 4216 unknownFields protoimpl.UnknownFields 4217 4218 IsSticky bool `protobuf:"varint,1,opt,name=is_sticky,json=isSticky,proto3" json:"is_sticky,omitempty"` 4219 SequenceNum uint32 `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum,proto3" json:"sequence_num,omitempty"` 4220 } 4221 4222 func (x *MacMobilityExtended) Reset() { 4223 *x = MacMobilityExtended{} 4224 if protoimpl.UnsafeEnabled { 4225 mi := &file_attribute_proto_msgTypes[60] 4226 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4227 ms.StoreMessageInfo(mi) 4228 } 4229 } 4230 4231 func (x *MacMobilityExtended) String() string { 4232 return protoimpl.X.MessageStringOf(x) 4233 } 4234 4235 func (*MacMobilityExtended) ProtoMessage() {} 4236 4237 func (x *MacMobilityExtended) ProtoReflect() protoreflect.Message { 4238 mi := &file_attribute_proto_msgTypes[60] 4239 if protoimpl.UnsafeEnabled && x != nil { 4240 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4241 if ms.LoadMessageInfo() == nil { 4242 ms.StoreMessageInfo(mi) 4243 } 4244 return ms 4245 } 4246 return mi.MessageOf(x) 4247 } 4248 4249 // Deprecated: Use MacMobilityExtended.ProtoReflect.Descriptor instead. 4250 func (*MacMobilityExtended) Descriptor() ([]byte, []int) { 4251 return file_attribute_proto_rawDescGZIP(), []int{60} 4252 } 4253 4254 func (x *MacMobilityExtended) GetIsSticky() bool { 4255 if x != nil { 4256 return x.IsSticky 4257 } 4258 return false 4259 } 4260 4261 func (x *MacMobilityExtended) GetSequenceNum() uint32 { 4262 if x != nil { 4263 return x.SequenceNum 4264 } 4265 return 0 4266 } 4267 4268 type RouterMacExtended struct { 4269 state protoimpl.MessageState 4270 sizeCache protoimpl.SizeCache 4271 unknownFields protoimpl.UnknownFields 4272 4273 Mac string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"` 4274 } 4275 4276 func (x *RouterMacExtended) Reset() { 4277 *x = RouterMacExtended{} 4278 if protoimpl.UnsafeEnabled { 4279 mi := &file_attribute_proto_msgTypes[61] 4280 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4281 ms.StoreMessageInfo(mi) 4282 } 4283 } 4284 4285 func (x *RouterMacExtended) String() string { 4286 return protoimpl.X.MessageStringOf(x) 4287 } 4288 4289 func (*RouterMacExtended) ProtoMessage() {} 4290 4291 func (x *RouterMacExtended) ProtoReflect() protoreflect.Message { 4292 mi := &file_attribute_proto_msgTypes[61] 4293 if protoimpl.UnsafeEnabled && x != nil { 4294 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4295 if ms.LoadMessageInfo() == nil { 4296 ms.StoreMessageInfo(mi) 4297 } 4298 return ms 4299 } 4300 return mi.MessageOf(x) 4301 } 4302 4303 // Deprecated: Use RouterMacExtended.ProtoReflect.Descriptor instead. 4304 func (*RouterMacExtended) Descriptor() ([]byte, []int) { 4305 return file_attribute_proto_rawDescGZIP(), []int{61} 4306 } 4307 4308 func (x *RouterMacExtended) GetMac() string { 4309 if x != nil { 4310 return x.Mac 4311 } 4312 return "" 4313 } 4314 4315 type TrafficRateExtended struct { 4316 state protoimpl.MessageState 4317 sizeCache protoimpl.SizeCache 4318 unknownFields protoimpl.UnknownFields 4319 4320 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 4321 Rate float32 `protobuf:"fixed32,2,opt,name=rate,proto3" json:"rate,omitempty"` 4322 } 4323 4324 func (x *TrafficRateExtended) Reset() { 4325 *x = TrafficRateExtended{} 4326 if protoimpl.UnsafeEnabled { 4327 mi := &file_attribute_proto_msgTypes[62] 4328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4329 ms.StoreMessageInfo(mi) 4330 } 4331 } 4332 4333 func (x *TrafficRateExtended) String() string { 4334 return protoimpl.X.MessageStringOf(x) 4335 } 4336 4337 func (*TrafficRateExtended) ProtoMessage() {} 4338 4339 func (x *TrafficRateExtended) ProtoReflect() protoreflect.Message { 4340 mi := &file_attribute_proto_msgTypes[62] 4341 if protoimpl.UnsafeEnabled && x != nil { 4342 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4343 if ms.LoadMessageInfo() == nil { 4344 ms.StoreMessageInfo(mi) 4345 } 4346 return ms 4347 } 4348 return mi.MessageOf(x) 4349 } 4350 4351 // Deprecated: Use TrafficRateExtended.ProtoReflect.Descriptor instead. 4352 func (*TrafficRateExtended) Descriptor() ([]byte, []int) { 4353 return file_attribute_proto_rawDescGZIP(), []int{62} 4354 } 4355 4356 func (x *TrafficRateExtended) GetAsn() uint32 { 4357 if x != nil { 4358 return x.Asn 4359 } 4360 return 0 4361 } 4362 4363 func (x *TrafficRateExtended) GetRate() float32 { 4364 if x != nil { 4365 return x.Rate 4366 } 4367 return 0 4368 } 4369 4370 type TrafficActionExtended struct { 4371 state protoimpl.MessageState 4372 sizeCache protoimpl.SizeCache 4373 unknownFields protoimpl.UnknownFields 4374 4375 Terminal bool `protobuf:"varint,1,opt,name=terminal,proto3" json:"terminal,omitempty"` 4376 Sample bool `protobuf:"varint,2,opt,name=sample,proto3" json:"sample,omitempty"` 4377 } 4378 4379 func (x *TrafficActionExtended) Reset() { 4380 *x = TrafficActionExtended{} 4381 if protoimpl.UnsafeEnabled { 4382 mi := &file_attribute_proto_msgTypes[63] 4383 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4384 ms.StoreMessageInfo(mi) 4385 } 4386 } 4387 4388 func (x *TrafficActionExtended) String() string { 4389 return protoimpl.X.MessageStringOf(x) 4390 } 4391 4392 func (*TrafficActionExtended) ProtoMessage() {} 4393 4394 func (x *TrafficActionExtended) ProtoReflect() protoreflect.Message { 4395 mi := &file_attribute_proto_msgTypes[63] 4396 if protoimpl.UnsafeEnabled && x != nil { 4397 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4398 if ms.LoadMessageInfo() == nil { 4399 ms.StoreMessageInfo(mi) 4400 } 4401 return ms 4402 } 4403 return mi.MessageOf(x) 4404 } 4405 4406 // Deprecated: Use TrafficActionExtended.ProtoReflect.Descriptor instead. 4407 func (*TrafficActionExtended) Descriptor() ([]byte, []int) { 4408 return file_attribute_proto_rawDescGZIP(), []int{63} 4409 } 4410 4411 func (x *TrafficActionExtended) GetTerminal() bool { 4412 if x != nil { 4413 return x.Terminal 4414 } 4415 return false 4416 } 4417 4418 func (x *TrafficActionExtended) GetSample() bool { 4419 if x != nil { 4420 return x.Sample 4421 } 4422 return false 4423 } 4424 4425 type RedirectTwoOctetAsSpecificExtended struct { 4426 state protoimpl.MessageState 4427 sizeCache protoimpl.SizeCache 4428 unknownFields protoimpl.UnknownFields 4429 4430 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 4431 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 4432 } 4433 4434 func (x *RedirectTwoOctetAsSpecificExtended) Reset() { 4435 *x = RedirectTwoOctetAsSpecificExtended{} 4436 if protoimpl.UnsafeEnabled { 4437 mi := &file_attribute_proto_msgTypes[64] 4438 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4439 ms.StoreMessageInfo(mi) 4440 } 4441 } 4442 4443 func (x *RedirectTwoOctetAsSpecificExtended) String() string { 4444 return protoimpl.X.MessageStringOf(x) 4445 } 4446 4447 func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage() {} 4448 4449 func (x *RedirectTwoOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { 4450 mi := &file_attribute_proto_msgTypes[64] 4451 if protoimpl.UnsafeEnabled && x != nil { 4452 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4453 if ms.LoadMessageInfo() == nil { 4454 ms.StoreMessageInfo(mi) 4455 } 4456 return ms 4457 } 4458 return mi.MessageOf(x) 4459 } 4460 4461 // Deprecated: Use RedirectTwoOctetAsSpecificExtended.ProtoReflect.Descriptor instead. 4462 func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { 4463 return file_attribute_proto_rawDescGZIP(), []int{64} 4464 } 4465 4466 func (x *RedirectTwoOctetAsSpecificExtended) GetAsn() uint32 { 4467 if x != nil { 4468 return x.Asn 4469 } 4470 return 0 4471 } 4472 4473 func (x *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { 4474 if x != nil { 4475 return x.LocalAdmin 4476 } 4477 return 0 4478 } 4479 4480 type RedirectIPv4AddressSpecificExtended struct { 4481 state protoimpl.MessageState 4482 sizeCache protoimpl.SizeCache 4483 unknownFields protoimpl.UnknownFields 4484 4485 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 4486 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 4487 } 4488 4489 func (x *RedirectIPv4AddressSpecificExtended) Reset() { 4490 *x = RedirectIPv4AddressSpecificExtended{} 4491 if protoimpl.UnsafeEnabled { 4492 mi := &file_attribute_proto_msgTypes[65] 4493 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4494 ms.StoreMessageInfo(mi) 4495 } 4496 } 4497 4498 func (x *RedirectIPv4AddressSpecificExtended) String() string { 4499 return protoimpl.X.MessageStringOf(x) 4500 } 4501 4502 func (*RedirectIPv4AddressSpecificExtended) ProtoMessage() {} 4503 4504 func (x *RedirectIPv4AddressSpecificExtended) ProtoReflect() protoreflect.Message { 4505 mi := &file_attribute_proto_msgTypes[65] 4506 if protoimpl.UnsafeEnabled && x != nil { 4507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4508 if ms.LoadMessageInfo() == nil { 4509 ms.StoreMessageInfo(mi) 4510 } 4511 return ms 4512 } 4513 return mi.MessageOf(x) 4514 } 4515 4516 // Deprecated: Use RedirectIPv4AddressSpecificExtended.ProtoReflect.Descriptor instead. 4517 func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { 4518 return file_attribute_proto_rawDescGZIP(), []int{65} 4519 } 4520 4521 func (x *RedirectIPv4AddressSpecificExtended) GetAddress() string { 4522 if x != nil { 4523 return x.Address 4524 } 4525 return "" 4526 } 4527 4528 func (x *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 { 4529 if x != nil { 4530 return x.LocalAdmin 4531 } 4532 return 0 4533 } 4534 4535 type RedirectFourOctetAsSpecificExtended struct { 4536 state protoimpl.MessageState 4537 sizeCache protoimpl.SizeCache 4538 unknownFields protoimpl.UnknownFields 4539 4540 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 4541 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 4542 } 4543 4544 func (x *RedirectFourOctetAsSpecificExtended) Reset() { 4545 *x = RedirectFourOctetAsSpecificExtended{} 4546 if protoimpl.UnsafeEnabled { 4547 mi := &file_attribute_proto_msgTypes[66] 4548 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4549 ms.StoreMessageInfo(mi) 4550 } 4551 } 4552 4553 func (x *RedirectFourOctetAsSpecificExtended) String() string { 4554 return protoimpl.X.MessageStringOf(x) 4555 } 4556 4557 func (*RedirectFourOctetAsSpecificExtended) ProtoMessage() {} 4558 4559 func (x *RedirectFourOctetAsSpecificExtended) ProtoReflect() protoreflect.Message { 4560 mi := &file_attribute_proto_msgTypes[66] 4561 if protoimpl.UnsafeEnabled && x != nil { 4562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4563 if ms.LoadMessageInfo() == nil { 4564 ms.StoreMessageInfo(mi) 4565 } 4566 return ms 4567 } 4568 return mi.MessageOf(x) 4569 } 4570 4571 // Deprecated: Use RedirectFourOctetAsSpecificExtended.ProtoReflect.Descriptor instead. 4572 func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { 4573 return file_attribute_proto_rawDescGZIP(), []int{66} 4574 } 4575 4576 func (x *RedirectFourOctetAsSpecificExtended) GetAsn() uint32 { 4577 if x != nil { 4578 return x.Asn 4579 } 4580 return 0 4581 } 4582 4583 func (x *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 { 4584 if x != nil { 4585 return x.LocalAdmin 4586 } 4587 return 0 4588 } 4589 4590 type TrafficRemarkExtended struct { 4591 state protoimpl.MessageState 4592 sizeCache protoimpl.SizeCache 4593 unknownFields protoimpl.UnknownFields 4594 4595 Dscp uint32 `protobuf:"varint,1,opt,name=dscp,proto3" json:"dscp,omitempty"` 4596 } 4597 4598 func (x *TrafficRemarkExtended) Reset() { 4599 *x = TrafficRemarkExtended{} 4600 if protoimpl.UnsafeEnabled { 4601 mi := &file_attribute_proto_msgTypes[67] 4602 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4603 ms.StoreMessageInfo(mi) 4604 } 4605 } 4606 4607 func (x *TrafficRemarkExtended) String() string { 4608 return protoimpl.X.MessageStringOf(x) 4609 } 4610 4611 func (*TrafficRemarkExtended) ProtoMessage() {} 4612 4613 func (x *TrafficRemarkExtended) ProtoReflect() protoreflect.Message { 4614 mi := &file_attribute_proto_msgTypes[67] 4615 if protoimpl.UnsafeEnabled && x != nil { 4616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4617 if ms.LoadMessageInfo() == nil { 4618 ms.StoreMessageInfo(mi) 4619 } 4620 return ms 4621 } 4622 return mi.MessageOf(x) 4623 } 4624 4625 // Deprecated: Use TrafficRemarkExtended.ProtoReflect.Descriptor instead. 4626 func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) { 4627 return file_attribute_proto_rawDescGZIP(), []int{67} 4628 } 4629 4630 func (x *TrafficRemarkExtended) GetDscp() uint32 { 4631 if x != nil { 4632 return x.Dscp 4633 } 4634 return 0 4635 } 4636 4637 type MUPExtended struct { 4638 state protoimpl.MessageState 4639 sizeCache protoimpl.SizeCache 4640 unknownFields protoimpl.UnknownFields 4641 4642 SubType uint32 `protobuf:"varint,1,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` 4643 SegmentId2 uint32 `protobuf:"varint,2,opt,name=segment_id2,json=segmentId2,proto3" json:"segment_id2,omitempty"` 4644 SegmentId4 uint32 `protobuf:"varint,3,opt,name=segment_id4,json=segmentId4,proto3" json:"segment_id4,omitempty"` 4645 } 4646 4647 func (x *MUPExtended) Reset() { 4648 *x = MUPExtended{} 4649 if protoimpl.UnsafeEnabled { 4650 mi := &file_attribute_proto_msgTypes[68] 4651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4652 ms.StoreMessageInfo(mi) 4653 } 4654 } 4655 4656 func (x *MUPExtended) String() string { 4657 return protoimpl.X.MessageStringOf(x) 4658 } 4659 4660 func (*MUPExtended) ProtoMessage() {} 4661 4662 func (x *MUPExtended) ProtoReflect() protoreflect.Message { 4663 mi := &file_attribute_proto_msgTypes[68] 4664 if protoimpl.UnsafeEnabled && x != nil { 4665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4666 if ms.LoadMessageInfo() == nil { 4667 ms.StoreMessageInfo(mi) 4668 } 4669 return ms 4670 } 4671 return mi.MessageOf(x) 4672 } 4673 4674 // Deprecated: Use MUPExtended.ProtoReflect.Descriptor instead. 4675 func (*MUPExtended) Descriptor() ([]byte, []int) { 4676 return file_attribute_proto_rawDescGZIP(), []int{68} 4677 } 4678 4679 func (x *MUPExtended) GetSubType() uint32 { 4680 if x != nil { 4681 return x.SubType 4682 } 4683 return 0 4684 } 4685 4686 func (x *MUPExtended) GetSegmentId2() uint32 { 4687 if x != nil { 4688 return x.SegmentId2 4689 } 4690 return 0 4691 } 4692 4693 func (x *MUPExtended) GetSegmentId4() uint32 { 4694 if x != nil { 4695 return x.SegmentId4 4696 } 4697 return 0 4698 } 4699 4700 type VPLSExtended struct { 4701 state protoimpl.MessageState 4702 sizeCache protoimpl.SizeCache 4703 unknownFields protoimpl.UnknownFields 4704 4705 ControlFlags uint32 `protobuf:"varint,1,opt,name=control_flags,json=controlFlags,proto3" json:"control_flags,omitempty"` 4706 Mtu uint32 `protobuf:"varint,2,opt,name=mtu,proto3" json:"mtu,omitempty"` 4707 } 4708 4709 func (x *VPLSExtended) Reset() { 4710 *x = VPLSExtended{} 4711 if protoimpl.UnsafeEnabled { 4712 mi := &file_attribute_proto_msgTypes[69] 4713 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4714 ms.StoreMessageInfo(mi) 4715 } 4716 } 4717 4718 func (x *VPLSExtended) String() string { 4719 return protoimpl.X.MessageStringOf(x) 4720 } 4721 4722 func (*VPLSExtended) ProtoMessage() {} 4723 4724 func (x *VPLSExtended) ProtoReflect() protoreflect.Message { 4725 mi := &file_attribute_proto_msgTypes[69] 4726 if protoimpl.UnsafeEnabled && x != nil { 4727 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4728 if ms.LoadMessageInfo() == nil { 4729 ms.StoreMessageInfo(mi) 4730 } 4731 return ms 4732 } 4733 return mi.MessageOf(x) 4734 } 4735 4736 // Deprecated: Use VPLSExtended.ProtoReflect.Descriptor instead. 4737 func (*VPLSExtended) Descriptor() ([]byte, []int) { 4738 return file_attribute_proto_rawDescGZIP(), []int{69} 4739 } 4740 4741 func (x *VPLSExtended) GetControlFlags() uint32 { 4742 if x != nil { 4743 return x.ControlFlags 4744 } 4745 return 0 4746 } 4747 4748 func (x *VPLSExtended) GetMtu() uint32 { 4749 if x != nil { 4750 return x.Mtu 4751 } 4752 return 0 4753 } 4754 4755 type UnknownExtended struct { 4756 state protoimpl.MessageState 4757 sizeCache protoimpl.SizeCache 4758 unknownFields protoimpl.UnknownFields 4759 4760 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 4761 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 4762 } 4763 4764 func (x *UnknownExtended) Reset() { 4765 *x = UnknownExtended{} 4766 if protoimpl.UnsafeEnabled { 4767 mi := &file_attribute_proto_msgTypes[70] 4768 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4769 ms.StoreMessageInfo(mi) 4770 } 4771 } 4772 4773 func (x *UnknownExtended) String() string { 4774 return protoimpl.X.MessageStringOf(x) 4775 } 4776 4777 func (*UnknownExtended) ProtoMessage() {} 4778 4779 func (x *UnknownExtended) ProtoReflect() protoreflect.Message { 4780 mi := &file_attribute_proto_msgTypes[70] 4781 if protoimpl.UnsafeEnabled && x != nil { 4782 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4783 if ms.LoadMessageInfo() == nil { 4784 ms.StoreMessageInfo(mi) 4785 } 4786 return ms 4787 } 4788 return mi.MessageOf(x) 4789 } 4790 4791 // Deprecated: Use UnknownExtended.ProtoReflect.Descriptor instead. 4792 func (*UnknownExtended) Descriptor() ([]byte, []int) { 4793 return file_attribute_proto_rawDescGZIP(), []int{70} 4794 } 4795 4796 func (x *UnknownExtended) GetType() uint32 { 4797 if x != nil { 4798 return x.Type 4799 } 4800 return 0 4801 } 4802 4803 func (x *UnknownExtended) GetValue() []byte { 4804 if x != nil { 4805 return x.Value 4806 } 4807 return nil 4808 } 4809 4810 type ExtendedCommunitiesAttribute struct { 4811 state protoimpl.MessageState 4812 sizeCache protoimpl.SizeCache 4813 unknownFields protoimpl.UnknownFields 4814 4815 // Each Community must be one of: 4816 // - TwoOctetAsSpecificExtended 4817 // - IPv4AddressSpecificExtended 4818 // - FourOctetAsSpecificExtended 4819 // - OpaqueExtended 4820 // - ESILabelExtended 4821 // - MacMobilityExtended 4822 // - RouterMacExtended 4823 // - TrafficRateExtended 4824 // - TrafficActionExtended 4825 // - RedirectTwoOctetAsSpecificExtended 4826 // - RedirectIPv4AddressSpecificExtended 4827 // - RedirectFourOctetAsSpecificExtended 4828 // - TrafficRemarkExtended 4829 // - MUPExtended 4830 // - VPLSExtended 4831 // - UnknownExtended 4832 Communities []*anypb.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` 4833 } 4834 4835 func (x *ExtendedCommunitiesAttribute) Reset() { 4836 *x = ExtendedCommunitiesAttribute{} 4837 if protoimpl.UnsafeEnabled { 4838 mi := &file_attribute_proto_msgTypes[71] 4839 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4840 ms.StoreMessageInfo(mi) 4841 } 4842 } 4843 4844 func (x *ExtendedCommunitiesAttribute) String() string { 4845 return protoimpl.X.MessageStringOf(x) 4846 } 4847 4848 func (*ExtendedCommunitiesAttribute) ProtoMessage() {} 4849 4850 func (x *ExtendedCommunitiesAttribute) ProtoReflect() protoreflect.Message { 4851 mi := &file_attribute_proto_msgTypes[71] 4852 if protoimpl.UnsafeEnabled && x != nil { 4853 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4854 if ms.LoadMessageInfo() == nil { 4855 ms.StoreMessageInfo(mi) 4856 } 4857 return ms 4858 } 4859 return mi.MessageOf(x) 4860 } 4861 4862 // Deprecated: Use ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead. 4863 func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { 4864 return file_attribute_proto_rawDescGZIP(), []int{71} 4865 } 4866 4867 func (x *ExtendedCommunitiesAttribute) GetCommunities() []*anypb.Any { 4868 if x != nil { 4869 return x.Communities 4870 } 4871 return nil 4872 } 4873 4874 type As4PathAttribute struct { 4875 state protoimpl.MessageState 4876 sizeCache protoimpl.SizeCache 4877 unknownFields protoimpl.UnknownFields 4878 4879 Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments,proto3" json:"segments,omitempty"` 4880 } 4881 4882 func (x *As4PathAttribute) Reset() { 4883 *x = As4PathAttribute{} 4884 if protoimpl.UnsafeEnabled { 4885 mi := &file_attribute_proto_msgTypes[72] 4886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4887 ms.StoreMessageInfo(mi) 4888 } 4889 } 4890 4891 func (x *As4PathAttribute) String() string { 4892 return protoimpl.X.MessageStringOf(x) 4893 } 4894 4895 func (*As4PathAttribute) ProtoMessage() {} 4896 4897 func (x *As4PathAttribute) ProtoReflect() protoreflect.Message { 4898 mi := &file_attribute_proto_msgTypes[72] 4899 if protoimpl.UnsafeEnabled && x != nil { 4900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4901 if ms.LoadMessageInfo() == nil { 4902 ms.StoreMessageInfo(mi) 4903 } 4904 return ms 4905 } 4906 return mi.MessageOf(x) 4907 } 4908 4909 // Deprecated: Use As4PathAttribute.ProtoReflect.Descriptor instead. 4910 func (*As4PathAttribute) Descriptor() ([]byte, []int) { 4911 return file_attribute_proto_rawDescGZIP(), []int{72} 4912 } 4913 4914 func (x *As4PathAttribute) GetSegments() []*AsSegment { 4915 if x != nil { 4916 return x.Segments 4917 } 4918 return nil 4919 } 4920 4921 type As4AggregatorAttribute struct { 4922 state protoimpl.MessageState 4923 sizeCache protoimpl.SizeCache 4924 unknownFields protoimpl.UnknownFields 4925 4926 Asn uint32 `protobuf:"varint,2,opt,name=asn,proto3" json:"asn,omitempty"` 4927 Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` 4928 } 4929 4930 func (x *As4AggregatorAttribute) Reset() { 4931 *x = As4AggregatorAttribute{} 4932 if protoimpl.UnsafeEnabled { 4933 mi := &file_attribute_proto_msgTypes[73] 4934 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4935 ms.StoreMessageInfo(mi) 4936 } 4937 } 4938 4939 func (x *As4AggregatorAttribute) String() string { 4940 return protoimpl.X.MessageStringOf(x) 4941 } 4942 4943 func (*As4AggregatorAttribute) ProtoMessage() {} 4944 4945 func (x *As4AggregatorAttribute) ProtoReflect() protoreflect.Message { 4946 mi := &file_attribute_proto_msgTypes[73] 4947 if protoimpl.UnsafeEnabled && x != nil { 4948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4949 if ms.LoadMessageInfo() == nil { 4950 ms.StoreMessageInfo(mi) 4951 } 4952 return ms 4953 } 4954 return mi.MessageOf(x) 4955 } 4956 4957 // Deprecated: Use As4AggregatorAttribute.ProtoReflect.Descriptor instead. 4958 func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) { 4959 return file_attribute_proto_rawDescGZIP(), []int{73} 4960 } 4961 4962 func (x *As4AggregatorAttribute) GetAsn() uint32 { 4963 if x != nil { 4964 return x.Asn 4965 } 4966 return 0 4967 } 4968 4969 func (x *As4AggregatorAttribute) GetAddress() string { 4970 if x != nil { 4971 return x.Address 4972 } 4973 return "" 4974 } 4975 4976 type PmsiTunnelAttribute struct { 4977 state protoimpl.MessageState 4978 sizeCache protoimpl.SizeCache 4979 unknownFields protoimpl.UnknownFields 4980 4981 Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` 4982 Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` 4983 Label uint32 `protobuf:"varint,3,opt,name=label,proto3" json:"label,omitempty"` 4984 Id []byte `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` 4985 } 4986 4987 func (x *PmsiTunnelAttribute) Reset() { 4988 *x = PmsiTunnelAttribute{} 4989 if protoimpl.UnsafeEnabled { 4990 mi := &file_attribute_proto_msgTypes[74] 4991 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4992 ms.StoreMessageInfo(mi) 4993 } 4994 } 4995 4996 func (x *PmsiTunnelAttribute) String() string { 4997 return protoimpl.X.MessageStringOf(x) 4998 } 4999 5000 func (*PmsiTunnelAttribute) ProtoMessage() {} 5001 5002 func (x *PmsiTunnelAttribute) ProtoReflect() protoreflect.Message { 5003 mi := &file_attribute_proto_msgTypes[74] 5004 if protoimpl.UnsafeEnabled && x != nil { 5005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5006 if ms.LoadMessageInfo() == nil { 5007 ms.StoreMessageInfo(mi) 5008 } 5009 return ms 5010 } 5011 return mi.MessageOf(x) 5012 } 5013 5014 // Deprecated: Use PmsiTunnelAttribute.ProtoReflect.Descriptor instead. 5015 func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) { 5016 return file_attribute_proto_rawDescGZIP(), []int{74} 5017 } 5018 5019 func (x *PmsiTunnelAttribute) GetFlags() uint32 { 5020 if x != nil { 5021 return x.Flags 5022 } 5023 return 0 5024 } 5025 5026 func (x *PmsiTunnelAttribute) GetType() uint32 { 5027 if x != nil { 5028 return x.Type 5029 } 5030 return 0 5031 } 5032 5033 func (x *PmsiTunnelAttribute) GetLabel() uint32 { 5034 if x != nil { 5035 return x.Label 5036 } 5037 return 0 5038 } 5039 5040 func (x *PmsiTunnelAttribute) GetId() []byte { 5041 if x != nil { 5042 return x.Id 5043 } 5044 return nil 5045 } 5046 5047 type TunnelEncapSubTLVEncapsulation struct { 5048 state protoimpl.MessageState 5049 sizeCache protoimpl.SizeCache 5050 unknownFields protoimpl.UnknownFields 5051 5052 Key uint32 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` 5053 Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"` 5054 } 5055 5056 func (x *TunnelEncapSubTLVEncapsulation) Reset() { 5057 *x = TunnelEncapSubTLVEncapsulation{} 5058 if protoimpl.UnsafeEnabled { 5059 mi := &file_attribute_proto_msgTypes[75] 5060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5061 ms.StoreMessageInfo(mi) 5062 } 5063 } 5064 5065 func (x *TunnelEncapSubTLVEncapsulation) String() string { 5066 return protoimpl.X.MessageStringOf(x) 5067 } 5068 5069 func (*TunnelEncapSubTLVEncapsulation) ProtoMessage() {} 5070 5071 func (x *TunnelEncapSubTLVEncapsulation) ProtoReflect() protoreflect.Message { 5072 mi := &file_attribute_proto_msgTypes[75] 5073 if protoimpl.UnsafeEnabled && x != nil { 5074 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5075 if ms.LoadMessageInfo() == nil { 5076 ms.StoreMessageInfo(mi) 5077 } 5078 return ms 5079 } 5080 return mi.MessageOf(x) 5081 } 5082 5083 // Deprecated: Use TunnelEncapSubTLVEncapsulation.ProtoReflect.Descriptor instead. 5084 func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) { 5085 return file_attribute_proto_rawDescGZIP(), []int{75} 5086 } 5087 5088 func (x *TunnelEncapSubTLVEncapsulation) GetKey() uint32 { 5089 if x != nil { 5090 return x.Key 5091 } 5092 return 0 5093 } 5094 5095 func (x *TunnelEncapSubTLVEncapsulation) GetCookie() []byte { 5096 if x != nil { 5097 return x.Cookie 5098 } 5099 return nil 5100 } 5101 5102 type TunnelEncapSubTLVProtocol struct { 5103 state protoimpl.MessageState 5104 sizeCache protoimpl.SizeCache 5105 unknownFields protoimpl.UnknownFields 5106 5107 Protocol uint32 `protobuf:"varint,1,opt,name=protocol,proto3" json:"protocol,omitempty"` 5108 } 5109 5110 func (x *TunnelEncapSubTLVProtocol) Reset() { 5111 *x = TunnelEncapSubTLVProtocol{} 5112 if protoimpl.UnsafeEnabled { 5113 mi := &file_attribute_proto_msgTypes[76] 5114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5115 ms.StoreMessageInfo(mi) 5116 } 5117 } 5118 5119 func (x *TunnelEncapSubTLVProtocol) String() string { 5120 return protoimpl.X.MessageStringOf(x) 5121 } 5122 5123 func (*TunnelEncapSubTLVProtocol) ProtoMessage() {} 5124 5125 func (x *TunnelEncapSubTLVProtocol) ProtoReflect() protoreflect.Message { 5126 mi := &file_attribute_proto_msgTypes[76] 5127 if protoimpl.UnsafeEnabled && x != nil { 5128 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5129 if ms.LoadMessageInfo() == nil { 5130 ms.StoreMessageInfo(mi) 5131 } 5132 return ms 5133 } 5134 return mi.MessageOf(x) 5135 } 5136 5137 // Deprecated: Use TunnelEncapSubTLVProtocol.ProtoReflect.Descriptor instead. 5138 func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) { 5139 return file_attribute_proto_rawDescGZIP(), []int{76} 5140 } 5141 5142 func (x *TunnelEncapSubTLVProtocol) GetProtocol() uint32 { 5143 if x != nil { 5144 return x.Protocol 5145 } 5146 return 0 5147 } 5148 5149 type TunnelEncapSubTLVColor struct { 5150 state protoimpl.MessageState 5151 sizeCache protoimpl.SizeCache 5152 unknownFields protoimpl.UnknownFields 5153 5154 Color uint32 `protobuf:"varint,1,opt,name=color,proto3" json:"color,omitempty"` 5155 } 5156 5157 func (x *TunnelEncapSubTLVColor) Reset() { 5158 *x = TunnelEncapSubTLVColor{} 5159 if protoimpl.UnsafeEnabled { 5160 mi := &file_attribute_proto_msgTypes[77] 5161 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5162 ms.StoreMessageInfo(mi) 5163 } 5164 } 5165 5166 func (x *TunnelEncapSubTLVColor) String() string { 5167 return protoimpl.X.MessageStringOf(x) 5168 } 5169 5170 func (*TunnelEncapSubTLVColor) ProtoMessage() {} 5171 5172 func (x *TunnelEncapSubTLVColor) ProtoReflect() protoreflect.Message { 5173 mi := &file_attribute_proto_msgTypes[77] 5174 if protoimpl.UnsafeEnabled && x != nil { 5175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5176 if ms.LoadMessageInfo() == nil { 5177 ms.StoreMessageInfo(mi) 5178 } 5179 return ms 5180 } 5181 return mi.MessageOf(x) 5182 } 5183 5184 // Deprecated: Use TunnelEncapSubTLVColor.ProtoReflect.Descriptor instead. 5185 func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) { 5186 return file_attribute_proto_rawDescGZIP(), []int{77} 5187 } 5188 5189 func (x *TunnelEncapSubTLVColor) GetColor() uint32 { 5190 if x != nil { 5191 return x.Color 5192 } 5193 return 0 5194 } 5195 5196 type TunnelEncapSubTLVSRPreference struct { 5197 state protoimpl.MessageState 5198 sizeCache protoimpl.SizeCache 5199 unknownFields protoimpl.UnknownFields 5200 5201 Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` 5202 Preference uint32 `protobuf:"varint,2,opt,name=preference,proto3" json:"preference,omitempty"` 5203 } 5204 5205 func (x *TunnelEncapSubTLVSRPreference) Reset() { 5206 *x = TunnelEncapSubTLVSRPreference{} 5207 if protoimpl.UnsafeEnabled { 5208 mi := &file_attribute_proto_msgTypes[78] 5209 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5210 ms.StoreMessageInfo(mi) 5211 } 5212 } 5213 5214 func (x *TunnelEncapSubTLVSRPreference) String() string { 5215 return protoimpl.X.MessageStringOf(x) 5216 } 5217 5218 func (*TunnelEncapSubTLVSRPreference) ProtoMessage() {} 5219 5220 func (x *TunnelEncapSubTLVSRPreference) ProtoReflect() protoreflect.Message { 5221 mi := &file_attribute_proto_msgTypes[78] 5222 if protoimpl.UnsafeEnabled && x != nil { 5223 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5224 if ms.LoadMessageInfo() == nil { 5225 ms.StoreMessageInfo(mi) 5226 } 5227 return ms 5228 } 5229 return mi.MessageOf(x) 5230 } 5231 5232 // Deprecated: Use TunnelEncapSubTLVSRPreference.ProtoReflect.Descriptor instead. 5233 func (*TunnelEncapSubTLVSRPreference) Descriptor() ([]byte, []int) { 5234 return file_attribute_proto_rawDescGZIP(), []int{78} 5235 } 5236 5237 func (x *TunnelEncapSubTLVSRPreference) GetFlags() uint32 { 5238 if x != nil { 5239 return x.Flags 5240 } 5241 return 0 5242 } 5243 5244 func (x *TunnelEncapSubTLVSRPreference) GetPreference() uint32 { 5245 if x != nil { 5246 return x.Preference 5247 } 5248 return 0 5249 } 5250 5251 type TunnelEncapSubTLVSRCandidatePathName struct { 5252 state protoimpl.MessageState 5253 sizeCache protoimpl.SizeCache 5254 unknownFields protoimpl.UnknownFields 5255 5256 CandidatePathName string `protobuf:"bytes,1,opt,name=candidate_path_name,json=candidatePathName,proto3" json:"candidate_path_name,omitempty"` 5257 } 5258 5259 func (x *TunnelEncapSubTLVSRCandidatePathName) Reset() { 5260 *x = TunnelEncapSubTLVSRCandidatePathName{} 5261 if protoimpl.UnsafeEnabled { 5262 mi := &file_attribute_proto_msgTypes[79] 5263 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5264 ms.StoreMessageInfo(mi) 5265 } 5266 } 5267 5268 func (x *TunnelEncapSubTLVSRCandidatePathName) String() string { 5269 return protoimpl.X.MessageStringOf(x) 5270 } 5271 5272 func (*TunnelEncapSubTLVSRCandidatePathName) ProtoMessage() {} 5273 5274 func (x *TunnelEncapSubTLVSRCandidatePathName) ProtoReflect() protoreflect.Message { 5275 mi := &file_attribute_proto_msgTypes[79] 5276 if protoimpl.UnsafeEnabled && x != nil { 5277 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5278 if ms.LoadMessageInfo() == nil { 5279 ms.StoreMessageInfo(mi) 5280 } 5281 return ms 5282 } 5283 return mi.MessageOf(x) 5284 } 5285 5286 // Deprecated: Use TunnelEncapSubTLVSRCandidatePathName.ProtoReflect.Descriptor instead. 5287 func (*TunnelEncapSubTLVSRCandidatePathName) Descriptor() ([]byte, []int) { 5288 return file_attribute_proto_rawDescGZIP(), []int{79} 5289 } 5290 5291 func (x *TunnelEncapSubTLVSRCandidatePathName) GetCandidatePathName() string { 5292 if x != nil { 5293 return x.CandidatePathName 5294 } 5295 return "" 5296 } 5297 5298 type TunnelEncapSubTLVSRPriority struct { 5299 state protoimpl.MessageState 5300 sizeCache protoimpl.SizeCache 5301 unknownFields protoimpl.UnknownFields 5302 5303 Priority uint32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"` 5304 } 5305 5306 func (x *TunnelEncapSubTLVSRPriority) Reset() { 5307 *x = TunnelEncapSubTLVSRPriority{} 5308 if protoimpl.UnsafeEnabled { 5309 mi := &file_attribute_proto_msgTypes[80] 5310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5311 ms.StoreMessageInfo(mi) 5312 } 5313 } 5314 5315 func (x *TunnelEncapSubTLVSRPriority) String() string { 5316 return protoimpl.X.MessageStringOf(x) 5317 } 5318 5319 func (*TunnelEncapSubTLVSRPriority) ProtoMessage() {} 5320 5321 func (x *TunnelEncapSubTLVSRPriority) ProtoReflect() protoreflect.Message { 5322 mi := &file_attribute_proto_msgTypes[80] 5323 if protoimpl.UnsafeEnabled && x != nil { 5324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5325 if ms.LoadMessageInfo() == nil { 5326 ms.StoreMessageInfo(mi) 5327 } 5328 return ms 5329 } 5330 return mi.MessageOf(x) 5331 } 5332 5333 // Deprecated: Use TunnelEncapSubTLVSRPriority.ProtoReflect.Descriptor instead. 5334 func (*TunnelEncapSubTLVSRPriority) Descriptor() ([]byte, []int) { 5335 return file_attribute_proto_rawDescGZIP(), []int{80} 5336 } 5337 5338 func (x *TunnelEncapSubTLVSRPriority) GetPriority() uint32 { 5339 if x != nil { 5340 return x.Priority 5341 } 5342 return 0 5343 } 5344 5345 type TunnelEncapSubTLVSRBindingSID struct { 5346 state protoimpl.MessageState 5347 sizeCache protoimpl.SizeCache 5348 unknownFields protoimpl.UnknownFields 5349 5350 // bsid must be one of: 5351 // - SRBindingSID 5352 // - SRv6BindingSID 5353 Bsid *anypb.Any `protobuf:"bytes,1,opt,name=bsid,proto3" json:"bsid,omitempty"` 5354 } 5355 5356 func (x *TunnelEncapSubTLVSRBindingSID) Reset() { 5357 *x = TunnelEncapSubTLVSRBindingSID{} 5358 if protoimpl.UnsafeEnabled { 5359 mi := &file_attribute_proto_msgTypes[81] 5360 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5361 ms.StoreMessageInfo(mi) 5362 } 5363 } 5364 5365 func (x *TunnelEncapSubTLVSRBindingSID) String() string { 5366 return protoimpl.X.MessageStringOf(x) 5367 } 5368 5369 func (*TunnelEncapSubTLVSRBindingSID) ProtoMessage() {} 5370 5371 func (x *TunnelEncapSubTLVSRBindingSID) ProtoReflect() protoreflect.Message { 5372 mi := &file_attribute_proto_msgTypes[81] 5373 if protoimpl.UnsafeEnabled && x != nil { 5374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5375 if ms.LoadMessageInfo() == nil { 5376 ms.StoreMessageInfo(mi) 5377 } 5378 return ms 5379 } 5380 return mi.MessageOf(x) 5381 } 5382 5383 // Deprecated: Use TunnelEncapSubTLVSRBindingSID.ProtoReflect.Descriptor instead. 5384 func (*TunnelEncapSubTLVSRBindingSID) Descriptor() ([]byte, []int) { 5385 return file_attribute_proto_rawDescGZIP(), []int{81} 5386 } 5387 5388 func (x *TunnelEncapSubTLVSRBindingSID) GetBsid() *anypb.Any { 5389 if x != nil { 5390 return x.Bsid 5391 } 5392 return nil 5393 } 5394 5395 type SRBindingSID struct { 5396 state protoimpl.MessageState 5397 sizeCache protoimpl.SizeCache 5398 unknownFields protoimpl.UnknownFields 5399 5400 SFlag bool `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` 5401 IFlag bool `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"` 5402 Sid []byte `protobuf:"bytes,3,opt,name=sid,proto3" json:"sid,omitempty"` 5403 } 5404 5405 func (x *SRBindingSID) Reset() { 5406 *x = SRBindingSID{} 5407 if protoimpl.UnsafeEnabled { 5408 mi := &file_attribute_proto_msgTypes[82] 5409 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5410 ms.StoreMessageInfo(mi) 5411 } 5412 } 5413 5414 func (x *SRBindingSID) String() string { 5415 return protoimpl.X.MessageStringOf(x) 5416 } 5417 5418 func (*SRBindingSID) ProtoMessage() {} 5419 5420 func (x *SRBindingSID) ProtoReflect() protoreflect.Message { 5421 mi := &file_attribute_proto_msgTypes[82] 5422 if protoimpl.UnsafeEnabled && x != nil { 5423 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5424 if ms.LoadMessageInfo() == nil { 5425 ms.StoreMessageInfo(mi) 5426 } 5427 return ms 5428 } 5429 return mi.MessageOf(x) 5430 } 5431 5432 // Deprecated: Use SRBindingSID.ProtoReflect.Descriptor instead. 5433 func (*SRBindingSID) Descriptor() ([]byte, []int) { 5434 return file_attribute_proto_rawDescGZIP(), []int{82} 5435 } 5436 5437 func (x *SRBindingSID) GetSFlag() bool { 5438 if x != nil { 5439 return x.SFlag 5440 } 5441 return false 5442 } 5443 5444 func (x *SRBindingSID) GetIFlag() bool { 5445 if x != nil { 5446 return x.IFlag 5447 } 5448 return false 5449 } 5450 5451 func (x *SRBindingSID) GetSid() []byte { 5452 if x != nil { 5453 return x.Sid 5454 } 5455 return nil 5456 } 5457 5458 type SRv6EndPointBehavior struct { 5459 state protoimpl.MessageState 5460 sizeCache protoimpl.SizeCache 5461 unknownFields protoimpl.UnknownFields 5462 5463 Behavior SRv6Behavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=apipb.SRv6Behavior" json:"behavior,omitempty"` 5464 BlockLen uint32 `protobuf:"varint,2,opt,name=block_len,json=blockLen,proto3" json:"block_len,omitempty"` 5465 NodeLen uint32 `protobuf:"varint,3,opt,name=node_len,json=nodeLen,proto3" json:"node_len,omitempty"` 5466 FuncLen uint32 `protobuf:"varint,4,opt,name=func_len,json=funcLen,proto3" json:"func_len,omitempty"` 5467 ArgLen uint32 `protobuf:"varint,5,opt,name=arg_len,json=argLen,proto3" json:"arg_len,omitempty"` 5468 } 5469 5470 func (x *SRv6EndPointBehavior) Reset() { 5471 *x = SRv6EndPointBehavior{} 5472 if protoimpl.UnsafeEnabled { 5473 mi := &file_attribute_proto_msgTypes[83] 5474 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5475 ms.StoreMessageInfo(mi) 5476 } 5477 } 5478 5479 func (x *SRv6EndPointBehavior) String() string { 5480 return protoimpl.X.MessageStringOf(x) 5481 } 5482 5483 func (*SRv6EndPointBehavior) ProtoMessage() {} 5484 5485 func (x *SRv6EndPointBehavior) ProtoReflect() protoreflect.Message { 5486 mi := &file_attribute_proto_msgTypes[83] 5487 if protoimpl.UnsafeEnabled && x != nil { 5488 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5489 if ms.LoadMessageInfo() == nil { 5490 ms.StoreMessageInfo(mi) 5491 } 5492 return ms 5493 } 5494 return mi.MessageOf(x) 5495 } 5496 5497 // Deprecated: Use SRv6EndPointBehavior.ProtoReflect.Descriptor instead. 5498 func (*SRv6EndPointBehavior) Descriptor() ([]byte, []int) { 5499 return file_attribute_proto_rawDescGZIP(), []int{83} 5500 } 5501 5502 func (x *SRv6EndPointBehavior) GetBehavior() SRv6Behavior { 5503 if x != nil { 5504 return x.Behavior 5505 } 5506 return SRv6Behavior_RESERVED 5507 } 5508 5509 func (x *SRv6EndPointBehavior) GetBlockLen() uint32 { 5510 if x != nil { 5511 return x.BlockLen 5512 } 5513 return 0 5514 } 5515 5516 func (x *SRv6EndPointBehavior) GetNodeLen() uint32 { 5517 if x != nil { 5518 return x.NodeLen 5519 } 5520 return 0 5521 } 5522 5523 func (x *SRv6EndPointBehavior) GetFuncLen() uint32 { 5524 if x != nil { 5525 return x.FuncLen 5526 } 5527 return 0 5528 } 5529 5530 func (x *SRv6EndPointBehavior) GetArgLen() uint32 { 5531 if x != nil { 5532 return x.ArgLen 5533 } 5534 return 0 5535 } 5536 5537 type SRv6BindingSID struct { 5538 state protoimpl.MessageState 5539 sizeCache protoimpl.SizeCache 5540 unknownFields protoimpl.UnknownFields 5541 5542 SFlag bool `protobuf:"varint,1,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` 5543 IFlag bool `protobuf:"varint,2,opt,name=i_flag,json=iFlag,proto3" json:"i_flag,omitempty"` 5544 BFlag bool `protobuf:"varint,3,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"` 5545 Sid []byte `protobuf:"bytes,4,opt,name=sid,proto3" json:"sid,omitempty"` 5546 EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,5,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"` 5547 } 5548 5549 func (x *SRv6BindingSID) Reset() { 5550 *x = SRv6BindingSID{} 5551 if protoimpl.UnsafeEnabled { 5552 mi := &file_attribute_proto_msgTypes[84] 5553 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5554 ms.StoreMessageInfo(mi) 5555 } 5556 } 5557 5558 func (x *SRv6BindingSID) String() string { 5559 return protoimpl.X.MessageStringOf(x) 5560 } 5561 5562 func (*SRv6BindingSID) ProtoMessage() {} 5563 5564 func (x *SRv6BindingSID) ProtoReflect() protoreflect.Message { 5565 mi := &file_attribute_proto_msgTypes[84] 5566 if protoimpl.UnsafeEnabled && x != nil { 5567 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5568 if ms.LoadMessageInfo() == nil { 5569 ms.StoreMessageInfo(mi) 5570 } 5571 return ms 5572 } 5573 return mi.MessageOf(x) 5574 } 5575 5576 // Deprecated: Use SRv6BindingSID.ProtoReflect.Descriptor instead. 5577 func (*SRv6BindingSID) Descriptor() ([]byte, []int) { 5578 return file_attribute_proto_rawDescGZIP(), []int{84} 5579 } 5580 5581 func (x *SRv6BindingSID) GetSFlag() bool { 5582 if x != nil { 5583 return x.SFlag 5584 } 5585 return false 5586 } 5587 5588 func (x *SRv6BindingSID) GetIFlag() bool { 5589 if x != nil { 5590 return x.IFlag 5591 } 5592 return false 5593 } 5594 5595 func (x *SRv6BindingSID) GetBFlag() bool { 5596 if x != nil { 5597 return x.BFlag 5598 } 5599 return false 5600 } 5601 5602 func (x *SRv6BindingSID) GetSid() []byte { 5603 if x != nil { 5604 return x.Sid 5605 } 5606 return nil 5607 } 5608 5609 func (x *SRv6BindingSID) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { 5610 if x != nil { 5611 return x.EndpointBehaviorStructure 5612 } 5613 return nil 5614 } 5615 5616 type TunnelEncapSubTLVSRENLP struct { 5617 state protoimpl.MessageState 5618 sizeCache protoimpl.SizeCache 5619 unknownFields protoimpl.UnknownFields 5620 5621 Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` 5622 Enlp ENLPType `protobuf:"varint,2,opt,name=enlp,proto3,enum=apipb.ENLPType" json:"enlp,omitempty"` 5623 } 5624 5625 func (x *TunnelEncapSubTLVSRENLP) Reset() { 5626 *x = TunnelEncapSubTLVSRENLP{} 5627 if protoimpl.UnsafeEnabled { 5628 mi := &file_attribute_proto_msgTypes[85] 5629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5630 ms.StoreMessageInfo(mi) 5631 } 5632 } 5633 5634 func (x *TunnelEncapSubTLVSRENLP) String() string { 5635 return protoimpl.X.MessageStringOf(x) 5636 } 5637 5638 func (*TunnelEncapSubTLVSRENLP) ProtoMessage() {} 5639 5640 func (x *TunnelEncapSubTLVSRENLP) ProtoReflect() protoreflect.Message { 5641 mi := &file_attribute_proto_msgTypes[85] 5642 if protoimpl.UnsafeEnabled && x != nil { 5643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5644 if ms.LoadMessageInfo() == nil { 5645 ms.StoreMessageInfo(mi) 5646 } 5647 return ms 5648 } 5649 return mi.MessageOf(x) 5650 } 5651 5652 // Deprecated: Use TunnelEncapSubTLVSRENLP.ProtoReflect.Descriptor instead. 5653 func (*TunnelEncapSubTLVSRENLP) Descriptor() ([]byte, []int) { 5654 return file_attribute_proto_rawDescGZIP(), []int{85} 5655 } 5656 5657 func (x *TunnelEncapSubTLVSRENLP) GetFlags() uint32 { 5658 if x != nil { 5659 return x.Flags 5660 } 5661 return 0 5662 } 5663 5664 func (x *TunnelEncapSubTLVSRENLP) GetEnlp() ENLPType { 5665 if x != nil { 5666 return x.Enlp 5667 } 5668 return ENLPType_Reserved 5669 } 5670 5671 type SRWeight struct { 5672 state protoimpl.MessageState 5673 sizeCache protoimpl.SizeCache 5674 unknownFields protoimpl.UnknownFields 5675 5676 Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` 5677 Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` 5678 } 5679 5680 func (x *SRWeight) Reset() { 5681 *x = SRWeight{} 5682 if protoimpl.UnsafeEnabled { 5683 mi := &file_attribute_proto_msgTypes[86] 5684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5685 ms.StoreMessageInfo(mi) 5686 } 5687 } 5688 5689 func (x *SRWeight) String() string { 5690 return protoimpl.X.MessageStringOf(x) 5691 } 5692 5693 func (*SRWeight) ProtoMessage() {} 5694 5695 func (x *SRWeight) ProtoReflect() protoreflect.Message { 5696 mi := &file_attribute_proto_msgTypes[86] 5697 if protoimpl.UnsafeEnabled && x != nil { 5698 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5699 if ms.LoadMessageInfo() == nil { 5700 ms.StoreMessageInfo(mi) 5701 } 5702 return ms 5703 } 5704 return mi.MessageOf(x) 5705 } 5706 5707 // Deprecated: Use SRWeight.ProtoReflect.Descriptor instead. 5708 func (*SRWeight) Descriptor() ([]byte, []int) { 5709 return file_attribute_proto_rawDescGZIP(), []int{86} 5710 } 5711 5712 func (x *SRWeight) GetFlags() uint32 { 5713 if x != nil { 5714 return x.Flags 5715 } 5716 return 0 5717 } 5718 5719 func (x *SRWeight) GetWeight() uint32 { 5720 if x != nil { 5721 return x.Weight 5722 } 5723 return 0 5724 } 5725 5726 type SegmentFlags struct { 5727 state protoimpl.MessageState 5728 sizeCache protoimpl.SizeCache 5729 unknownFields protoimpl.UnknownFields 5730 5731 VFlag bool `protobuf:"varint,1,opt,name=v_flag,json=vFlag,proto3" json:"v_flag,omitempty"` 5732 AFlag bool `protobuf:"varint,2,opt,name=a_flag,json=aFlag,proto3" json:"a_flag,omitempty"` 5733 SFlag bool `protobuf:"varint,3,opt,name=s_flag,json=sFlag,proto3" json:"s_flag,omitempty"` 5734 BFlag bool `protobuf:"varint,4,opt,name=b_flag,json=bFlag,proto3" json:"b_flag,omitempty"` 5735 } 5736 5737 func (x *SegmentFlags) Reset() { 5738 *x = SegmentFlags{} 5739 if protoimpl.UnsafeEnabled { 5740 mi := &file_attribute_proto_msgTypes[87] 5741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5742 ms.StoreMessageInfo(mi) 5743 } 5744 } 5745 5746 func (x *SegmentFlags) String() string { 5747 return protoimpl.X.MessageStringOf(x) 5748 } 5749 5750 func (*SegmentFlags) ProtoMessage() {} 5751 5752 func (x *SegmentFlags) ProtoReflect() protoreflect.Message { 5753 mi := &file_attribute_proto_msgTypes[87] 5754 if protoimpl.UnsafeEnabled && x != nil { 5755 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5756 if ms.LoadMessageInfo() == nil { 5757 ms.StoreMessageInfo(mi) 5758 } 5759 return ms 5760 } 5761 return mi.MessageOf(x) 5762 } 5763 5764 // Deprecated: Use SegmentFlags.ProtoReflect.Descriptor instead. 5765 func (*SegmentFlags) Descriptor() ([]byte, []int) { 5766 return file_attribute_proto_rawDescGZIP(), []int{87} 5767 } 5768 5769 func (x *SegmentFlags) GetVFlag() bool { 5770 if x != nil { 5771 return x.VFlag 5772 } 5773 return false 5774 } 5775 5776 func (x *SegmentFlags) GetAFlag() bool { 5777 if x != nil { 5778 return x.AFlag 5779 } 5780 return false 5781 } 5782 5783 func (x *SegmentFlags) GetSFlag() bool { 5784 if x != nil { 5785 return x.SFlag 5786 } 5787 return false 5788 } 5789 5790 func (x *SegmentFlags) GetBFlag() bool { 5791 if x != nil { 5792 return x.BFlag 5793 } 5794 return false 5795 } 5796 5797 type SegmentTypeA struct { 5798 state protoimpl.MessageState 5799 sizeCache protoimpl.SizeCache 5800 unknownFields protoimpl.UnknownFields 5801 5802 Flags *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` 5803 Label uint32 `protobuf:"varint,2,opt,name=label,proto3" json:"label,omitempty"` 5804 } 5805 5806 func (x *SegmentTypeA) Reset() { 5807 *x = SegmentTypeA{} 5808 if protoimpl.UnsafeEnabled { 5809 mi := &file_attribute_proto_msgTypes[88] 5810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5811 ms.StoreMessageInfo(mi) 5812 } 5813 } 5814 5815 func (x *SegmentTypeA) String() string { 5816 return protoimpl.X.MessageStringOf(x) 5817 } 5818 5819 func (*SegmentTypeA) ProtoMessage() {} 5820 5821 func (x *SegmentTypeA) ProtoReflect() protoreflect.Message { 5822 mi := &file_attribute_proto_msgTypes[88] 5823 if protoimpl.UnsafeEnabled && x != nil { 5824 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5825 if ms.LoadMessageInfo() == nil { 5826 ms.StoreMessageInfo(mi) 5827 } 5828 return ms 5829 } 5830 return mi.MessageOf(x) 5831 } 5832 5833 // Deprecated: Use SegmentTypeA.ProtoReflect.Descriptor instead. 5834 func (*SegmentTypeA) Descriptor() ([]byte, []int) { 5835 return file_attribute_proto_rawDescGZIP(), []int{88} 5836 } 5837 5838 func (x *SegmentTypeA) GetFlags() *SegmentFlags { 5839 if x != nil { 5840 return x.Flags 5841 } 5842 return nil 5843 } 5844 5845 func (x *SegmentTypeA) GetLabel() uint32 { 5846 if x != nil { 5847 return x.Label 5848 } 5849 return 0 5850 } 5851 5852 type SegmentTypeB struct { 5853 state protoimpl.MessageState 5854 sizeCache protoimpl.SizeCache 5855 unknownFields protoimpl.UnknownFields 5856 5857 Flags *SegmentFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` 5858 Sid []byte `protobuf:"bytes,2,opt,name=sid,proto3" json:"sid,omitempty"` 5859 EndpointBehaviorStructure *SRv6EndPointBehavior `protobuf:"bytes,3,opt,name=endpoint_behavior_structure,json=endpointBehaviorStructure,proto3" json:"endpoint_behavior_structure,omitempty"` 5860 } 5861 5862 func (x *SegmentTypeB) Reset() { 5863 *x = SegmentTypeB{} 5864 if protoimpl.UnsafeEnabled { 5865 mi := &file_attribute_proto_msgTypes[89] 5866 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5867 ms.StoreMessageInfo(mi) 5868 } 5869 } 5870 5871 func (x *SegmentTypeB) String() string { 5872 return protoimpl.X.MessageStringOf(x) 5873 } 5874 5875 func (*SegmentTypeB) ProtoMessage() {} 5876 5877 func (x *SegmentTypeB) ProtoReflect() protoreflect.Message { 5878 mi := &file_attribute_proto_msgTypes[89] 5879 if protoimpl.UnsafeEnabled && x != nil { 5880 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5881 if ms.LoadMessageInfo() == nil { 5882 ms.StoreMessageInfo(mi) 5883 } 5884 return ms 5885 } 5886 return mi.MessageOf(x) 5887 } 5888 5889 // Deprecated: Use SegmentTypeB.ProtoReflect.Descriptor instead. 5890 func (*SegmentTypeB) Descriptor() ([]byte, []int) { 5891 return file_attribute_proto_rawDescGZIP(), []int{89} 5892 } 5893 5894 func (x *SegmentTypeB) GetFlags() *SegmentFlags { 5895 if x != nil { 5896 return x.Flags 5897 } 5898 return nil 5899 } 5900 5901 func (x *SegmentTypeB) GetSid() []byte { 5902 if x != nil { 5903 return x.Sid 5904 } 5905 return nil 5906 } 5907 5908 func (x *SegmentTypeB) GetEndpointBehaviorStructure() *SRv6EndPointBehavior { 5909 if x != nil { 5910 return x.EndpointBehaviorStructure 5911 } 5912 return nil 5913 } 5914 5915 type TunnelEncapSubTLVSRSegmentList struct { 5916 state protoimpl.MessageState 5917 sizeCache protoimpl.SizeCache 5918 unknownFields protoimpl.UnknownFields 5919 5920 Weight *SRWeight `protobuf:"bytes,1,opt,name=weight,proto3" json:"weight,omitempty"` 5921 // segments must be one of: 5922 // - SegmentTypeA 5923 // - SegmentTypeB 5924 Segments []*anypb.Any `protobuf:"bytes,2,rep,name=segments,proto3" json:"segments,omitempty"` 5925 } 5926 5927 func (x *TunnelEncapSubTLVSRSegmentList) Reset() { 5928 *x = TunnelEncapSubTLVSRSegmentList{} 5929 if protoimpl.UnsafeEnabled { 5930 mi := &file_attribute_proto_msgTypes[90] 5931 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5932 ms.StoreMessageInfo(mi) 5933 } 5934 } 5935 5936 func (x *TunnelEncapSubTLVSRSegmentList) String() string { 5937 return protoimpl.X.MessageStringOf(x) 5938 } 5939 5940 func (*TunnelEncapSubTLVSRSegmentList) ProtoMessage() {} 5941 5942 func (x *TunnelEncapSubTLVSRSegmentList) ProtoReflect() protoreflect.Message { 5943 mi := &file_attribute_proto_msgTypes[90] 5944 if protoimpl.UnsafeEnabled && x != nil { 5945 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5946 if ms.LoadMessageInfo() == nil { 5947 ms.StoreMessageInfo(mi) 5948 } 5949 return ms 5950 } 5951 return mi.MessageOf(x) 5952 } 5953 5954 // Deprecated: Use TunnelEncapSubTLVSRSegmentList.ProtoReflect.Descriptor instead. 5955 func (*TunnelEncapSubTLVSRSegmentList) Descriptor() ([]byte, []int) { 5956 return file_attribute_proto_rawDescGZIP(), []int{90} 5957 } 5958 5959 func (x *TunnelEncapSubTLVSRSegmentList) GetWeight() *SRWeight { 5960 if x != nil { 5961 return x.Weight 5962 } 5963 return nil 5964 } 5965 5966 func (x *TunnelEncapSubTLVSRSegmentList) GetSegments() []*anypb.Any { 5967 if x != nil { 5968 return x.Segments 5969 } 5970 return nil 5971 } 5972 5973 type TunnelEncapSubTLVEgressEndpoint struct { 5974 state protoimpl.MessageState 5975 sizeCache protoimpl.SizeCache 5976 unknownFields protoimpl.UnknownFields 5977 5978 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 5979 } 5980 5981 func (x *TunnelEncapSubTLVEgressEndpoint) Reset() { 5982 *x = TunnelEncapSubTLVEgressEndpoint{} 5983 if protoimpl.UnsafeEnabled { 5984 mi := &file_attribute_proto_msgTypes[91] 5985 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5986 ms.StoreMessageInfo(mi) 5987 } 5988 } 5989 5990 func (x *TunnelEncapSubTLVEgressEndpoint) String() string { 5991 return protoimpl.X.MessageStringOf(x) 5992 } 5993 5994 func (*TunnelEncapSubTLVEgressEndpoint) ProtoMessage() {} 5995 5996 func (x *TunnelEncapSubTLVEgressEndpoint) ProtoReflect() protoreflect.Message { 5997 mi := &file_attribute_proto_msgTypes[91] 5998 if protoimpl.UnsafeEnabled && x != nil { 5999 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6000 if ms.LoadMessageInfo() == nil { 6001 ms.StoreMessageInfo(mi) 6002 } 6003 return ms 6004 } 6005 return mi.MessageOf(x) 6006 } 6007 6008 // Deprecated: Use TunnelEncapSubTLVEgressEndpoint.ProtoReflect.Descriptor instead. 6009 func (*TunnelEncapSubTLVEgressEndpoint) Descriptor() ([]byte, []int) { 6010 return file_attribute_proto_rawDescGZIP(), []int{91} 6011 } 6012 6013 func (x *TunnelEncapSubTLVEgressEndpoint) GetAddress() string { 6014 if x != nil { 6015 return x.Address 6016 } 6017 return "" 6018 } 6019 6020 type TunnelEncapSubTLVUDPDestPort struct { 6021 state protoimpl.MessageState 6022 sizeCache protoimpl.SizeCache 6023 unknownFields protoimpl.UnknownFields 6024 6025 Port uint32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"` 6026 } 6027 6028 func (x *TunnelEncapSubTLVUDPDestPort) Reset() { 6029 *x = TunnelEncapSubTLVUDPDestPort{} 6030 if protoimpl.UnsafeEnabled { 6031 mi := &file_attribute_proto_msgTypes[92] 6032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6033 ms.StoreMessageInfo(mi) 6034 } 6035 } 6036 6037 func (x *TunnelEncapSubTLVUDPDestPort) String() string { 6038 return protoimpl.X.MessageStringOf(x) 6039 } 6040 6041 func (*TunnelEncapSubTLVUDPDestPort) ProtoMessage() {} 6042 6043 func (x *TunnelEncapSubTLVUDPDestPort) ProtoReflect() protoreflect.Message { 6044 mi := &file_attribute_proto_msgTypes[92] 6045 if protoimpl.UnsafeEnabled && x != nil { 6046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6047 if ms.LoadMessageInfo() == nil { 6048 ms.StoreMessageInfo(mi) 6049 } 6050 return ms 6051 } 6052 return mi.MessageOf(x) 6053 } 6054 6055 // Deprecated: Use TunnelEncapSubTLVUDPDestPort.ProtoReflect.Descriptor instead. 6056 func (*TunnelEncapSubTLVUDPDestPort) Descriptor() ([]byte, []int) { 6057 return file_attribute_proto_rawDescGZIP(), []int{92} 6058 } 6059 6060 func (x *TunnelEncapSubTLVUDPDestPort) GetPort() uint32 { 6061 if x != nil { 6062 return x.Port 6063 } 6064 return 0 6065 } 6066 6067 type TunnelEncapSubTLVUnknown struct { 6068 state protoimpl.MessageState 6069 sizeCache protoimpl.SizeCache 6070 unknownFields protoimpl.UnknownFields 6071 6072 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 6073 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 6074 } 6075 6076 func (x *TunnelEncapSubTLVUnknown) Reset() { 6077 *x = TunnelEncapSubTLVUnknown{} 6078 if protoimpl.UnsafeEnabled { 6079 mi := &file_attribute_proto_msgTypes[93] 6080 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6081 ms.StoreMessageInfo(mi) 6082 } 6083 } 6084 6085 func (x *TunnelEncapSubTLVUnknown) String() string { 6086 return protoimpl.X.MessageStringOf(x) 6087 } 6088 6089 func (*TunnelEncapSubTLVUnknown) ProtoMessage() {} 6090 6091 func (x *TunnelEncapSubTLVUnknown) ProtoReflect() protoreflect.Message { 6092 mi := &file_attribute_proto_msgTypes[93] 6093 if protoimpl.UnsafeEnabled && x != nil { 6094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6095 if ms.LoadMessageInfo() == nil { 6096 ms.StoreMessageInfo(mi) 6097 } 6098 return ms 6099 } 6100 return mi.MessageOf(x) 6101 } 6102 6103 // Deprecated: Use TunnelEncapSubTLVUnknown.ProtoReflect.Descriptor instead. 6104 func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) { 6105 return file_attribute_proto_rawDescGZIP(), []int{93} 6106 } 6107 6108 func (x *TunnelEncapSubTLVUnknown) GetType() uint32 { 6109 if x != nil { 6110 return x.Type 6111 } 6112 return 0 6113 } 6114 6115 func (x *TunnelEncapSubTLVUnknown) GetValue() []byte { 6116 if x != nil { 6117 return x.Value 6118 } 6119 return nil 6120 } 6121 6122 type TunnelEncapTLV struct { 6123 state protoimpl.MessageState 6124 sizeCache protoimpl.SizeCache 6125 unknownFields protoimpl.UnknownFields 6126 6127 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 6128 // Each TLV must be one of: 6129 // - TunnelEncapSubTLVEncapsulation 6130 // - TunnelEncapSubTLVProtocol 6131 // - TunnelEncapSubTLVColor 6132 // - TunnelEncapSubTLVSRPolicy 6133 // - TunnelEncapSubTLVUnknown 6134 Tlvs []*anypb.Any `protobuf:"bytes,2,rep,name=tlvs,proto3" json:"tlvs,omitempty"` 6135 } 6136 6137 func (x *TunnelEncapTLV) Reset() { 6138 *x = TunnelEncapTLV{} 6139 if protoimpl.UnsafeEnabled { 6140 mi := &file_attribute_proto_msgTypes[94] 6141 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6142 ms.StoreMessageInfo(mi) 6143 } 6144 } 6145 6146 func (x *TunnelEncapTLV) String() string { 6147 return protoimpl.X.MessageStringOf(x) 6148 } 6149 6150 func (*TunnelEncapTLV) ProtoMessage() {} 6151 6152 func (x *TunnelEncapTLV) ProtoReflect() protoreflect.Message { 6153 mi := &file_attribute_proto_msgTypes[94] 6154 if protoimpl.UnsafeEnabled && x != nil { 6155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6156 if ms.LoadMessageInfo() == nil { 6157 ms.StoreMessageInfo(mi) 6158 } 6159 return ms 6160 } 6161 return mi.MessageOf(x) 6162 } 6163 6164 // Deprecated: Use TunnelEncapTLV.ProtoReflect.Descriptor instead. 6165 func (*TunnelEncapTLV) Descriptor() ([]byte, []int) { 6166 return file_attribute_proto_rawDescGZIP(), []int{94} 6167 } 6168 6169 func (x *TunnelEncapTLV) GetType() uint32 { 6170 if x != nil { 6171 return x.Type 6172 } 6173 return 0 6174 } 6175 6176 func (x *TunnelEncapTLV) GetTlvs() []*anypb.Any { 6177 if x != nil { 6178 return x.Tlvs 6179 } 6180 return nil 6181 } 6182 6183 type TunnelEncapAttribute struct { 6184 state protoimpl.MessageState 6185 sizeCache protoimpl.SizeCache 6186 unknownFields protoimpl.UnknownFields 6187 6188 Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` 6189 } 6190 6191 func (x *TunnelEncapAttribute) Reset() { 6192 *x = TunnelEncapAttribute{} 6193 if protoimpl.UnsafeEnabled { 6194 mi := &file_attribute_proto_msgTypes[95] 6195 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6196 ms.StoreMessageInfo(mi) 6197 } 6198 } 6199 6200 func (x *TunnelEncapAttribute) String() string { 6201 return protoimpl.X.MessageStringOf(x) 6202 } 6203 6204 func (*TunnelEncapAttribute) ProtoMessage() {} 6205 6206 func (x *TunnelEncapAttribute) ProtoReflect() protoreflect.Message { 6207 mi := &file_attribute_proto_msgTypes[95] 6208 if protoimpl.UnsafeEnabled && x != nil { 6209 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6210 if ms.LoadMessageInfo() == nil { 6211 ms.StoreMessageInfo(mi) 6212 } 6213 return ms 6214 } 6215 return mi.MessageOf(x) 6216 } 6217 6218 // Deprecated: Use TunnelEncapAttribute.ProtoReflect.Descriptor instead. 6219 func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) { 6220 return file_attribute_proto_rawDescGZIP(), []int{95} 6221 } 6222 6223 func (x *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV { 6224 if x != nil { 6225 return x.Tlvs 6226 } 6227 return nil 6228 } 6229 6230 type IPv6AddressSpecificExtended struct { 6231 state protoimpl.MessageState 6232 sizeCache protoimpl.SizeCache 6233 unknownFields protoimpl.UnknownFields 6234 6235 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive,proto3" json:"is_transitive,omitempty"` 6236 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType,proto3" json:"sub_type,omitempty"` 6237 Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` 6238 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 6239 } 6240 6241 func (x *IPv6AddressSpecificExtended) Reset() { 6242 *x = IPv6AddressSpecificExtended{} 6243 if protoimpl.UnsafeEnabled { 6244 mi := &file_attribute_proto_msgTypes[96] 6245 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6246 ms.StoreMessageInfo(mi) 6247 } 6248 } 6249 6250 func (x *IPv6AddressSpecificExtended) String() string { 6251 return protoimpl.X.MessageStringOf(x) 6252 } 6253 6254 func (*IPv6AddressSpecificExtended) ProtoMessage() {} 6255 6256 func (x *IPv6AddressSpecificExtended) ProtoReflect() protoreflect.Message { 6257 mi := &file_attribute_proto_msgTypes[96] 6258 if protoimpl.UnsafeEnabled && x != nil { 6259 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6260 if ms.LoadMessageInfo() == nil { 6261 ms.StoreMessageInfo(mi) 6262 } 6263 return ms 6264 } 6265 return mi.MessageOf(x) 6266 } 6267 6268 // Deprecated: Use IPv6AddressSpecificExtended.ProtoReflect.Descriptor instead. 6269 func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { 6270 return file_attribute_proto_rawDescGZIP(), []int{96} 6271 } 6272 6273 func (x *IPv6AddressSpecificExtended) GetIsTransitive() bool { 6274 if x != nil { 6275 return x.IsTransitive 6276 } 6277 return false 6278 } 6279 6280 func (x *IPv6AddressSpecificExtended) GetSubType() uint32 { 6281 if x != nil { 6282 return x.SubType 6283 } 6284 return 0 6285 } 6286 6287 func (x *IPv6AddressSpecificExtended) GetAddress() string { 6288 if x != nil { 6289 return x.Address 6290 } 6291 return "" 6292 } 6293 6294 func (x *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 { 6295 if x != nil { 6296 return x.LocalAdmin 6297 } 6298 return 0 6299 } 6300 6301 type RedirectIPv6AddressSpecificExtended struct { 6302 state protoimpl.MessageState 6303 sizeCache protoimpl.SizeCache 6304 unknownFields protoimpl.UnknownFields 6305 6306 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 6307 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin,proto3" json:"local_admin,omitempty"` 6308 } 6309 6310 func (x *RedirectIPv6AddressSpecificExtended) Reset() { 6311 *x = RedirectIPv6AddressSpecificExtended{} 6312 if protoimpl.UnsafeEnabled { 6313 mi := &file_attribute_proto_msgTypes[97] 6314 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6315 ms.StoreMessageInfo(mi) 6316 } 6317 } 6318 6319 func (x *RedirectIPv6AddressSpecificExtended) String() string { 6320 return protoimpl.X.MessageStringOf(x) 6321 } 6322 6323 func (*RedirectIPv6AddressSpecificExtended) ProtoMessage() {} 6324 6325 func (x *RedirectIPv6AddressSpecificExtended) ProtoReflect() protoreflect.Message { 6326 mi := &file_attribute_proto_msgTypes[97] 6327 if protoimpl.UnsafeEnabled && x != nil { 6328 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6329 if ms.LoadMessageInfo() == nil { 6330 ms.StoreMessageInfo(mi) 6331 } 6332 return ms 6333 } 6334 return mi.MessageOf(x) 6335 } 6336 6337 // Deprecated: Use RedirectIPv6AddressSpecificExtended.ProtoReflect.Descriptor instead. 6338 func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { 6339 return file_attribute_proto_rawDescGZIP(), []int{97} 6340 } 6341 6342 func (x *RedirectIPv6AddressSpecificExtended) GetAddress() string { 6343 if x != nil { 6344 return x.Address 6345 } 6346 return "" 6347 } 6348 6349 func (x *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 { 6350 if x != nil { 6351 return x.LocalAdmin 6352 } 6353 return 0 6354 } 6355 6356 type IP6ExtendedCommunitiesAttribute struct { 6357 state protoimpl.MessageState 6358 sizeCache protoimpl.SizeCache 6359 unknownFields protoimpl.UnknownFields 6360 6361 // Each Community must be one of: 6362 // - IPv6AddressSpecificExtended 6363 // - RedirectIPv6AddressSpecificExtended 6364 Communities []*anypb.Any `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` 6365 } 6366 6367 func (x *IP6ExtendedCommunitiesAttribute) Reset() { 6368 *x = IP6ExtendedCommunitiesAttribute{} 6369 if protoimpl.UnsafeEnabled { 6370 mi := &file_attribute_proto_msgTypes[98] 6371 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6372 ms.StoreMessageInfo(mi) 6373 } 6374 } 6375 6376 func (x *IP6ExtendedCommunitiesAttribute) String() string { 6377 return protoimpl.X.MessageStringOf(x) 6378 } 6379 6380 func (*IP6ExtendedCommunitiesAttribute) ProtoMessage() {} 6381 6382 func (x *IP6ExtendedCommunitiesAttribute) ProtoReflect() protoreflect.Message { 6383 mi := &file_attribute_proto_msgTypes[98] 6384 if protoimpl.UnsafeEnabled && x != nil { 6385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6386 if ms.LoadMessageInfo() == nil { 6387 ms.StoreMessageInfo(mi) 6388 } 6389 return ms 6390 } 6391 return mi.MessageOf(x) 6392 } 6393 6394 // Deprecated: Use IP6ExtendedCommunitiesAttribute.ProtoReflect.Descriptor instead. 6395 func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { 6396 return file_attribute_proto_rawDescGZIP(), []int{98} 6397 } 6398 6399 func (x *IP6ExtendedCommunitiesAttribute) GetCommunities() []*anypb.Any { 6400 if x != nil { 6401 return x.Communities 6402 } 6403 return nil 6404 } 6405 6406 type AigpTLVIGPMetric struct { 6407 state protoimpl.MessageState 6408 sizeCache protoimpl.SizeCache 6409 unknownFields protoimpl.UnknownFields 6410 6411 Metric uint64 `protobuf:"varint,1,opt,name=metric,proto3" json:"metric,omitempty"` 6412 } 6413 6414 func (x *AigpTLVIGPMetric) Reset() { 6415 *x = AigpTLVIGPMetric{} 6416 if protoimpl.UnsafeEnabled { 6417 mi := &file_attribute_proto_msgTypes[99] 6418 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6419 ms.StoreMessageInfo(mi) 6420 } 6421 } 6422 6423 func (x *AigpTLVIGPMetric) String() string { 6424 return protoimpl.X.MessageStringOf(x) 6425 } 6426 6427 func (*AigpTLVIGPMetric) ProtoMessage() {} 6428 6429 func (x *AigpTLVIGPMetric) ProtoReflect() protoreflect.Message { 6430 mi := &file_attribute_proto_msgTypes[99] 6431 if protoimpl.UnsafeEnabled && x != nil { 6432 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6433 if ms.LoadMessageInfo() == nil { 6434 ms.StoreMessageInfo(mi) 6435 } 6436 return ms 6437 } 6438 return mi.MessageOf(x) 6439 } 6440 6441 // Deprecated: Use AigpTLVIGPMetric.ProtoReflect.Descriptor instead. 6442 func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) { 6443 return file_attribute_proto_rawDescGZIP(), []int{99} 6444 } 6445 6446 func (x *AigpTLVIGPMetric) GetMetric() uint64 { 6447 if x != nil { 6448 return x.Metric 6449 } 6450 return 0 6451 } 6452 6453 type AigpTLVUnknown struct { 6454 state protoimpl.MessageState 6455 sizeCache protoimpl.SizeCache 6456 unknownFields protoimpl.UnknownFields 6457 6458 Type uint32 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` 6459 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 6460 } 6461 6462 func (x *AigpTLVUnknown) Reset() { 6463 *x = AigpTLVUnknown{} 6464 if protoimpl.UnsafeEnabled { 6465 mi := &file_attribute_proto_msgTypes[100] 6466 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6467 ms.StoreMessageInfo(mi) 6468 } 6469 } 6470 6471 func (x *AigpTLVUnknown) String() string { 6472 return protoimpl.X.MessageStringOf(x) 6473 } 6474 6475 func (*AigpTLVUnknown) ProtoMessage() {} 6476 6477 func (x *AigpTLVUnknown) ProtoReflect() protoreflect.Message { 6478 mi := &file_attribute_proto_msgTypes[100] 6479 if protoimpl.UnsafeEnabled && x != nil { 6480 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6481 if ms.LoadMessageInfo() == nil { 6482 ms.StoreMessageInfo(mi) 6483 } 6484 return ms 6485 } 6486 return mi.MessageOf(x) 6487 } 6488 6489 // Deprecated: Use AigpTLVUnknown.ProtoReflect.Descriptor instead. 6490 func (*AigpTLVUnknown) Descriptor() ([]byte, []int) { 6491 return file_attribute_proto_rawDescGZIP(), []int{100} 6492 } 6493 6494 func (x *AigpTLVUnknown) GetType() uint32 { 6495 if x != nil { 6496 return x.Type 6497 } 6498 return 0 6499 } 6500 6501 func (x *AigpTLVUnknown) GetValue() []byte { 6502 if x != nil { 6503 return x.Value 6504 } 6505 return nil 6506 } 6507 6508 type AigpAttribute struct { 6509 state protoimpl.MessageState 6510 sizeCache protoimpl.SizeCache 6511 unknownFields protoimpl.UnknownFields 6512 6513 // Each TLV must be one of: 6514 // - AigpTLVIGPMetric 6515 // - AigpTLVUnknown 6516 Tlvs []*anypb.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` 6517 } 6518 6519 func (x *AigpAttribute) Reset() { 6520 *x = AigpAttribute{} 6521 if protoimpl.UnsafeEnabled { 6522 mi := &file_attribute_proto_msgTypes[101] 6523 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6524 ms.StoreMessageInfo(mi) 6525 } 6526 } 6527 6528 func (x *AigpAttribute) String() string { 6529 return protoimpl.X.MessageStringOf(x) 6530 } 6531 6532 func (*AigpAttribute) ProtoMessage() {} 6533 6534 func (x *AigpAttribute) ProtoReflect() protoreflect.Message { 6535 mi := &file_attribute_proto_msgTypes[101] 6536 if protoimpl.UnsafeEnabled && x != nil { 6537 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6538 if ms.LoadMessageInfo() == nil { 6539 ms.StoreMessageInfo(mi) 6540 } 6541 return ms 6542 } 6543 return mi.MessageOf(x) 6544 } 6545 6546 // Deprecated: Use AigpAttribute.ProtoReflect.Descriptor instead. 6547 func (*AigpAttribute) Descriptor() ([]byte, []int) { 6548 return file_attribute_proto_rawDescGZIP(), []int{101} 6549 } 6550 6551 func (x *AigpAttribute) GetTlvs() []*anypb.Any { 6552 if x != nil { 6553 return x.Tlvs 6554 } 6555 return nil 6556 } 6557 6558 type LargeCommunity struct { 6559 state protoimpl.MessageState 6560 sizeCache protoimpl.SizeCache 6561 unknownFields protoimpl.UnknownFields 6562 6563 GlobalAdmin uint32 `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin,proto3" json:"global_admin,omitempty"` 6564 LocalData1 uint32 `protobuf:"varint,2,opt,name=local_data1,json=localData1,proto3" json:"local_data1,omitempty"` 6565 LocalData2 uint32 `protobuf:"varint,3,opt,name=local_data2,json=localData2,proto3" json:"local_data2,omitempty"` 6566 } 6567 6568 func (x *LargeCommunity) Reset() { 6569 *x = LargeCommunity{} 6570 if protoimpl.UnsafeEnabled { 6571 mi := &file_attribute_proto_msgTypes[102] 6572 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6573 ms.StoreMessageInfo(mi) 6574 } 6575 } 6576 6577 func (x *LargeCommunity) String() string { 6578 return protoimpl.X.MessageStringOf(x) 6579 } 6580 6581 func (*LargeCommunity) ProtoMessage() {} 6582 6583 func (x *LargeCommunity) ProtoReflect() protoreflect.Message { 6584 mi := &file_attribute_proto_msgTypes[102] 6585 if protoimpl.UnsafeEnabled && x != nil { 6586 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6587 if ms.LoadMessageInfo() == nil { 6588 ms.StoreMessageInfo(mi) 6589 } 6590 return ms 6591 } 6592 return mi.MessageOf(x) 6593 } 6594 6595 // Deprecated: Use LargeCommunity.ProtoReflect.Descriptor instead. 6596 func (*LargeCommunity) Descriptor() ([]byte, []int) { 6597 return file_attribute_proto_rawDescGZIP(), []int{102} 6598 } 6599 6600 func (x *LargeCommunity) GetGlobalAdmin() uint32 { 6601 if x != nil { 6602 return x.GlobalAdmin 6603 } 6604 return 0 6605 } 6606 6607 func (x *LargeCommunity) GetLocalData1() uint32 { 6608 if x != nil { 6609 return x.LocalData1 6610 } 6611 return 0 6612 } 6613 6614 func (x *LargeCommunity) GetLocalData2() uint32 { 6615 if x != nil { 6616 return x.LocalData2 6617 } 6618 return 0 6619 } 6620 6621 type LargeCommunitiesAttribute struct { 6622 state protoimpl.MessageState 6623 sizeCache protoimpl.SizeCache 6624 unknownFields protoimpl.UnknownFields 6625 6626 Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities,proto3" json:"communities,omitempty"` 6627 } 6628 6629 func (x *LargeCommunitiesAttribute) Reset() { 6630 *x = LargeCommunitiesAttribute{} 6631 if protoimpl.UnsafeEnabled { 6632 mi := &file_attribute_proto_msgTypes[103] 6633 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6634 ms.StoreMessageInfo(mi) 6635 } 6636 } 6637 6638 func (x *LargeCommunitiesAttribute) String() string { 6639 return protoimpl.X.MessageStringOf(x) 6640 } 6641 6642 func (*LargeCommunitiesAttribute) ProtoMessage() {} 6643 6644 func (x *LargeCommunitiesAttribute) ProtoReflect() protoreflect.Message { 6645 mi := &file_attribute_proto_msgTypes[103] 6646 if protoimpl.UnsafeEnabled && x != nil { 6647 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6648 if ms.LoadMessageInfo() == nil { 6649 ms.StoreMessageInfo(mi) 6650 } 6651 return ms 6652 } 6653 return mi.MessageOf(x) 6654 } 6655 6656 // Deprecated: Use LargeCommunitiesAttribute.ProtoReflect.Descriptor instead. 6657 func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) { 6658 return file_attribute_proto_rawDescGZIP(), []int{103} 6659 } 6660 6661 func (x *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity { 6662 if x != nil { 6663 return x.Communities 6664 } 6665 return nil 6666 } 6667 6668 type LsNodeFlags struct { 6669 state protoimpl.MessageState 6670 sizeCache protoimpl.SizeCache 6671 unknownFields protoimpl.UnknownFields 6672 6673 Overload bool `protobuf:"varint,1,opt,name=overload,proto3" json:"overload,omitempty"` 6674 Attached bool `protobuf:"varint,2,opt,name=attached,proto3" json:"attached,omitempty"` 6675 External bool `protobuf:"varint,3,opt,name=external,proto3" json:"external,omitempty"` 6676 Abr bool `protobuf:"varint,4,opt,name=abr,proto3" json:"abr,omitempty"` 6677 Router bool `protobuf:"varint,5,opt,name=router,proto3" json:"router,omitempty"` 6678 V6 bool `protobuf:"varint,6,opt,name=v6,proto3" json:"v6,omitempty"` 6679 } 6680 6681 func (x *LsNodeFlags) Reset() { 6682 *x = LsNodeFlags{} 6683 if protoimpl.UnsafeEnabled { 6684 mi := &file_attribute_proto_msgTypes[104] 6685 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6686 ms.StoreMessageInfo(mi) 6687 } 6688 } 6689 6690 func (x *LsNodeFlags) String() string { 6691 return protoimpl.X.MessageStringOf(x) 6692 } 6693 6694 func (*LsNodeFlags) ProtoMessage() {} 6695 6696 func (x *LsNodeFlags) ProtoReflect() protoreflect.Message { 6697 mi := &file_attribute_proto_msgTypes[104] 6698 if protoimpl.UnsafeEnabled && x != nil { 6699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6700 if ms.LoadMessageInfo() == nil { 6701 ms.StoreMessageInfo(mi) 6702 } 6703 return ms 6704 } 6705 return mi.MessageOf(x) 6706 } 6707 6708 // Deprecated: Use LsNodeFlags.ProtoReflect.Descriptor instead. 6709 func (*LsNodeFlags) Descriptor() ([]byte, []int) { 6710 return file_attribute_proto_rawDescGZIP(), []int{104} 6711 } 6712 6713 func (x *LsNodeFlags) GetOverload() bool { 6714 if x != nil { 6715 return x.Overload 6716 } 6717 return false 6718 } 6719 6720 func (x *LsNodeFlags) GetAttached() bool { 6721 if x != nil { 6722 return x.Attached 6723 } 6724 return false 6725 } 6726 6727 func (x *LsNodeFlags) GetExternal() bool { 6728 if x != nil { 6729 return x.External 6730 } 6731 return false 6732 } 6733 6734 func (x *LsNodeFlags) GetAbr() bool { 6735 if x != nil { 6736 return x.Abr 6737 } 6738 return false 6739 } 6740 6741 func (x *LsNodeFlags) GetRouter() bool { 6742 if x != nil { 6743 return x.Router 6744 } 6745 return false 6746 } 6747 6748 func (x *LsNodeFlags) GetV6() bool { 6749 if x != nil { 6750 return x.V6 6751 } 6752 return false 6753 } 6754 6755 type LsIGPFlags struct { 6756 state protoimpl.MessageState 6757 sizeCache protoimpl.SizeCache 6758 unknownFields protoimpl.UnknownFields 6759 6760 Down bool `protobuf:"varint,1,opt,name=down,proto3" json:"down,omitempty"` 6761 NoUnicast bool `protobuf:"varint,2,opt,name=no_unicast,json=noUnicast,proto3" json:"no_unicast,omitempty"` 6762 LocalAddress bool `protobuf:"varint,3,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` 6763 PropagateNssa bool `protobuf:"varint,4,opt,name=propagate_nssa,json=propagateNssa,proto3" json:"propagate_nssa,omitempty"` 6764 } 6765 6766 func (x *LsIGPFlags) Reset() { 6767 *x = LsIGPFlags{} 6768 if protoimpl.UnsafeEnabled { 6769 mi := &file_attribute_proto_msgTypes[105] 6770 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6771 ms.StoreMessageInfo(mi) 6772 } 6773 } 6774 6775 func (x *LsIGPFlags) String() string { 6776 return protoimpl.X.MessageStringOf(x) 6777 } 6778 6779 func (*LsIGPFlags) ProtoMessage() {} 6780 6781 func (x *LsIGPFlags) ProtoReflect() protoreflect.Message { 6782 mi := &file_attribute_proto_msgTypes[105] 6783 if protoimpl.UnsafeEnabled && x != nil { 6784 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6785 if ms.LoadMessageInfo() == nil { 6786 ms.StoreMessageInfo(mi) 6787 } 6788 return ms 6789 } 6790 return mi.MessageOf(x) 6791 } 6792 6793 // Deprecated: Use LsIGPFlags.ProtoReflect.Descriptor instead. 6794 func (*LsIGPFlags) Descriptor() ([]byte, []int) { 6795 return file_attribute_proto_rawDescGZIP(), []int{105} 6796 } 6797 6798 func (x *LsIGPFlags) GetDown() bool { 6799 if x != nil { 6800 return x.Down 6801 } 6802 return false 6803 } 6804 6805 func (x *LsIGPFlags) GetNoUnicast() bool { 6806 if x != nil { 6807 return x.NoUnicast 6808 } 6809 return false 6810 } 6811 6812 func (x *LsIGPFlags) GetLocalAddress() bool { 6813 if x != nil { 6814 return x.LocalAddress 6815 } 6816 return false 6817 } 6818 6819 func (x *LsIGPFlags) GetPropagateNssa() bool { 6820 if x != nil { 6821 return x.PropagateNssa 6822 } 6823 return false 6824 } 6825 6826 type LsSrRange struct { 6827 state protoimpl.MessageState 6828 sizeCache protoimpl.SizeCache 6829 unknownFields protoimpl.UnknownFields 6830 6831 Begin uint32 `protobuf:"varint,1,opt,name=begin,proto3" json:"begin,omitempty"` 6832 End uint32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` 6833 } 6834 6835 func (x *LsSrRange) Reset() { 6836 *x = LsSrRange{} 6837 if protoimpl.UnsafeEnabled { 6838 mi := &file_attribute_proto_msgTypes[106] 6839 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6840 ms.StoreMessageInfo(mi) 6841 } 6842 } 6843 6844 func (x *LsSrRange) String() string { 6845 return protoimpl.X.MessageStringOf(x) 6846 } 6847 6848 func (*LsSrRange) ProtoMessage() {} 6849 6850 func (x *LsSrRange) ProtoReflect() protoreflect.Message { 6851 mi := &file_attribute_proto_msgTypes[106] 6852 if protoimpl.UnsafeEnabled && x != nil { 6853 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6854 if ms.LoadMessageInfo() == nil { 6855 ms.StoreMessageInfo(mi) 6856 } 6857 return ms 6858 } 6859 return mi.MessageOf(x) 6860 } 6861 6862 // Deprecated: Use LsSrRange.ProtoReflect.Descriptor instead. 6863 func (*LsSrRange) Descriptor() ([]byte, []int) { 6864 return file_attribute_proto_rawDescGZIP(), []int{106} 6865 } 6866 6867 func (x *LsSrRange) GetBegin() uint32 { 6868 if x != nil { 6869 return x.Begin 6870 } 6871 return 0 6872 } 6873 6874 func (x *LsSrRange) GetEnd() uint32 { 6875 if x != nil { 6876 return x.End 6877 } 6878 return 0 6879 } 6880 6881 type LsSrCapabilities struct { 6882 state protoimpl.MessageState 6883 sizeCache protoimpl.SizeCache 6884 unknownFields protoimpl.UnknownFields 6885 6886 Ipv4Supported bool `protobuf:"varint,1,opt,name=ipv4_supported,json=ipv4Supported,proto3" json:"ipv4_supported,omitempty"` 6887 Ipv6Supported bool `protobuf:"varint,2,opt,name=ipv6_supported,json=ipv6Supported,proto3" json:"ipv6_supported,omitempty"` 6888 Ranges []*LsSrRange `protobuf:"bytes,3,rep,name=ranges,proto3" json:"ranges,omitempty"` 6889 } 6890 6891 func (x *LsSrCapabilities) Reset() { 6892 *x = LsSrCapabilities{} 6893 if protoimpl.UnsafeEnabled { 6894 mi := &file_attribute_proto_msgTypes[107] 6895 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6896 ms.StoreMessageInfo(mi) 6897 } 6898 } 6899 6900 func (x *LsSrCapabilities) String() string { 6901 return protoimpl.X.MessageStringOf(x) 6902 } 6903 6904 func (*LsSrCapabilities) ProtoMessage() {} 6905 6906 func (x *LsSrCapabilities) ProtoReflect() protoreflect.Message { 6907 mi := &file_attribute_proto_msgTypes[107] 6908 if protoimpl.UnsafeEnabled && x != nil { 6909 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6910 if ms.LoadMessageInfo() == nil { 6911 ms.StoreMessageInfo(mi) 6912 } 6913 return ms 6914 } 6915 return mi.MessageOf(x) 6916 } 6917 6918 // Deprecated: Use LsSrCapabilities.ProtoReflect.Descriptor instead. 6919 func (*LsSrCapabilities) Descriptor() ([]byte, []int) { 6920 return file_attribute_proto_rawDescGZIP(), []int{107} 6921 } 6922 6923 func (x *LsSrCapabilities) GetIpv4Supported() bool { 6924 if x != nil { 6925 return x.Ipv4Supported 6926 } 6927 return false 6928 } 6929 6930 func (x *LsSrCapabilities) GetIpv6Supported() bool { 6931 if x != nil { 6932 return x.Ipv6Supported 6933 } 6934 return false 6935 } 6936 6937 func (x *LsSrCapabilities) GetRanges() []*LsSrRange { 6938 if x != nil { 6939 return x.Ranges 6940 } 6941 return nil 6942 } 6943 6944 type LsSrLocalBlock struct { 6945 state protoimpl.MessageState 6946 sizeCache protoimpl.SizeCache 6947 unknownFields protoimpl.UnknownFields 6948 6949 Ranges []*LsSrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"` 6950 } 6951 6952 func (x *LsSrLocalBlock) Reset() { 6953 *x = LsSrLocalBlock{} 6954 if protoimpl.UnsafeEnabled { 6955 mi := &file_attribute_proto_msgTypes[108] 6956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6957 ms.StoreMessageInfo(mi) 6958 } 6959 } 6960 6961 func (x *LsSrLocalBlock) String() string { 6962 return protoimpl.X.MessageStringOf(x) 6963 } 6964 6965 func (*LsSrLocalBlock) ProtoMessage() {} 6966 6967 func (x *LsSrLocalBlock) ProtoReflect() protoreflect.Message { 6968 mi := &file_attribute_proto_msgTypes[108] 6969 if protoimpl.UnsafeEnabled && x != nil { 6970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6971 if ms.LoadMessageInfo() == nil { 6972 ms.StoreMessageInfo(mi) 6973 } 6974 return ms 6975 } 6976 return mi.MessageOf(x) 6977 } 6978 6979 // Deprecated: Use LsSrLocalBlock.ProtoReflect.Descriptor instead. 6980 func (*LsSrLocalBlock) Descriptor() ([]byte, []int) { 6981 return file_attribute_proto_rawDescGZIP(), []int{108} 6982 } 6983 6984 func (x *LsSrLocalBlock) GetRanges() []*LsSrRange { 6985 if x != nil { 6986 return x.Ranges 6987 } 6988 return nil 6989 } 6990 6991 type LsAttributeNode struct { 6992 state protoimpl.MessageState 6993 sizeCache protoimpl.SizeCache 6994 unknownFields protoimpl.UnknownFields 6995 6996 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 6997 Flags *LsNodeFlags `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"` 6998 LocalRouterId string `protobuf:"bytes,3,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"` 6999 LocalRouterIdV6 string `protobuf:"bytes,4,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"` 7000 IsisArea []byte `protobuf:"bytes,5,opt,name=isis_area,json=isisArea,proto3" json:"isis_area,omitempty"` 7001 Opaque []byte `protobuf:"bytes,6,opt,name=opaque,proto3" json:"opaque,omitempty"` 7002 SrCapabilities *LsSrCapabilities `protobuf:"bytes,7,opt,name=sr_capabilities,json=srCapabilities,proto3" json:"sr_capabilities,omitempty"` 7003 SrAlgorithms []byte `protobuf:"bytes,8,opt,name=sr_algorithms,json=srAlgorithms,proto3" json:"sr_algorithms,omitempty"` 7004 SrLocalBlock *LsSrLocalBlock `protobuf:"bytes,9,opt,name=sr_local_block,json=srLocalBlock,proto3" json:"sr_local_block,omitempty"` 7005 } 7006 7007 func (x *LsAttributeNode) Reset() { 7008 *x = LsAttributeNode{} 7009 if protoimpl.UnsafeEnabled { 7010 mi := &file_attribute_proto_msgTypes[109] 7011 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7012 ms.StoreMessageInfo(mi) 7013 } 7014 } 7015 7016 func (x *LsAttributeNode) String() string { 7017 return protoimpl.X.MessageStringOf(x) 7018 } 7019 7020 func (*LsAttributeNode) ProtoMessage() {} 7021 7022 func (x *LsAttributeNode) ProtoReflect() protoreflect.Message { 7023 mi := &file_attribute_proto_msgTypes[109] 7024 if protoimpl.UnsafeEnabled && x != nil { 7025 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7026 if ms.LoadMessageInfo() == nil { 7027 ms.StoreMessageInfo(mi) 7028 } 7029 return ms 7030 } 7031 return mi.MessageOf(x) 7032 } 7033 7034 // Deprecated: Use LsAttributeNode.ProtoReflect.Descriptor instead. 7035 func (*LsAttributeNode) Descriptor() ([]byte, []int) { 7036 return file_attribute_proto_rawDescGZIP(), []int{109} 7037 } 7038 7039 func (x *LsAttributeNode) GetName() string { 7040 if x != nil { 7041 return x.Name 7042 } 7043 return "" 7044 } 7045 7046 func (x *LsAttributeNode) GetFlags() *LsNodeFlags { 7047 if x != nil { 7048 return x.Flags 7049 } 7050 return nil 7051 } 7052 7053 func (x *LsAttributeNode) GetLocalRouterId() string { 7054 if x != nil { 7055 return x.LocalRouterId 7056 } 7057 return "" 7058 } 7059 7060 func (x *LsAttributeNode) GetLocalRouterIdV6() string { 7061 if x != nil { 7062 return x.LocalRouterIdV6 7063 } 7064 return "" 7065 } 7066 7067 func (x *LsAttributeNode) GetIsisArea() []byte { 7068 if x != nil { 7069 return x.IsisArea 7070 } 7071 return nil 7072 } 7073 7074 func (x *LsAttributeNode) GetOpaque() []byte { 7075 if x != nil { 7076 return x.Opaque 7077 } 7078 return nil 7079 } 7080 7081 func (x *LsAttributeNode) GetSrCapabilities() *LsSrCapabilities { 7082 if x != nil { 7083 return x.SrCapabilities 7084 } 7085 return nil 7086 } 7087 7088 func (x *LsAttributeNode) GetSrAlgorithms() []byte { 7089 if x != nil { 7090 return x.SrAlgorithms 7091 } 7092 return nil 7093 } 7094 7095 func (x *LsAttributeNode) GetSrLocalBlock() *LsSrLocalBlock { 7096 if x != nil { 7097 return x.SrLocalBlock 7098 } 7099 return nil 7100 } 7101 7102 type LsAttributeLink struct { 7103 state protoimpl.MessageState 7104 sizeCache protoimpl.SizeCache 7105 unknownFields protoimpl.UnknownFields 7106 7107 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 7108 LocalRouterId string `protobuf:"bytes,2,opt,name=local_router_id,json=localRouterId,proto3" json:"local_router_id,omitempty"` 7109 LocalRouterIdV6 string `protobuf:"bytes,3,opt,name=local_router_id_v6,json=localRouterIdV6,proto3" json:"local_router_id_v6,omitempty"` 7110 RemoteRouterId string `protobuf:"bytes,4,opt,name=remote_router_id,json=remoteRouterId,proto3" json:"remote_router_id,omitempty"` 7111 RemoteRouterIdV6 string `protobuf:"bytes,5,opt,name=remote_router_id_v6,json=remoteRouterIdV6,proto3" json:"remote_router_id_v6,omitempty"` 7112 AdminGroup uint32 `protobuf:"varint,6,opt,name=admin_group,json=adminGroup,proto3" json:"admin_group,omitempty"` 7113 DefaultTeMetric uint32 `protobuf:"varint,7,opt,name=default_te_metric,json=defaultTeMetric,proto3" json:"default_te_metric,omitempty"` 7114 IgpMetric uint32 `protobuf:"varint,8,opt,name=igp_metric,json=igpMetric,proto3" json:"igp_metric,omitempty"` 7115 Opaque []byte `protobuf:"bytes,9,opt,name=opaque,proto3" json:"opaque,omitempty"` 7116 Bandwidth float32 `protobuf:"fixed32,10,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"` 7117 ReservableBandwidth float32 `protobuf:"fixed32,11,opt,name=reservable_bandwidth,json=reservableBandwidth,proto3" json:"reservable_bandwidth,omitempty"` 7118 UnreservedBandwidth []float32 `protobuf:"fixed32,12,rep,packed,name=unreserved_bandwidth,json=unreservedBandwidth,proto3" json:"unreserved_bandwidth,omitempty"` 7119 SrAdjacencySid uint32 `protobuf:"varint,13,opt,name=sr_adjacency_sid,json=srAdjacencySid,proto3" json:"sr_adjacency_sid,omitempty"` 7120 Srlgs []uint32 `protobuf:"varint,14,rep,packed,name=srlgs,proto3" json:"srlgs,omitempty"` 7121 } 7122 7123 func (x *LsAttributeLink) Reset() { 7124 *x = LsAttributeLink{} 7125 if protoimpl.UnsafeEnabled { 7126 mi := &file_attribute_proto_msgTypes[110] 7127 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7128 ms.StoreMessageInfo(mi) 7129 } 7130 } 7131 7132 func (x *LsAttributeLink) String() string { 7133 return protoimpl.X.MessageStringOf(x) 7134 } 7135 7136 func (*LsAttributeLink) ProtoMessage() {} 7137 7138 func (x *LsAttributeLink) ProtoReflect() protoreflect.Message { 7139 mi := &file_attribute_proto_msgTypes[110] 7140 if protoimpl.UnsafeEnabled && x != nil { 7141 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7142 if ms.LoadMessageInfo() == nil { 7143 ms.StoreMessageInfo(mi) 7144 } 7145 return ms 7146 } 7147 return mi.MessageOf(x) 7148 } 7149 7150 // Deprecated: Use LsAttributeLink.ProtoReflect.Descriptor instead. 7151 func (*LsAttributeLink) Descriptor() ([]byte, []int) { 7152 return file_attribute_proto_rawDescGZIP(), []int{110} 7153 } 7154 7155 func (x *LsAttributeLink) GetName() string { 7156 if x != nil { 7157 return x.Name 7158 } 7159 return "" 7160 } 7161 7162 func (x *LsAttributeLink) GetLocalRouterId() string { 7163 if x != nil { 7164 return x.LocalRouterId 7165 } 7166 return "" 7167 } 7168 7169 func (x *LsAttributeLink) GetLocalRouterIdV6() string { 7170 if x != nil { 7171 return x.LocalRouterIdV6 7172 } 7173 return "" 7174 } 7175 7176 func (x *LsAttributeLink) GetRemoteRouterId() string { 7177 if x != nil { 7178 return x.RemoteRouterId 7179 } 7180 return "" 7181 } 7182 7183 func (x *LsAttributeLink) GetRemoteRouterIdV6() string { 7184 if x != nil { 7185 return x.RemoteRouterIdV6 7186 } 7187 return "" 7188 } 7189 7190 func (x *LsAttributeLink) GetAdminGroup() uint32 { 7191 if x != nil { 7192 return x.AdminGroup 7193 } 7194 return 0 7195 } 7196 7197 func (x *LsAttributeLink) GetDefaultTeMetric() uint32 { 7198 if x != nil { 7199 return x.DefaultTeMetric 7200 } 7201 return 0 7202 } 7203 7204 func (x *LsAttributeLink) GetIgpMetric() uint32 { 7205 if x != nil { 7206 return x.IgpMetric 7207 } 7208 return 0 7209 } 7210 7211 func (x *LsAttributeLink) GetOpaque() []byte { 7212 if x != nil { 7213 return x.Opaque 7214 } 7215 return nil 7216 } 7217 7218 func (x *LsAttributeLink) GetBandwidth() float32 { 7219 if x != nil { 7220 return x.Bandwidth 7221 } 7222 return 0 7223 } 7224 7225 func (x *LsAttributeLink) GetReservableBandwidth() float32 { 7226 if x != nil { 7227 return x.ReservableBandwidth 7228 } 7229 return 0 7230 } 7231 7232 func (x *LsAttributeLink) GetUnreservedBandwidth() []float32 { 7233 if x != nil { 7234 return x.UnreservedBandwidth 7235 } 7236 return nil 7237 } 7238 7239 func (x *LsAttributeLink) GetSrAdjacencySid() uint32 { 7240 if x != nil { 7241 return x.SrAdjacencySid 7242 } 7243 return 0 7244 } 7245 7246 func (x *LsAttributeLink) GetSrlgs() []uint32 { 7247 if x != nil { 7248 return x.Srlgs 7249 } 7250 return nil 7251 } 7252 7253 type LsAttributePrefix struct { 7254 state protoimpl.MessageState 7255 sizeCache protoimpl.SizeCache 7256 unknownFields protoimpl.UnknownFields 7257 7258 IgpFlags *LsIGPFlags `protobuf:"bytes,1,opt,name=igp_flags,json=igpFlags,proto3" json:"igp_flags,omitempty"` 7259 Opaque []byte `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"` 7260 SrPrefixSid uint32 `protobuf:"varint,3,opt,name=sr_prefix_sid,json=srPrefixSid,proto3" json:"sr_prefix_sid,omitempty"` 7261 } 7262 7263 func (x *LsAttributePrefix) Reset() { 7264 *x = LsAttributePrefix{} 7265 if protoimpl.UnsafeEnabled { 7266 mi := &file_attribute_proto_msgTypes[111] 7267 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7268 ms.StoreMessageInfo(mi) 7269 } 7270 } 7271 7272 func (x *LsAttributePrefix) String() string { 7273 return protoimpl.X.MessageStringOf(x) 7274 } 7275 7276 func (*LsAttributePrefix) ProtoMessage() {} 7277 7278 func (x *LsAttributePrefix) ProtoReflect() protoreflect.Message { 7279 mi := &file_attribute_proto_msgTypes[111] 7280 if protoimpl.UnsafeEnabled && x != nil { 7281 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7282 if ms.LoadMessageInfo() == nil { 7283 ms.StoreMessageInfo(mi) 7284 } 7285 return ms 7286 } 7287 return mi.MessageOf(x) 7288 } 7289 7290 // Deprecated: Use LsAttributePrefix.ProtoReflect.Descriptor instead. 7291 func (*LsAttributePrefix) Descriptor() ([]byte, []int) { 7292 return file_attribute_proto_rawDescGZIP(), []int{111} 7293 } 7294 7295 func (x *LsAttributePrefix) GetIgpFlags() *LsIGPFlags { 7296 if x != nil { 7297 return x.IgpFlags 7298 } 7299 return nil 7300 } 7301 7302 func (x *LsAttributePrefix) GetOpaque() []byte { 7303 if x != nil { 7304 return x.Opaque 7305 } 7306 return nil 7307 } 7308 7309 func (x *LsAttributePrefix) GetSrPrefixSid() uint32 { 7310 if x != nil { 7311 return x.SrPrefixSid 7312 } 7313 return 0 7314 } 7315 7316 type LsBgpPeerSegmentSIDFlags struct { 7317 state protoimpl.MessageState 7318 sizeCache protoimpl.SizeCache 7319 unknownFields protoimpl.UnknownFields 7320 7321 Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` 7322 Local bool `protobuf:"varint,2,opt,name=local,proto3" json:"local,omitempty"` 7323 Backup bool `protobuf:"varint,3,opt,name=backup,proto3" json:"backup,omitempty"` 7324 Persistent bool `protobuf:"varint,4,opt,name=persistent,proto3" json:"persistent,omitempty"` 7325 } 7326 7327 func (x *LsBgpPeerSegmentSIDFlags) Reset() { 7328 *x = LsBgpPeerSegmentSIDFlags{} 7329 if protoimpl.UnsafeEnabled { 7330 mi := &file_attribute_proto_msgTypes[112] 7331 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7332 ms.StoreMessageInfo(mi) 7333 } 7334 } 7335 7336 func (x *LsBgpPeerSegmentSIDFlags) String() string { 7337 return protoimpl.X.MessageStringOf(x) 7338 } 7339 7340 func (*LsBgpPeerSegmentSIDFlags) ProtoMessage() {} 7341 7342 func (x *LsBgpPeerSegmentSIDFlags) ProtoReflect() protoreflect.Message { 7343 mi := &file_attribute_proto_msgTypes[112] 7344 if protoimpl.UnsafeEnabled && x != nil { 7345 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7346 if ms.LoadMessageInfo() == nil { 7347 ms.StoreMessageInfo(mi) 7348 } 7349 return ms 7350 } 7351 return mi.MessageOf(x) 7352 } 7353 7354 // Deprecated: Use LsBgpPeerSegmentSIDFlags.ProtoReflect.Descriptor instead. 7355 func (*LsBgpPeerSegmentSIDFlags) Descriptor() ([]byte, []int) { 7356 return file_attribute_proto_rawDescGZIP(), []int{112} 7357 } 7358 7359 func (x *LsBgpPeerSegmentSIDFlags) GetValue() bool { 7360 if x != nil { 7361 return x.Value 7362 } 7363 return false 7364 } 7365 7366 func (x *LsBgpPeerSegmentSIDFlags) GetLocal() bool { 7367 if x != nil { 7368 return x.Local 7369 } 7370 return false 7371 } 7372 7373 func (x *LsBgpPeerSegmentSIDFlags) GetBackup() bool { 7374 if x != nil { 7375 return x.Backup 7376 } 7377 return false 7378 } 7379 7380 func (x *LsBgpPeerSegmentSIDFlags) GetPersistent() bool { 7381 if x != nil { 7382 return x.Persistent 7383 } 7384 return false 7385 } 7386 7387 type LsBgpPeerSegmentSID struct { 7388 state protoimpl.MessageState 7389 sizeCache protoimpl.SizeCache 7390 unknownFields protoimpl.UnknownFields 7391 7392 Flags *LsBgpPeerSegmentSIDFlags `protobuf:"bytes,1,opt,name=flags,proto3" json:"flags,omitempty"` 7393 Weight uint32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"` 7394 Sid uint32 `protobuf:"varint,3,opt,name=sid,proto3" json:"sid,omitempty"` 7395 } 7396 7397 func (x *LsBgpPeerSegmentSID) Reset() { 7398 *x = LsBgpPeerSegmentSID{} 7399 if protoimpl.UnsafeEnabled { 7400 mi := &file_attribute_proto_msgTypes[113] 7401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7402 ms.StoreMessageInfo(mi) 7403 } 7404 } 7405 7406 func (x *LsBgpPeerSegmentSID) String() string { 7407 return protoimpl.X.MessageStringOf(x) 7408 } 7409 7410 func (*LsBgpPeerSegmentSID) ProtoMessage() {} 7411 7412 func (x *LsBgpPeerSegmentSID) ProtoReflect() protoreflect.Message { 7413 mi := &file_attribute_proto_msgTypes[113] 7414 if protoimpl.UnsafeEnabled && x != nil { 7415 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7416 if ms.LoadMessageInfo() == nil { 7417 ms.StoreMessageInfo(mi) 7418 } 7419 return ms 7420 } 7421 return mi.MessageOf(x) 7422 } 7423 7424 // Deprecated: Use LsBgpPeerSegmentSID.ProtoReflect.Descriptor instead. 7425 func (*LsBgpPeerSegmentSID) Descriptor() ([]byte, []int) { 7426 return file_attribute_proto_rawDescGZIP(), []int{113} 7427 } 7428 7429 func (x *LsBgpPeerSegmentSID) GetFlags() *LsBgpPeerSegmentSIDFlags { 7430 if x != nil { 7431 return x.Flags 7432 } 7433 return nil 7434 } 7435 7436 func (x *LsBgpPeerSegmentSID) GetWeight() uint32 { 7437 if x != nil { 7438 return x.Weight 7439 } 7440 return 0 7441 } 7442 7443 func (x *LsBgpPeerSegmentSID) GetSid() uint32 { 7444 if x != nil { 7445 return x.Sid 7446 } 7447 return 0 7448 } 7449 7450 type LsAttributeBgpPeerSegment struct { 7451 state protoimpl.MessageState 7452 sizeCache protoimpl.SizeCache 7453 unknownFields protoimpl.UnknownFields 7454 7455 BgpPeerNodeSid *LsBgpPeerSegmentSID `protobuf:"bytes,1,opt,name=bgp_peer_node_sid,json=bgpPeerNodeSid,proto3" json:"bgp_peer_node_sid,omitempty"` 7456 BgpPeerAdjacencySid *LsBgpPeerSegmentSID `protobuf:"bytes,2,opt,name=bgp_peer_adjacency_sid,json=bgpPeerAdjacencySid,proto3" json:"bgp_peer_adjacency_sid,omitempty"` 7457 BgpPeerSetSid *LsBgpPeerSegmentSID `protobuf:"bytes,3,opt,name=bgp_peer_set_sid,json=bgpPeerSetSid,proto3" json:"bgp_peer_set_sid,omitempty"` 7458 } 7459 7460 func (x *LsAttributeBgpPeerSegment) Reset() { 7461 *x = LsAttributeBgpPeerSegment{} 7462 if protoimpl.UnsafeEnabled { 7463 mi := &file_attribute_proto_msgTypes[114] 7464 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7465 ms.StoreMessageInfo(mi) 7466 } 7467 } 7468 7469 func (x *LsAttributeBgpPeerSegment) String() string { 7470 return protoimpl.X.MessageStringOf(x) 7471 } 7472 7473 func (*LsAttributeBgpPeerSegment) ProtoMessage() {} 7474 7475 func (x *LsAttributeBgpPeerSegment) ProtoReflect() protoreflect.Message { 7476 mi := &file_attribute_proto_msgTypes[114] 7477 if protoimpl.UnsafeEnabled && x != nil { 7478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7479 if ms.LoadMessageInfo() == nil { 7480 ms.StoreMessageInfo(mi) 7481 } 7482 return ms 7483 } 7484 return mi.MessageOf(x) 7485 } 7486 7487 // Deprecated: Use LsAttributeBgpPeerSegment.ProtoReflect.Descriptor instead. 7488 func (*LsAttributeBgpPeerSegment) Descriptor() ([]byte, []int) { 7489 return file_attribute_proto_rawDescGZIP(), []int{114} 7490 } 7491 7492 func (x *LsAttributeBgpPeerSegment) GetBgpPeerNodeSid() *LsBgpPeerSegmentSID { 7493 if x != nil { 7494 return x.BgpPeerNodeSid 7495 } 7496 return nil 7497 } 7498 7499 func (x *LsAttributeBgpPeerSegment) GetBgpPeerAdjacencySid() *LsBgpPeerSegmentSID { 7500 if x != nil { 7501 return x.BgpPeerAdjacencySid 7502 } 7503 return nil 7504 } 7505 7506 func (x *LsAttributeBgpPeerSegment) GetBgpPeerSetSid() *LsBgpPeerSegmentSID { 7507 if x != nil { 7508 return x.BgpPeerSetSid 7509 } 7510 return nil 7511 } 7512 7513 type LsAttribute struct { 7514 state protoimpl.MessageState 7515 sizeCache protoimpl.SizeCache 7516 unknownFields protoimpl.UnknownFields 7517 7518 Node *LsAttributeNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` 7519 Link *LsAttributeLink `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` 7520 Prefix *LsAttributePrefix `protobuf:"bytes,3,opt,name=prefix,proto3" json:"prefix,omitempty"` 7521 BgpPeerSegment *LsAttributeBgpPeerSegment `protobuf:"bytes,4,opt,name=bgp_peer_segment,json=bgpPeerSegment,proto3" json:"bgp_peer_segment,omitempty"` 7522 } 7523 7524 func (x *LsAttribute) Reset() { 7525 *x = LsAttribute{} 7526 if protoimpl.UnsafeEnabled { 7527 mi := &file_attribute_proto_msgTypes[115] 7528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7529 ms.StoreMessageInfo(mi) 7530 } 7531 } 7532 7533 func (x *LsAttribute) String() string { 7534 return protoimpl.X.MessageStringOf(x) 7535 } 7536 7537 func (*LsAttribute) ProtoMessage() {} 7538 7539 func (x *LsAttribute) ProtoReflect() protoreflect.Message { 7540 mi := &file_attribute_proto_msgTypes[115] 7541 if protoimpl.UnsafeEnabled && x != nil { 7542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7543 if ms.LoadMessageInfo() == nil { 7544 ms.StoreMessageInfo(mi) 7545 } 7546 return ms 7547 } 7548 return mi.MessageOf(x) 7549 } 7550 7551 // Deprecated: Use LsAttribute.ProtoReflect.Descriptor instead. 7552 func (*LsAttribute) Descriptor() ([]byte, []int) { 7553 return file_attribute_proto_rawDescGZIP(), []int{115} 7554 } 7555 7556 func (x *LsAttribute) GetNode() *LsAttributeNode { 7557 if x != nil { 7558 return x.Node 7559 } 7560 return nil 7561 } 7562 7563 func (x *LsAttribute) GetLink() *LsAttributeLink { 7564 if x != nil { 7565 return x.Link 7566 } 7567 return nil 7568 } 7569 7570 func (x *LsAttribute) GetPrefix() *LsAttributePrefix { 7571 if x != nil { 7572 return x.Prefix 7573 } 7574 return nil 7575 } 7576 7577 func (x *LsAttribute) GetBgpPeerSegment() *LsAttributeBgpPeerSegment { 7578 if x != nil { 7579 return x.BgpPeerSegment 7580 } 7581 return nil 7582 } 7583 7584 type UnknownAttribute struct { 7585 state protoimpl.MessageState 7586 sizeCache protoimpl.SizeCache 7587 unknownFields protoimpl.UnknownFields 7588 7589 Flags uint32 `protobuf:"varint,1,opt,name=flags,proto3" json:"flags,omitempty"` 7590 Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` 7591 Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 7592 } 7593 7594 func (x *UnknownAttribute) Reset() { 7595 *x = UnknownAttribute{} 7596 if protoimpl.UnsafeEnabled { 7597 mi := &file_attribute_proto_msgTypes[116] 7598 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7599 ms.StoreMessageInfo(mi) 7600 } 7601 } 7602 7603 func (x *UnknownAttribute) String() string { 7604 return protoimpl.X.MessageStringOf(x) 7605 } 7606 7607 func (*UnknownAttribute) ProtoMessage() {} 7608 7609 func (x *UnknownAttribute) ProtoReflect() protoreflect.Message { 7610 mi := &file_attribute_proto_msgTypes[116] 7611 if protoimpl.UnsafeEnabled && x != nil { 7612 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7613 if ms.LoadMessageInfo() == nil { 7614 ms.StoreMessageInfo(mi) 7615 } 7616 return ms 7617 } 7618 return mi.MessageOf(x) 7619 } 7620 7621 // Deprecated: Use UnknownAttribute.ProtoReflect.Descriptor instead. 7622 func (*UnknownAttribute) Descriptor() ([]byte, []int) { 7623 return file_attribute_proto_rawDescGZIP(), []int{116} 7624 } 7625 7626 func (x *UnknownAttribute) GetFlags() uint32 { 7627 if x != nil { 7628 return x.Flags 7629 } 7630 return 0 7631 } 7632 7633 func (x *UnknownAttribute) GetType() uint32 { 7634 if x != nil { 7635 return x.Type 7636 } 7637 return 0 7638 } 7639 7640 func (x *UnknownAttribute) GetValue() []byte { 7641 if x != nil { 7642 return x.Value 7643 } 7644 return nil 7645 } 7646 7647 // https://www.rfc-editor.org/rfc/rfc9252.html#section-3.2.1 7648 type SRv6StructureSubSubTLV struct { 7649 state protoimpl.MessageState 7650 sizeCache protoimpl.SizeCache 7651 unknownFields protoimpl.UnknownFields 7652 7653 LocatorBlockLength uint32 `protobuf:"varint,1,opt,name=locator_block_length,json=locatorBlockLength,proto3" json:"locator_block_length,omitempty"` 7654 LocatorNodeLength uint32 `protobuf:"varint,2,opt,name=locator_node_length,json=locatorNodeLength,proto3" json:"locator_node_length,omitempty"` 7655 FunctionLength uint32 `protobuf:"varint,3,opt,name=function_length,json=functionLength,proto3" json:"function_length,omitempty"` 7656 ArgumentLength uint32 `protobuf:"varint,4,opt,name=argument_length,json=argumentLength,proto3" json:"argument_length,omitempty"` 7657 TranspositionLength uint32 `protobuf:"varint,5,opt,name=transposition_length,json=transpositionLength,proto3" json:"transposition_length,omitempty"` 7658 TranspositionOffset uint32 `protobuf:"varint,6,opt,name=transposition_offset,json=transpositionOffset,proto3" json:"transposition_offset,omitempty"` 7659 } 7660 7661 func (x *SRv6StructureSubSubTLV) Reset() { 7662 *x = SRv6StructureSubSubTLV{} 7663 if protoimpl.UnsafeEnabled { 7664 mi := &file_attribute_proto_msgTypes[117] 7665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7666 ms.StoreMessageInfo(mi) 7667 } 7668 } 7669 7670 func (x *SRv6StructureSubSubTLV) String() string { 7671 return protoimpl.X.MessageStringOf(x) 7672 } 7673 7674 func (*SRv6StructureSubSubTLV) ProtoMessage() {} 7675 7676 func (x *SRv6StructureSubSubTLV) ProtoReflect() protoreflect.Message { 7677 mi := &file_attribute_proto_msgTypes[117] 7678 if protoimpl.UnsafeEnabled && x != nil { 7679 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7680 if ms.LoadMessageInfo() == nil { 7681 ms.StoreMessageInfo(mi) 7682 } 7683 return ms 7684 } 7685 return mi.MessageOf(x) 7686 } 7687 7688 // Deprecated: Use SRv6StructureSubSubTLV.ProtoReflect.Descriptor instead. 7689 func (*SRv6StructureSubSubTLV) Descriptor() ([]byte, []int) { 7690 return file_attribute_proto_rawDescGZIP(), []int{117} 7691 } 7692 7693 func (x *SRv6StructureSubSubTLV) GetLocatorBlockLength() uint32 { 7694 if x != nil { 7695 return x.LocatorBlockLength 7696 } 7697 return 0 7698 } 7699 7700 func (x *SRv6StructureSubSubTLV) GetLocatorNodeLength() uint32 { 7701 if x != nil { 7702 return x.LocatorNodeLength 7703 } 7704 return 0 7705 } 7706 7707 func (x *SRv6StructureSubSubTLV) GetFunctionLength() uint32 { 7708 if x != nil { 7709 return x.FunctionLength 7710 } 7711 return 0 7712 } 7713 7714 func (x *SRv6StructureSubSubTLV) GetArgumentLength() uint32 { 7715 if x != nil { 7716 return x.ArgumentLength 7717 } 7718 return 0 7719 } 7720 7721 func (x *SRv6StructureSubSubTLV) GetTranspositionLength() uint32 { 7722 if x != nil { 7723 return x.TranspositionLength 7724 } 7725 return 0 7726 } 7727 7728 func (x *SRv6StructureSubSubTLV) GetTranspositionOffset() uint32 { 7729 if x != nil { 7730 return x.TranspositionOffset 7731 } 7732 return 0 7733 } 7734 7735 type SRv6SIDFlags struct { 7736 state protoimpl.MessageState 7737 sizeCache protoimpl.SizeCache 7738 unknownFields protoimpl.UnknownFields 7739 7740 // Placeholder for future sid flags 7741 Flag_1 bool `protobuf:"varint,1,opt,name=flag_1,json=flag1,proto3" json:"flag_1,omitempty"` 7742 } 7743 7744 func (x *SRv6SIDFlags) Reset() { 7745 *x = SRv6SIDFlags{} 7746 if protoimpl.UnsafeEnabled { 7747 mi := &file_attribute_proto_msgTypes[118] 7748 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7749 ms.StoreMessageInfo(mi) 7750 } 7751 } 7752 7753 func (x *SRv6SIDFlags) String() string { 7754 return protoimpl.X.MessageStringOf(x) 7755 } 7756 7757 func (*SRv6SIDFlags) ProtoMessage() {} 7758 7759 func (x *SRv6SIDFlags) ProtoReflect() protoreflect.Message { 7760 mi := &file_attribute_proto_msgTypes[118] 7761 if protoimpl.UnsafeEnabled && x != nil { 7762 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7763 if ms.LoadMessageInfo() == nil { 7764 ms.StoreMessageInfo(mi) 7765 } 7766 return ms 7767 } 7768 return mi.MessageOf(x) 7769 } 7770 7771 // Deprecated: Use SRv6SIDFlags.ProtoReflect.Descriptor instead. 7772 func (*SRv6SIDFlags) Descriptor() ([]byte, []int) { 7773 return file_attribute_proto_rawDescGZIP(), []int{118} 7774 } 7775 7776 func (x *SRv6SIDFlags) GetFlag_1() bool { 7777 if x != nil { 7778 return x.Flag_1 7779 } 7780 return false 7781 } 7782 7783 type SRv6TLV struct { 7784 state protoimpl.MessageState 7785 sizeCache protoimpl.SizeCache 7786 unknownFields protoimpl.UnknownFields 7787 7788 Tlv []*anypb.Any `protobuf:"bytes,1,rep,name=tlv,proto3" json:"tlv,omitempty"` 7789 } 7790 7791 func (x *SRv6TLV) Reset() { 7792 *x = SRv6TLV{} 7793 if protoimpl.UnsafeEnabled { 7794 mi := &file_attribute_proto_msgTypes[119] 7795 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7796 ms.StoreMessageInfo(mi) 7797 } 7798 } 7799 7800 func (x *SRv6TLV) String() string { 7801 return protoimpl.X.MessageStringOf(x) 7802 } 7803 7804 func (*SRv6TLV) ProtoMessage() {} 7805 7806 func (x *SRv6TLV) ProtoReflect() protoreflect.Message { 7807 mi := &file_attribute_proto_msgTypes[119] 7808 if protoimpl.UnsafeEnabled && x != nil { 7809 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7810 if ms.LoadMessageInfo() == nil { 7811 ms.StoreMessageInfo(mi) 7812 } 7813 return ms 7814 } 7815 return mi.MessageOf(x) 7816 } 7817 7818 // Deprecated: Use SRv6TLV.ProtoReflect.Descriptor instead. 7819 func (*SRv6TLV) Descriptor() ([]byte, []int) { 7820 return file_attribute_proto_rawDescGZIP(), []int{119} 7821 } 7822 7823 func (x *SRv6TLV) GetTlv() []*anypb.Any { 7824 if x != nil { 7825 return x.Tlv 7826 } 7827 return nil 7828 } 7829 7830 // https://tools.ietf.org/html/draft-dawra-bess-srv6-services-02#section-2.1.1 7831 type SRv6InformationSubTLV struct { 7832 state protoimpl.MessageState 7833 sizeCache protoimpl.SizeCache 7834 unknownFields protoimpl.UnknownFields 7835 7836 Sid []byte `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"` 7837 Flags *SRv6SIDFlags `protobuf:"bytes,2,opt,name=flags,proto3" json:"flags,omitempty"` 7838 EndpointBehavior uint32 `protobuf:"varint,3,opt,name=endpoint_behavior,json=endpointBehavior,proto3" json:"endpoint_behavior,omitempty"` 7839 // SRv6TLV is one of: 7840 // - SRv6StructureSubSubTLV 7841 SubSubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,4,rep,name=sub_sub_tlvs,json=subSubTlvs,proto3" json:"sub_sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 7842 } 7843 7844 func (x *SRv6InformationSubTLV) Reset() { 7845 *x = SRv6InformationSubTLV{} 7846 if protoimpl.UnsafeEnabled { 7847 mi := &file_attribute_proto_msgTypes[120] 7848 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7849 ms.StoreMessageInfo(mi) 7850 } 7851 } 7852 7853 func (x *SRv6InformationSubTLV) String() string { 7854 return protoimpl.X.MessageStringOf(x) 7855 } 7856 7857 func (*SRv6InformationSubTLV) ProtoMessage() {} 7858 7859 func (x *SRv6InformationSubTLV) ProtoReflect() protoreflect.Message { 7860 mi := &file_attribute_proto_msgTypes[120] 7861 if protoimpl.UnsafeEnabled && x != nil { 7862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7863 if ms.LoadMessageInfo() == nil { 7864 ms.StoreMessageInfo(mi) 7865 } 7866 return ms 7867 } 7868 return mi.MessageOf(x) 7869 } 7870 7871 // Deprecated: Use SRv6InformationSubTLV.ProtoReflect.Descriptor instead. 7872 func (*SRv6InformationSubTLV) Descriptor() ([]byte, []int) { 7873 return file_attribute_proto_rawDescGZIP(), []int{120} 7874 } 7875 7876 func (x *SRv6InformationSubTLV) GetSid() []byte { 7877 if x != nil { 7878 return x.Sid 7879 } 7880 return nil 7881 } 7882 7883 func (x *SRv6InformationSubTLV) GetFlags() *SRv6SIDFlags { 7884 if x != nil { 7885 return x.Flags 7886 } 7887 return nil 7888 } 7889 7890 func (x *SRv6InformationSubTLV) GetEndpointBehavior() uint32 { 7891 if x != nil { 7892 return x.EndpointBehavior 7893 } 7894 return 0 7895 } 7896 7897 func (x *SRv6InformationSubTLV) GetSubSubTlvs() map[uint32]*SRv6TLV { 7898 if x != nil { 7899 return x.SubSubTlvs 7900 } 7901 return nil 7902 } 7903 7904 // https://www.rfc-editor.org/rfc/rfc9252.html#section-2 7905 type SRv6L3ServiceTLV struct { 7906 state protoimpl.MessageState 7907 sizeCache protoimpl.SizeCache 7908 unknownFields protoimpl.UnknownFields 7909 7910 // SRv6TLV is one of: 7911 // - SRv6InformationSubTLV 7912 SubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 7913 } 7914 7915 func (x *SRv6L3ServiceTLV) Reset() { 7916 *x = SRv6L3ServiceTLV{} 7917 if protoimpl.UnsafeEnabled { 7918 mi := &file_attribute_proto_msgTypes[121] 7919 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7920 ms.StoreMessageInfo(mi) 7921 } 7922 } 7923 7924 func (x *SRv6L3ServiceTLV) String() string { 7925 return protoimpl.X.MessageStringOf(x) 7926 } 7927 7928 func (*SRv6L3ServiceTLV) ProtoMessage() {} 7929 7930 func (x *SRv6L3ServiceTLV) ProtoReflect() protoreflect.Message { 7931 mi := &file_attribute_proto_msgTypes[121] 7932 if protoimpl.UnsafeEnabled && x != nil { 7933 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7934 if ms.LoadMessageInfo() == nil { 7935 ms.StoreMessageInfo(mi) 7936 } 7937 return ms 7938 } 7939 return mi.MessageOf(x) 7940 } 7941 7942 // Deprecated: Use SRv6L3ServiceTLV.ProtoReflect.Descriptor instead. 7943 func (*SRv6L3ServiceTLV) Descriptor() ([]byte, []int) { 7944 return file_attribute_proto_rawDescGZIP(), []int{121} 7945 } 7946 7947 func (x *SRv6L3ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV { 7948 if x != nil { 7949 return x.SubTlvs 7950 } 7951 return nil 7952 } 7953 7954 // https://www.rfc-editor.org/rfc/rfc9252.html#section-2 7955 type SRv6L2ServiceTLV struct { 7956 state protoimpl.MessageState 7957 sizeCache protoimpl.SizeCache 7958 unknownFields protoimpl.UnknownFields 7959 7960 // SRv6TLV is one of: 7961 // - SRv6InformationSubTLV 7962 SubTlvs map[uint32]*SRv6TLV `protobuf:"bytes,1,rep,name=sub_tlvs,json=subTlvs,proto3" json:"sub_tlvs,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 7963 } 7964 7965 func (x *SRv6L2ServiceTLV) Reset() { 7966 *x = SRv6L2ServiceTLV{} 7967 if protoimpl.UnsafeEnabled { 7968 mi := &file_attribute_proto_msgTypes[122] 7969 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7970 ms.StoreMessageInfo(mi) 7971 } 7972 } 7973 7974 func (x *SRv6L2ServiceTLV) String() string { 7975 return protoimpl.X.MessageStringOf(x) 7976 } 7977 7978 func (*SRv6L2ServiceTLV) ProtoMessage() {} 7979 7980 func (x *SRv6L2ServiceTLV) ProtoReflect() protoreflect.Message { 7981 mi := &file_attribute_proto_msgTypes[122] 7982 if protoimpl.UnsafeEnabled && x != nil { 7983 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7984 if ms.LoadMessageInfo() == nil { 7985 ms.StoreMessageInfo(mi) 7986 } 7987 return ms 7988 } 7989 return mi.MessageOf(x) 7990 } 7991 7992 // Deprecated: Use SRv6L2ServiceTLV.ProtoReflect.Descriptor instead. 7993 func (*SRv6L2ServiceTLV) Descriptor() ([]byte, []int) { 7994 return file_attribute_proto_rawDescGZIP(), []int{122} 7995 } 7996 7997 func (x *SRv6L2ServiceTLV) GetSubTlvs() map[uint32]*SRv6TLV { 7998 if x != nil { 7999 return x.SubTlvs 8000 } 8001 return nil 8002 } 8003 8004 // https://tools.ietf.org/html/rfc8669 8005 type PrefixSID struct { 8006 state protoimpl.MessageState 8007 sizeCache protoimpl.SizeCache 8008 unknownFields protoimpl.UnknownFields 8009 8010 // tlv is one of: 8011 // - IndexLabelTLV Type 1 (not yet implemented) 8012 // - OriginatorSRGBTLV Type 3 (not yet implemented) 8013 // - SRv6L3ServiceTLV Type 5 8014 // - SRv6L2ServiceTLV Type 6 8015 Tlvs []*anypb.Any `protobuf:"bytes,1,rep,name=tlvs,proto3" json:"tlvs,omitempty"` 8016 } 8017 8018 func (x *PrefixSID) Reset() { 8019 *x = PrefixSID{} 8020 if protoimpl.UnsafeEnabled { 8021 mi := &file_attribute_proto_msgTypes[123] 8022 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8023 ms.StoreMessageInfo(mi) 8024 } 8025 } 8026 8027 func (x *PrefixSID) String() string { 8028 return protoimpl.X.MessageStringOf(x) 8029 } 8030 8031 func (*PrefixSID) ProtoMessage() {} 8032 8033 func (x *PrefixSID) ProtoReflect() protoreflect.Message { 8034 mi := &file_attribute_proto_msgTypes[123] 8035 if protoimpl.UnsafeEnabled && x != nil { 8036 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8037 if ms.LoadMessageInfo() == nil { 8038 ms.StoreMessageInfo(mi) 8039 } 8040 return ms 8041 } 8042 return mi.MessageOf(x) 8043 } 8044 8045 // Deprecated: Use PrefixSID.ProtoReflect.Descriptor instead. 8046 func (*PrefixSID) Descriptor() ([]byte, []int) { 8047 return file_attribute_proto_rawDescGZIP(), []int{123} 8048 } 8049 8050 func (x *PrefixSID) GetTlvs() []*anypb.Any { 8051 if x != nil { 8052 return x.Tlvs 8053 } 8054 return nil 8055 } 8056 8057 var File_attribute_proto protoreflect.FileDescriptor 8058 8059 var file_attribute_proto_rawDesc = []byte{ 8060 0x0a, 0x0f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 8061 0x6f, 0x12, 0x05, 0x61, 0x70, 0x69, 0x70, 0x62, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 8062 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 8063 0x6f, 0x74, 0x6f, 0x1a, 0x0b, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 8064 0x22, 0x29, 0x0a, 0x0f, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 8065 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 8066 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 0xad, 0x01, 0x0a, 0x09, 8067 0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x79, 0x70, 8068 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 8069 0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 8070 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 8071 0x02, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x22, 0x5b, 8072 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 8073 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 8074 0x0f, 0x0a, 0x0b, 0x41, 0x53, 0x5f, 0x53, 0x45, 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x02, 8075 0x12, 0x16, 0x0a, 0x12, 0x41, 0x53, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45, 8076 0x51, 0x55, 0x45, 0x4e, 0x43, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x53, 0x5f, 0x43, 8077 0x4f, 0x4e, 0x46, 0x45, 0x44, 0x5f, 0x53, 0x45, 0x54, 0x10, 0x04, 0x22, 0x3f, 0x0a, 0x0f, 0x41, 8078 0x73, 0x50, 0x61, 0x74, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2c, 8079 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 8080 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x53, 0x65, 0x67, 0x6d, 0x65, 8081 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x2d, 0x0a, 0x10, 8082 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 8083 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 8084 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x22, 0x2a, 0x0a, 0x16, 0x4d, 8085 0x75, 0x6c, 0x74, 0x69, 0x45, 0x78, 0x69, 0x74, 0x44, 0x69, 0x73, 0x63, 0x41, 0x74, 0x74, 0x72, 8086 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 8087 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x65, 0x64, 0x22, 0x33, 0x0a, 0x12, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 8088 0x50, 0x72, 0x65, 0x66, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x1d, 0x0a, 8089 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 8090 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x22, 0x1a, 0x0a, 0x18, 8091 0x41, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x41, 8092 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x41, 0x0a, 0x13, 0x41, 0x67, 0x67, 0x72, 8093 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 8094 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 8095 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 8096 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x38, 0x0a, 0x14, 0x43, 8097 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 8098 0x75, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 8099 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 8100 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x15, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 8101 0x74, 0x6f, 0x72, 0x49, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x0e, 8102 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x28, 8103 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x74, 0x74, 8104 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 8105 0x03, 0x28, 0x09, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x48, 0x0a, 0x0f, 0x49, 0x50, 0x41, 0x64, 8106 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 8107 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 8108 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 8109 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 8110 0x69, 0x78, 0x22, 0x67, 0x0a, 0x16, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, 0x64, 0x49, 0x50, 0x41, 8111 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 8112 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 8113 0x62, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 8114 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 8115 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 8116 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x2d, 0x0a, 0x11, 0x45, 8117 0x6e, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x4c, 0x52, 0x49, 8118 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 8119 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x51, 0x0a, 0x1d, 0x52, 0x6f, 8120 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 8121 0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x53, 0x4e, 0x12, 0x14, 0x0a, 0x05, 0x61, 8122 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x61, 0x64, 0x6d, 0x69, 8123 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 0x20, 8124 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x4f, 0x0a, 8125 0x1b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 8126 0x68, 0x65, 0x72, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, 0x05, 8127 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x64, 0x6d, 8128 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x02, 8129 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x22, 0x52, 8130 0x0a, 0x1e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 8131 0x73, 0x68, 0x65, 0x72, 0x46, 0x6f, 0x75, 0x72, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x53, 0x4e, 8132 0x12, 0x14, 0x0a, 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 8133 0x05, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 8134 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 8135 0x65, 0x64, 0x22, 0x45, 0x0a, 0x19, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 8136 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 8137 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 8138 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 8139 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xbb, 0x01, 0x0a, 0x08, 0x56, 0x50, 8140 0x4c, 0x53, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 8141 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 8142 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x13, 0x0a, 0x05, 8143 0x76, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x76, 0x65, 0x49, 8144 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x65, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6f, 0x66, 8145 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x76, 0x65, 0x42, 0x6c, 8146 0x6f, 0x63, 0x6b, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x76, 0x65, 0x5f, 8147 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 8148 0x52, 0x0b, 0x76, 0x65, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 8149 0x10, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x62, 0x61, 0x73, 8150 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x42, 0x6c, 8151 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x73, 0x65, 0x22, 0xb3, 0x01, 0x0a, 0x1e, 0x45, 0x56, 0x50, 0x4e, 8152 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x41, 0x75, 0x74, 0x6f, 0x44, 0x69, 0x73, 0x63, 8153 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 8154 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 8155 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 8156 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 8157 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 8158 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 8159 0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 8160 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 8161 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 8162 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xf2, 0x01, 8163 0x0a, 0x1b, 0x45, 0x56, 0x50, 0x4e, 0x4d, 0x41, 0x43, 0x49, 0x50, 0x41, 0x64, 0x76, 0x65, 0x72, 8164 0x74, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 8165 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 8166 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 8167 0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 8168 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 8169 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 8170 0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 8171 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 8172 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 8173 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 8174 0x0a, 0x6d, 0x61, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 8175 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 8176 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 8177 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 8178 0x6c, 0x73, 0x22, 0x90, 0x01, 0x0a, 0x26, 0x45, 0x56, 0x50, 0x4e, 0x49, 0x6e, 0x63, 0x6c, 0x75, 8179 0x73, 0x69, 0x76, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x61, 0x73, 0x74, 0x45, 0x74, 0x68, 8180 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 8181 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 8182 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 8183 0x02, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 8184 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 8185 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 8186 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 8187 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x93, 0x01, 0x0a, 0x18, 0x45, 0x56, 0x50, 0x4e, 0x45, 0x74, 8188 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 8189 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 8190 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 8191 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 8192 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 8193 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 8194 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x1d, 0x0a, 0x0a, 8195 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 8196 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x11, 8197 0x45, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x6f, 0x75, 0x74, 8198 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 8199 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 8200 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x32, 0x0a, 0x03, 0x65, 0x73, 0x69, 0x18, 0x02, 8201 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x74, 0x68, 8202 0x65, 0x72, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x65, 0x6e, 8203 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x65, 0x73, 0x69, 0x12, 0x21, 0x0a, 0x0c, 0x65, 8204 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 8205 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1b, 8206 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 8207 0x09, 0x52, 0x08, 0x69, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x22, 0x0a, 0x0d, 0x69, 8208 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 8209 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x12, 8210 0x1d, 0x0a, 0x0a, 0x67, 0x77, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 8211 0x01, 0x28, 0x09, 0x52, 0x09, 0x67, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 8212 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 8213 0x61, 0x62, 0x65, 0x6c, 0x22, 0x7f, 0x0a, 0x0e, 0x45, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x4d, 0x53, 8214 0x49, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 8215 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 8216 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 8217 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 8218 0x28, 0x0d, 0x52, 0x0b, 0x65, 0x74, 0x68, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x67, 0x12, 8219 0x24, 0x0a, 0x02, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 8220 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 8221 0x79, 0x52, 0x02, 0x72, 0x74, 0x22, 0x7e, 0x0a, 0x0c, 0x53, 0x52, 0x50, 0x6f, 0x6c, 0x69, 0x63, 8222 0x79, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 8223 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x24, 0x0a, 8224 0x0d, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x02, 8225 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x75, 0x69, 0x73, 8226 0x68, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 8227 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 8228 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x65, 0x6e, 0x64, 8229 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x19, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x65, 8230 0x64, 0x56, 0x50, 0x4e, 0x49, 0x50, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 8231 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 8232 0x03, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x02, 0x72, 8233 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 8234 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 8235 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 8236 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 8237 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 8238 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x53, 0x0a, 0x19, 0x52, 0x6f, 0x75, 0x74, 8239 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 8240 0x70, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 8241 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x74, 0x18, 0x02, 0x20, 8242 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 8243 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x74, 0x22, 0x75, 0x0a, 8244 0x10, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x49, 0x50, 0x50, 0x72, 0x65, 0x66, 0x69, 8245 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 8246 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 8247 0x6c, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 8248 0x78, 0x4c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 8249 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 8250 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 8251 0x66, 0x73, 0x65, 0x74, 0x22, 0x3b, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 8252 0x4d, 0x41, 0x43, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 8253 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 8254 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 8255 0x73, 0x22, 0x3d, 0x0a, 0x15, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d, 8256 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 8257 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x6f, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 8258 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 8259 0x22, 0x5b, 0x0a, 0x11, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x70, 8260 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 8261 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x74, 0x65, 8262 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 8263 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 8264 0x6e, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3a, 0x0a, 8265 0x0c, 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x2a, 0x0a, 8266 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 8267 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 8268 0x6e, 0x79, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x0f, 0x56, 0x50, 0x4e, 8269 0x46, 0x6c, 0x6f, 0x77, 0x53, 0x70, 0x65, 0x63, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x24, 0x0a, 0x02, 8270 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8271 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 8272 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 8273 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 8274 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x34, 8275 0x0a, 0x0a, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x10, 0x0a, 0x03, 8276 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 8277 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 8278 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x02, 0x0a, 0x10, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 8279 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 8280 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x09, 0x62, 8281 0x67, 0x70, 0x5f, 0x6c, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 8282 0x62, 0x67, 0x70, 0x4c, 0x73, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6f, 0x73, 0x70, 0x66, 0x5f, 8283 0x61, 0x72, 0x65, 0x61, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6f, 8284 0x73, 0x70, 0x66, 0x41, 0x72, 0x65, 0x61, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x73, 0x65, 8285 0x75, 0x64, 0x6f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 8286 0x73, 0x65, 0x75, 0x64, 0x6f, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x67, 0x70, 8287 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 8288 0x52, 0x0b, 0x69, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a, 8289 0x0d, 0x62, 0x67, 0x70, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 8290 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x67, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 8291 0x64, 0x12, 0x38, 0x0a, 0x18, 0x62, 0x67, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 8292 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 8293 0x01, 0x28, 0x0d, 0x52, 0x16, 0x62, 0x67, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 0x72, 8294 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x98, 0x02, 0x0a, 0x10, 8295 0x4c, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 8296 0x12, 0x22, 0x0a, 0x0d, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 8297 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6c, 0x69, 0x6e, 0x6b, 0x4c, 0x6f, 0x63, 8298 0x61, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x72, 0x65, 0x6d, 8299 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6c, 0x69, 8300 0x6e, 0x6b, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 8301 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 8302 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 8303 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, 0x34, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 8304 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x34, 8305 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 8306 0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, 0x34, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 8307 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 8308 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 8309 0x41, 0x64, 0x64, 0x72, 0x49, 0x70, 0x76, 0x36, 0x12, 0x2c, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67, 8310 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x06, 8311 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 8312 0x64, 0x72, 0x49, 0x70, 0x76, 0x36, 0x22, 0x7d, 0x0a, 0x12, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 8313 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0f, 8314 0x69, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 8315 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x70, 0x52, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 8316 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0f, 0x6f, 0x73, 0x70, 0x66, 0x5f, 0x72, 0x6f, 8317 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 8318 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, 8319 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x6f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, 0x74, 8320 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x44, 0x0a, 0x0a, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 8321 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 8322 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 8323 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 8324 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x0a, 8325 0x4c, 0x73, 0x4c, 0x69, 0x6e, 0x6b, 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 8326 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 8327 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 8328 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 8329 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 8330 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 8331 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 8332 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x40, 0x0a, 0x0f, 8333 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 8334 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 8335 0x4c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0e, 8336 0x6c, 0x69, 0x6e, 0x6b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x22, 0x90, 8337 0x01, 0x0a, 0x0e, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x56, 0x34, 0x4e, 0x4c, 0x52, 8338 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 8339 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 8340 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x09, 8341 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x11, 0x70, 0x72, 0x65, 8342 0x66, 0x69, 0x78, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x18, 0x02, 8343 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x50, 8344 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 8345 0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 8346 0x72, 0x22, 0x90, 0x01, 0x0a, 0x0e, 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x56, 0x36, 8347 0x4e, 0x4c, 0x52, 0x49, 0x12, 0x36, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 8348 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 8349 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 8350 0x72, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x11, 8351 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 8352 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 8353 0x4c, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 8354 0x6f, 0x72, 0x52, 0x10, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 8355 0x70, 0x74, 0x6f, 0x72, 0x22, 0xcd, 0x01, 0x0a, 0x0c, 0x4c, 0x73, 0x41, 0x64, 0x64, 0x72, 0x50, 8356 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 8357 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x4c, 8358 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 8359 0x6e, 0x6c, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 8360 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 8361 0x52, 0x04, 0x6e, 0x6c, 0x72, 0x69, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 8362 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x34, 8363 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 8364 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x50, 0x72, 8365 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x44, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 8366 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 8367 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 8368 0x66, 0x69, 0x65, 0x72, 0x22, 0x61, 0x0a, 0x21, 0x4d, 0x55, 0x50, 0x49, 0x6e, 0x74, 0x65, 0x72, 8369 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 8370 0x76, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 8371 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 8372 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 8373 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 8374 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x60, 0x0a, 0x1e, 0x4d, 0x55, 0x50, 0x44, 0x69, 8375 0x72, 0x65, 0x63, 0x74, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x63, 0x6f, 8376 0x76, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 8377 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 8378 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 8379 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 8380 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xec, 0x02, 0x0a, 0x1f, 0x4d, 0x55, 8381 0x50, 0x54, 0x79, 0x70, 0x65, 0x31, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 8382 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 8383 0x02, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 8384 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 8385 0x02, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x6c, 0x65, 8386 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 8387 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x16, 0x0a, 0x06, 8388 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 8389 0x65, 0x66, 0x69, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 8390 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x71, 0x66, 0x69, 0x18, 8391 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x71, 0x66, 0x69, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 8392 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 8393 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x6e, 0x64, 8394 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x6e, 0x67, 8395 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 8396 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 8397 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 8398 0x15, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 8399 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x6f, 8400 0x75, 0x72, 0x63, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x6e, 0x67, 0x74, 8401 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 8402 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 8403 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x1f, 0x4d, 0x55, 0x50, 8404 0x54, 0x79, 0x70, 0x65, 0x32, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x72, 0x61, 0x6e, 8405 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x02, 8406 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8407 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x02, 8408 0x72, 0x64, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 8409 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 8410 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 0x64, 8411 0x72, 0x65, 0x73, 0x73, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 8412 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 8413 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x41, 0x64, 8414 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x69, 0x64, 0x18, 0x04, 0x20, 8415 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x65, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x14, 0x4d, 0x70, 8416 0x52, 0x65, 0x61, 0x63, 0x68, 0x4e, 0x4c, 0x52, 0x49, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 8417 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 8418 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 8419 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x65, 0x78, 8420 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x65, 8421 0x78, 0x74, 0x48, 0x6f, 0x70, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x18, 8422 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 8423 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x6e, 0x6c, 0x72, 8424 0x69, 0x73, 0x22, 0x6b, 0x0a, 0x16, 0x4d, 0x70, 0x55, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x4e, 8425 0x4c, 0x52, 0x49, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 8426 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 8427 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 8428 0x69, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x18, 0x03, 0x20, 0x03, 8429 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 8430 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x6e, 0x6c, 0x72, 0x69, 0x73, 0x22, 8431 0x8f, 0x01, 0x0a, 0x1a, 0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 8432 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 8433 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 8434 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 8435 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 8436 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 8437 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 8438 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 8439 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 8440 0x6e, 0x22, 0x98, 0x01, 0x0a, 0x1b, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 8441 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 8442 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 8443 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 8444 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 8445 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 8446 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 8447 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 8448 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 8449 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x90, 0x01, 0x0a, 8450 0x1b, 0x46, 0x6f, 0x75, 0x72, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 8451 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 8452 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 8453 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 8454 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 8455 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 8456 0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1f, 8457 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 8458 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 8459 0x47, 0x0a, 0x15, 0x4c, 0x69, 0x6e, 0x6b, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 8460 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 8461 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 8462 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 8463 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x2a, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 8464 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 8465 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 8466 0x74, 0x61, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x0d, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x45, 0x78, 0x74, 8467 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 8468 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x22, 0x30, 0x0a, 0x0d, 0x45, 8469 0x6e, 0x63, 0x61, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 8470 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 8471 0x0d, 0x52, 0x0a, 0x74, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x22, 0x18, 0x0a, 8472 0x16, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x45, 8473 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x22, 0x4b, 0x0a, 0x0e, 0x4f, 0x70, 0x61, 0x71, 0x75, 8474 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 8475 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 8476 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x14, 8477 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 8478 0x61, 0x6c, 0x75, 0x65, 0x22, 0x52, 0x0a, 0x10, 0x45, 0x53, 0x49, 0x4c, 0x61, 0x62, 0x65, 0x6c, 8479 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x73, 8480 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 8481 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 8482 0x76, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 8483 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x32, 0x0a, 0x13, 0x45, 0x53, 0x49, 0x6d, 8484 0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 8485 0x1b, 0x0a, 0x09, 0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 8486 0x28, 0x09, 0x52, 0x08, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x55, 0x0a, 0x13, 8487 0x4d, 0x61, 0x63, 0x4d, 0x6f, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x78, 0x74, 0x65, 0x6e, 8488 0x64, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x79, 8489 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x53, 0x74, 0x69, 0x63, 0x6b, 0x79, 8490 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 8491 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 8492 0x4e, 0x75, 0x6d, 0x22, 0x25, 0x0a, 0x11, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x63, 8493 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x63, 0x18, 8494 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x61, 0x63, 0x22, 0x3b, 0x0a, 0x13, 0x54, 0x72, 8495 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x61, 0x74, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 8496 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 8497 0x61, 0x73, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 8498 0x02, 0x52, 0x04, 0x72, 0x61, 0x74, 0x65, 0x22, 0x4b, 0x0a, 0x15, 0x54, 0x72, 0x61, 0x66, 0x66, 8499 0x69, 0x63, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 8500 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 8501 0x28, 0x08, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 8502 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x61, 8503 0x6d, 0x70, 0x6c, 0x65, 0x22, 0x57, 0x0a, 0x22, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 8504 0x54, 0x77, 0x6f, 0x4f, 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 8505 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 8506 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 8507 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 8508 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x60, 0x0a, 8509 0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x50, 0x76, 0x34, 0x41, 0x64, 0x64, 8510 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 8511 0x6e, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 8512 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 8513 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 8514 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 8515 0x58, 0x0a, 0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x46, 0x6f, 0x75, 0x72, 0x4f, 8516 0x63, 0x74, 0x65, 0x74, 0x41, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 8517 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 8518 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 8519 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 8520 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x2b, 0x0a, 0x15, 0x54, 0x72, 0x61, 8521 0x66, 0x66, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 8522 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x73, 0x63, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 8523 0x52, 0x04, 0x64, 0x73, 0x63, 0x70, 0x22, 0x6a, 0x0a, 0x0b, 0x4d, 0x55, 0x50, 0x45, 0x78, 0x74, 8524 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x79, 0x70, 8525 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x79, 0x70, 0x65, 8526 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x32, 0x18, 8527 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 8528 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x34, 8529 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x49, 8530 0x64, 0x34, 0x22, 0x45, 0x0a, 0x0c, 0x56, 0x50, 0x4c, 0x53, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 8531 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x66, 0x6c, 8532 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 8533 0x6f, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x74, 0x75, 0x18, 0x02, 8534 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x74, 0x75, 0x22, 0x3b, 0x0a, 0x0f, 0x55, 0x6e, 0x6b, 8535 0x6e, 0x6f, 0x77, 0x6e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 8536 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 8537 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 8538 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x56, 0x0a, 0x1c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 8539 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 8540 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 8541 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 8542 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 8543 0x79, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x40, 8544 0x0a, 0x10, 0x41, 0x73, 0x34, 0x50, 0x61, 0x74, 0x68, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 8545 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 8546 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x53, 8547 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 8548 0x22, 0x44, 0x0a, 0x16, 0x41, 0x73, 0x34, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 8549 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 8550 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x18, 0x0a, 0x07, 8551 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 8552 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x65, 0x0a, 0x13, 0x50, 0x6d, 0x73, 0x69, 0x54, 0x75, 8553 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x14, 0x0a, 8554 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 8555 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 8556 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 8557 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 8558 0x02, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4a, 0x0a, 8559 0x1e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 8560 0x4c, 0x56, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 8561 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 8562 0x79, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 8563 0x0c, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x22, 0x37, 0x0a, 0x19, 0x54, 0x75, 0x6e, 8564 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x50, 0x72, 8565 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 8566 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 8567 0x6f, 0x6c, 0x22, 0x2e, 0x0a, 0x16, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 8568 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x14, 0x0a, 0x05, 8569 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x63, 0x6f, 0x6c, 8570 0x6f, 0x72, 0x22, 0x55, 0x0a, 0x1d, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 8571 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 8572 0x6e, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 8573 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 8574 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 8575 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x56, 0x0a, 0x24, 0x54, 0x75, 0x6e, 8576 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 8577 0x43, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x61, 0x6d, 8578 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x70, 8579 0x61, 0x74, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 8580 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x61, 0x6d, 8581 0x65, 0x22, 0x39, 0x0a, 0x1b, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 8582 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 8583 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 8584 0x28, 0x0d, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x49, 0x0a, 0x1d, 8585 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 8586 0x56, 0x53, 0x52, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x28, 0x0a, 8587 0x04, 0x62, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 8588 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 8589 0x79, 0x52, 0x04, 0x62, 0x73, 0x69, 0x64, 0x22, 0x4e, 0x0a, 0x0c, 0x53, 0x52, 0x42, 0x69, 0x6e, 8590 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61, 8591 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 8592 0x0a, 0x06, 0x69, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 8593 0x69, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 8594 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x14, 0x53, 0x52, 0x76, 0x36, 8595 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 8596 0x12, 0x2f, 0x0a, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 8597 0x28, 0x0e, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x42, 8598 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x08, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 8599 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x02, 8600 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x12, 0x19, 8601 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 8602 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x75, 0x6e, 8603 0x63, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x75, 0x6e, 8604 0x63, 0x4c, 0x65, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x72, 0x67, 0x5f, 0x6c, 0x65, 0x6e, 0x18, 8605 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x61, 0x72, 0x67, 0x4c, 0x65, 0x6e, 0x22, 0xc4, 0x01, 8606 0x0a, 0x0e, 0x53, 0x52, 0x76, 0x36, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x49, 0x44, 8607 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 8608 0x52, 0x05, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x5f, 0x66, 0x6c, 0x61, 8609 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 8610 0x0a, 0x06, 0x62, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 8611 0x62, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 8612 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x5b, 0x0a, 0x1b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 8613 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x72, 8614 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 8615 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 8616 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x52, 0x19, 0x65, 0x6e, 0x64, 0x70, 0x6f, 8617 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 8618 0x74, 0x75, 0x72, 0x65, 0x22, 0x54, 0x0a, 0x17, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 8619 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x53, 0x52, 0x45, 0x4e, 0x4c, 0x50, 0x12, 8620 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 8621 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x04, 0x65, 0x6e, 0x6c, 0x70, 0x18, 0x02, 0x20, 8622 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x4e, 0x4c, 0x50, 8623 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x65, 0x6e, 0x6c, 0x70, 0x22, 0x38, 0x0a, 0x08, 0x53, 0x52, 8624 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 8625 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 8626 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 8627 0x69, 0x67, 0x68, 0x74, 0x22, 0x6a, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 8628 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x01, 8629 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x61, 8630 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x46, 0x6c, 8631 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 8632 0x28, 0x08, 0x52, 0x05, 0x73, 0x46, 0x6c, 0x61, 0x67, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x5f, 0x66, 8633 0x6c, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x46, 0x6c, 0x61, 0x67, 8634 0x22, 0x4f, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x41, 8635 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 8636 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x46, 8637 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6c, 8638 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 8639 0x6c, 0x22, 0xa8, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 8640 0x65, 0x42, 0x12, 0x29, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 8641 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 8642 0x74, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x10, 0x0a, 8643 0x03, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 8644 0x5b, 0x0a, 0x1b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 8645 0x76, 0x69, 0x6f, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 8646 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 8647 0x36, 0x45, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 8648 0x72, 0x52, 0x19, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 8649 0x69, 0x6f, 0x72, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x22, 0x7b, 0x0a, 0x1e, 8650 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 8651 0x56, 0x53, 0x52, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 8652 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 8653 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x52, 8654 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 8655 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 8656 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 8657 0x08, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3b, 0x0a, 0x1f, 0x54, 0x75, 0x6e, 8658 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x45, 0x67, 8659 0x72, 0x65, 0x73, 0x73, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 8660 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 8661 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x32, 0x0a, 0x1c, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 8662 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x55, 0x44, 0x50, 0x44, 0x65, 8663 0x73, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 8664 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x44, 0x0a, 0x18, 0x54, 0x75, 8665 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x55, 8666 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 8667 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 8668 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 8669 0x22, 0x4e, 0x0a, 0x0e, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 8670 0x4c, 0x56, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 8671 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x02, 8672 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 8673 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 8674 0x22, 0x41, 0x0a, 0x14, 0x54, 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x41, 8675 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 8676 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 8677 0x75, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x63, 0x61, 0x70, 0x54, 0x4c, 0x56, 0x52, 0x04, 0x74, 8678 0x6c, 0x76, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x1b, 0x49, 0x50, 0x76, 0x36, 0x41, 0x64, 0x64, 0x72, 8679 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 0x65, 0x6e, 8680 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 8681 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x54, 0x72, 8682 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 8683 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 8684 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 8685 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 8686 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 8687 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x60, 8688 0x0a, 0x23, 0x52, 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, 0x50, 0x76, 0x36, 0x41, 0x64, 8689 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x45, 0x78, 0x74, 8690 0x65, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 8691 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 8692 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x02, 8693 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 8694 0x22, 0x59, 0x0a, 0x1f, 0x49, 0x50, 0x36, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x43, 8695 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 8696 0x75, 0x74, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 8697 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 8698 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 8699 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x2a, 0x0a, 0x10, 0x41, 8700 0x69, 0x67, 0x70, 0x54, 0x4c, 0x56, 0x49, 0x47, 0x50, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 8701 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 8702 0x06, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x22, 0x3a, 0x0a, 0x0e, 0x41, 0x69, 0x67, 0x70, 0x54, 8703 0x4c, 0x56, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 8704 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 8705 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 8706 0x6c, 0x75, 0x65, 0x22, 0x39, 0x0a, 0x0d, 0x41, 0x69, 0x67, 0x70, 0x41, 0x74, 0x74, 0x72, 0x69, 8707 0x62, 0x75, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 8708 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 8709 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x22, 0x75, 8710 0x0a, 0x0e, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 8711 0x12, 0x21, 0x0a, 0x0c, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 8712 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x41, 0x64, 8713 0x6d, 0x69, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 8714 0x61, 0x31, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x44, 8715 0x61, 0x74, 0x61, 0x31, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x64, 0x61, 8716 0x74, 0x61, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 8717 0x44, 0x61, 0x74, 0x61, 0x32, 0x22, 0x54, 0x0a, 0x19, 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 8718 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 8719 0x74, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 8720 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 8721 0x4c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0b, 8722 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x0b, 8723 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 8724 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 8725 0x76, 0x65, 0x72, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x61, 0x63, 8726 0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x74, 0x74, 0x61, 0x63, 8727 0x68, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 8728 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 8729 0x10, 0x0a, 0x03, 0x61, 0x62, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x62, 8730 0x72, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 8731 0x08, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x76, 0x36, 0x18, 8732 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x76, 0x36, 0x22, 0x8b, 0x01, 0x0a, 0x0a, 0x4c, 0x73, 8733 0x49, 0x47, 0x50, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x77, 0x6e, 8734 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 8735 0x6e, 0x6f, 0x5f, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 8736 0x52, 0x09, 0x6e, 0x6f, 0x55, 0x6e, 0x69, 0x63, 0x61, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 8737 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 8738 0x28, 0x08, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 8739 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x65, 0x5f, 0x6e, 0x73, 8740 0x73, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 8741 0x61, 0x74, 0x65, 0x4e, 0x73, 0x73, 0x61, 0x22, 0x33, 0x0a, 0x09, 0x4c, 0x73, 0x53, 0x72, 0x52, 8742 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 8743 0x01, 0x28, 0x0d, 0x52, 0x05, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 8744 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x8a, 0x01, 0x0a, 8745 0x10, 0x4c, 0x73, 0x53, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 8746 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 8747 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x70, 0x76, 0x34, 0x53, 8748 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x70, 0x76, 0x36, 8749 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 8750 0x52, 0x0d, 0x69, 0x70, 0x76, 0x36, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 8751 0x28, 0x0a, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 8752 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x52, 0x61, 0x6e, 0x67, 8753 0x65, 0x52, 0x06, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0x3a, 0x0a, 0x0e, 0x4c, 0x73, 0x53, 8754 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x28, 0x0a, 0x06, 0x72, 8755 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 8756 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x06, 0x72, 8757 0x61, 0x6e, 0x67, 0x65, 0x73, 0x22, 0xfd, 0x02, 0x0a, 0x0f, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 8758 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 8759 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 8760 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 8761 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x4e, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 8762 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 8763 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 8764 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 8765 0x2b, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 8766 0x69, 0x64, 0x5f, 0x76, 0x36, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 8767 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x56, 0x36, 0x12, 0x1b, 0x0a, 0x09, 8768 0x69, 0x73, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 8769 0x08, 0x69, 0x73, 0x69, 0x73, 0x41, 0x72, 0x65, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 8770 0x71, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 8771 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x73, 0x72, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 8772 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 8773 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 8774 0x69, 0x65, 0x73, 0x52, 0x0e, 0x73, 0x72, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 8775 0x69, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x72, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 8776 0x74, 0x68, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x73, 0x72, 0x41, 0x6c, 8777 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x73, 0x72, 0x5f, 0x6c, 8778 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 8779 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x53, 0x72, 0x4c, 0x6f, 0x63, 8780 0x61, 0x6c, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x0c, 0x73, 0x72, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 8781 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x22, 0x9b, 0x04, 0x0a, 0x0f, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 8782 0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 8783 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 8784 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 8785 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, 8786 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 8787 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x5f, 0x76, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 8788 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 8789 0x56, 0x36, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 8790 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 8791 0x6d, 0x6f, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2d, 0x0a, 0x13, 8792 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 8793 0x5f, 0x76, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 8794 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x56, 0x36, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 8795 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 8796 0x52, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x11, 8797 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 8798 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 8799 0x54, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x67, 0x70, 0x5f, 8800 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x69, 0x67, 8801 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 8802 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x12, 8803 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 8804 0x28, 0x02, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x31, 0x0a, 8805 0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x61, 0x6e, 0x64, 8806 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x72, 0x65, 0x73, 8807 0x65, 0x72, 0x76, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 8808 0x12, 0x31, 0x0a, 0x14, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x62, 8809 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x02, 0x52, 0x13, 8810 0x75, 0x6e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, 0x61, 0x6e, 0x64, 0x77, 0x69, 8811 0x64, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x72, 0x5f, 0x61, 0x64, 0x6a, 0x61, 0x63, 0x65, 8812 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x73, 8813 0x72, 0x41, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x69, 0x64, 0x12, 0x14, 0x0a, 8814 0x05, 0x73, 0x72, 0x6c, 0x67, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x72, 8815 0x6c, 0x67, 0x73, 0x22, 0x7f, 0x0a, 0x11, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 8816 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2e, 0x0a, 0x09, 0x69, 0x67, 0x70, 0x5f, 8817 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 8818 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x49, 0x47, 0x50, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x08, 8819 0x69, 0x67, 0x70, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x61, 0x71, 8820 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 8821 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 0x73, 0x69, 8822 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x72, 0x50, 0x72, 0x65, 0x66, 0x69, 8823 0x78, 0x53, 0x69, 0x64, 0x22, 0x7e, 0x0a, 0x18, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 8824 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73, 8825 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 8826 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 8827 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 8828 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x61, 8829 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 8830 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 8831 0x74, 0x65, 0x6e, 0x74, 0x22, 0x76, 0x0a, 0x13, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 8832 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x12, 0x35, 0x0a, 0x05, 0x66, 8833 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 8834 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 8835 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x52, 0x05, 0x66, 0x6c, 0x61, 8836 0x67, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 8837 0x28, 0x0d, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 8838 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x73, 0x69, 0x64, 0x22, 0xf8, 0x01, 0x0a, 8839 0x19, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x67, 0x70, 0x50, 8840 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x11, 0x62, 0x67, 8841 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x69, 0x64, 0x18, 8842 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 8843 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 8844 0x44, 0x52, 0x0e, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x69, 8845 0x64, 0x12, 0x4f, 0x0a, 0x16, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x64, 8846 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 8847 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 8848 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x52, 0x13, 0x62, 8849 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x41, 0x64, 0x6a, 0x61, 0x63, 0x65, 0x6e, 0x63, 0x79, 0x53, 8850 0x69, 0x64, 0x12, 0x43, 0x0a, 0x10, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 8851 0x65, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 8852 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x42, 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 8853 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x49, 0x44, 0x52, 0x0d, 0x62, 0x67, 0x70, 0x50, 0x65, 0x65, 8854 0x72, 0x53, 0x65, 0x74, 0x53, 0x69, 0x64, 0x22, 0xe3, 0x01, 0x0a, 0x0b, 0x4c, 0x73, 0x41, 0x74, 8855 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 8856 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 8857 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 8858 0x6f, 0x64, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 8859 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 8860 0x69, 0x62, 0x75, 0x74, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 8861 0x30, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 8862 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 8863 0x75, 0x74, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 8864 0x78, 0x12, 0x4a, 0x0a, 0x10, 0x62, 0x67, 0x70, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x73, 0x65, 8865 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x61, 0x70, 8866 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 8867 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0e, 0x62, 8868 0x67, 0x70, 0x50, 0x65, 0x65, 0x72, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x52, 0x0a, 8869 0x10, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 8870 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 8871 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 8872 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 8873 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 8874 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x16, 0x53, 0x52, 0x76, 0x36, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 8875 0x75, 0x72, 0x65, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x12, 0x30, 0x0a, 0x14, 8876 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x6c, 0x65, 8877 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6c, 0x6f, 0x63, 0x61, 8878 0x74, 0x6f, 0x72, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2e, 8879 0x0a, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x6c, 8880 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6c, 0x6f, 0x63, 8881 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x27, 8882 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 8883 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 8884 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x72, 0x67, 0x75, 0x6d, 8885 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 8886 0x52, 0x0e, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 8887 0x12, 0x31, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 8888 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 8889 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x65, 0x6e, 8890 0x67, 0x74, 0x68, 0x12, 0x31, 0x0a, 0x14, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 8891 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 8892 0x0d, 0x52, 0x13, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 8893 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x25, 0x0a, 0x0c, 0x53, 0x52, 0x76, 0x36, 0x53, 0x49, 8894 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x66, 0x6c, 0x61, 0x67, 0x5f, 0x31, 8895 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x31, 0x22, 0x31, 0x0a, 8896 0x07, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x12, 0x26, 0x0a, 0x03, 0x74, 0x6c, 0x76, 0x18, 8897 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 8898 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x03, 0x74, 0x6c, 0x76, 8899 0x22, 0xa0, 0x02, 0x0a, 0x15, 0x53, 0x52, 0x76, 0x36, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 8900 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 8901 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x29, 0x0a, 0x05, 8902 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 8903 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x53, 0x49, 0x44, 0x46, 0x6c, 0x61, 0x67, 0x73, 8904 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6e, 0x64, 0x70, 0x6f, 8905 0x69, 0x6e, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 8906 0x28, 0x0d, 0x52, 0x10, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x65, 0x68, 0x61, 8907 0x76, 0x69, 0x6f, 0x72, 0x12, 0x4e, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x75, 0x62, 0x5f, 8908 0x74, 0x6c, 0x76, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x70, 0x69, 8909 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 8910 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 8911 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x53, 0x75, 0x62, 8912 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4d, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x53, 0x75, 0x62, 0x54, 0x6c, 8913 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 8914 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 8915 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 8916 0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 8917 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x33, 0x53, 0x65, 8918 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x4c, 0x56, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x5f, 8919 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 8920 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x33, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 8921 0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 8922 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4a, 0x0a, 0x0c, 0x53, 0x75, 0x62, 8923 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 8924 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 8925 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 8926 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 8927 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x32, 8928 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x4c, 0x56, 0x12, 0x3f, 0x0a, 0x08, 0x73, 0x75, 8929 0x62, 0x5f, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 8930 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x4c, 0x32, 0x53, 0x65, 0x72, 0x76, 0x69, 8931 0x63, 0x65, 0x54, 0x4c, 0x56, 0x2e, 0x53, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 8932 0x72, 0x79, 0x52, 0x07, 0x73, 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x1a, 0x4a, 0x0a, 0x0c, 0x53, 8933 0x75, 0x62, 0x54, 0x6c, 0x76, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 8934 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 8935 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 8936 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x52, 0x76, 0x36, 0x54, 0x4c, 0x56, 0x52, 0x05, 0x76, 0x61, 8937 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x35, 0x0a, 0x09, 0x50, 0x72, 0x65, 0x66, 0x69, 8938 0x78, 0x53, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x18, 0x01, 0x20, 0x03, 8939 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 8940 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x74, 0x6c, 0x76, 0x73, 0x2a, 0xf7, 8941 0x01, 0x0a, 0x0f, 0x4c, 0x73, 0x4f, 0x73, 0x70, 0x66, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 8942 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 8943 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 8944 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 8945 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x52, 0x41, 0x5f, 0x41, 8946 0x52, 0x45, 0x41, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46, 8947 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 8948 0x52, 0x5f, 0x41, 0x52, 0x45, 0x41, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x53, 0x5f, 0x4f, 8949 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 8950 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x31, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x53, 8951 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 8952 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x32, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, 8953 0x4c, 0x53, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 8954 0x50, 0x45, 0x5f, 0x4e, 0x53, 0x53, 0x41, 0x31, 0x10, 0x05, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x53, 8955 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 8956 0x5f, 0x4e, 0x53, 0x53, 0x41, 0x32, 0x10, 0x06, 0x2a, 0x73, 0x0a, 0x0a, 0x4c, 0x73, 0x4e, 0x4c, 8957 0x52, 0x49, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 8958 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4c, 8959 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x10, 0x01, 0x12, 0x10, 0x0a, 8960 0x0c, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x10, 0x02, 0x12, 8961 0x15, 0x0a, 0x11, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 0x49, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 8962 0x58, 0x5f, 0x56, 0x34, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x53, 0x5f, 0x4e, 0x4c, 0x52, 8963 0x49, 0x5f, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x5f, 0x56, 0x36, 0x10, 0x04, 0x2a, 0xbb, 0x01, 8964 0x0a, 0x0c, 0x4c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x49, 0x44, 0x12, 0x17, 8965 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 8966 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 8967 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x49, 0x53, 0x49, 0x53, 0x5f, 0x4c, 0x31, 0x10, 0x01, 8968 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 8969 0x49, 0x53, 0x49, 0x53, 0x5f, 0x4c, 0x32, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 8970 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x56, 0x32, 8971 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 8972 0x4c, 0x5f, 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x53, 8973 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 8974 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 8975 0x4c, 0x5f, 0x4f, 0x53, 0x50, 0x46, 0x5f, 0x56, 0x33, 0x10, 0x06, 0x2a, 0xed, 0x05, 0x0a, 0x0c, 8976 0x53, 0x52, 0x76, 0x36, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x0c, 0x0a, 0x08, 8977 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x4e, 8978 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 8979 0x50, 0x53, 0x50, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 8980 0x48, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x44, 0x5f, 0x57, 8981 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x04, 0x12, 0x08, 0x0a, 8982 0x04, 0x45, 0x4e, 0x44, 0x58, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x58, 0x5f, 8983 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x10, 0x06, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 8984 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x07, 0x12, 0x15, 0x0a, 8985 0x11, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 8986 0x53, 0x50, 0x10, 0x08, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x4e, 0x44, 0x54, 0x10, 0x09, 0x12, 0x11, 8987 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x10, 8988 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 8989 0x53, 0x50, 0x10, 0x0b, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 8990 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x10, 0x0c, 0x12, 0x11, 0x0a, 0x0d, 0x45, 8991 0x4e, 0x44, 0x5f, 0x42, 0x36, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x53, 0x10, 0x0e, 0x12, 0x0a, 8992 0x0a, 0x06, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x4d, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 8993 0x44, 0x5f, 0x44, 0x58, 0x36, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 8994 0x58, 0x34, 0x10, 0x11, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x36, 0x10, 8995 0x12, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x34, 0x10, 0x13, 0x12, 0x0c, 8996 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x34, 0x36, 0x10, 0x14, 0x12, 0x0b, 0x0a, 0x07, 8997 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x58, 0x32, 0x10, 0x15, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 8998 0x5f, 0x44, 0x58, 0x32, 0x56, 0x10, 0x16, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 8999 0x54, 0x32, 0x55, 0x10, 0x17, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x44, 0x5f, 0x44, 0x54, 0x32, 9000 0x4d, 0x10, 0x18, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x5f, 0x42, 0x36, 0x5f, 0x45, 0x4e, 9001 0x43, 0x41, 0x50, 0x53, 0x5f, 0x52, 0x65, 0x64, 0x10, 0x1b, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x4e, 9002 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x1c, 0x12, 0x14, 0x0a, 0x10, 9003 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 9004 0x10, 0x1d, 0x12, 0x14, 0x0a, 0x10, 0x45, 0x4e, 0x44, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 9005 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x1e, 0x12, 0x18, 0x0a, 0x14, 0x45, 0x4e, 0x44, 0x5f, 9006 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 9007 0x10, 0x1f, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 9008 0x55, 0x53, 0x44, 0x10, 0x20, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 9009 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x21, 0x12, 0x15, 0x0a, 0x11, 9010 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 9011 0x44, 0x10, 0x22, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x44, 0x58, 0x5f, 0x57, 0x49, 0x54, 0x48, 9012 0x5f, 0x50, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x23, 0x12, 0x11, 9013 0x0a, 0x0d, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x44, 0x10, 9014 0x24, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 9015 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x25, 0x12, 0x15, 0x0a, 0x11, 0x45, 0x4e, 0x44, 0x54, 9016 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x26, 0x12, 9017 0x19, 0x0a, 0x15, 0x45, 0x4e, 0x44, 0x54, 0x5f, 0x57, 0x49, 0x54, 0x48, 0x5f, 0x50, 0x53, 0x50, 9018 0x5f, 0x55, 0x53, 0x50, 0x5f, 0x55, 0x53, 0x44, 0x10, 0x27, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 0x4e, 9019 0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x36, 0x44, 0x10, 0x45, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4e, 9020 0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x36, 0x44, 0x49, 0x10, 0x46, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 9021 0x4e, 0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x36, 0x45, 0x10, 0x47, 0x12, 0x0e, 0x0a, 0x0a, 0x45, 9022 0x4e, 0x44, 0x4d, 0x5f, 0x47, 0x54, 0x50, 0x34, 0x45, 0x10, 0x48, 0x2a, 0x44, 0x0a, 0x08, 0x45, 9023 0x4e, 0x4c, 0x50, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x65, 0x72, 9024 0x76, 0x65, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x31, 0x10, 0x01, 9025 0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x32, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x54, 9026 0x79, 0x70, 0x65, 0x33, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x79, 0x70, 0x65, 0x34, 0x10, 9027 0x04, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 9028 0x6f, 0x73, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x61, 0x70, 9029 0x69, 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 9030 } 9031 9032 var ( 9033 file_attribute_proto_rawDescOnce sync.Once 9034 file_attribute_proto_rawDescData = file_attribute_proto_rawDesc 9035 ) 9036 9037 func file_attribute_proto_rawDescGZIP() []byte { 9038 file_attribute_proto_rawDescOnce.Do(func() { 9039 file_attribute_proto_rawDescData = protoimpl.X.CompressGZIP(file_attribute_proto_rawDescData) 9040 }) 9041 return file_attribute_proto_rawDescData 9042 } 9043 9044 var file_attribute_proto_enumTypes = make([]protoimpl.EnumInfo, 6) 9045 var file_attribute_proto_msgTypes = make([]protoimpl.MessageInfo, 127) 9046 var file_attribute_proto_goTypes = []interface{}{ 9047 (LsOspfRouteType)(0), // 0: apipb.LsOspfRouteType 9048 (LsNLRIType)(0), // 1: apipb.LsNLRIType 9049 (LsProtocolID)(0), // 2: apipb.LsProtocolID 9050 (SRv6Behavior)(0), // 3: apipb.SRv6Behavior 9051 (ENLPType)(0), // 4: apipb.ENLPType 9052 (AsSegment_Type)(0), // 5: apipb.AsSegment.Type 9053 (*OriginAttribute)(nil), // 6: apipb.OriginAttribute 9054 (*AsSegment)(nil), // 7: apipb.AsSegment 9055 (*AsPathAttribute)(nil), // 8: apipb.AsPathAttribute 9056 (*NextHopAttribute)(nil), // 9: apipb.NextHopAttribute 9057 (*MultiExitDiscAttribute)(nil), // 10: apipb.MultiExitDiscAttribute 9058 (*LocalPrefAttribute)(nil), // 11: apipb.LocalPrefAttribute 9059 (*AtomicAggregateAttribute)(nil), // 12: apipb.AtomicAggregateAttribute 9060 (*AggregatorAttribute)(nil), // 13: apipb.AggregatorAttribute 9061 (*CommunitiesAttribute)(nil), // 14: apipb.CommunitiesAttribute 9062 (*OriginatorIdAttribute)(nil), // 15: apipb.OriginatorIdAttribute 9063 (*ClusterListAttribute)(nil), // 16: apipb.ClusterListAttribute 9064 (*IPAddressPrefix)(nil), // 17: apipb.IPAddressPrefix 9065 (*LabeledIPAddressPrefix)(nil), // 18: apipb.LabeledIPAddressPrefix 9066 (*EncapsulationNLRI)(nil), // 19: apipb.EncapsulationNLRI 9067 (*RouteDistinguisherTwoOctetASN)(nil), // 20: apipb.RouteDistinguisherTwoOctetASN 9068 (*RouteDistinguisherIPAddress)(nil), // 21: apipb.RouteDistinguisherIPAddress 9069 (*RouteDistinguisherFourOctetASN)(nil), // 22: apipb.RouteDistinguisherFourOctetASN 9070 (*EthernetSegmentIdentifier)(nil), // 23: apipb.EthernetSegmentIdentifier 9071 (*VPLSNLRI)(nil), // 24: apipb.VPLSNLRI 9072 (*EVPNEthernetAutoDiscoveryRoute)(nil), // 25: apipb.EVPNEthernetAutoDiscoveryRoute 9073 (*EVPNMACIPAdvertisementRoute)(nil), // 26: apipb.EVPNMACIPAdvertisementRoute 9074 (*EVPNInclusiveMulticastEthernetTagRoute)(nil), // 27: apipb.EVPNInclusiveMulticastEthernetTagRoute 9075 (*EVPNEthernetSegmentRoute)(nil), // 28: apipb.EVPNEthernetSegmentRoute 9076 (*EVPNIPPrefixRoute)(nil), // 29: apipb.EVPNIPPrefixRoute 9077 (*EVPNIPMSIRoute)(nil), // 30: apipb.EVPNIPMSIRoute 9078 (*SRPolicyNLRI)(nil), // 31: apipb.SRPolicyNLRI 9079 (*LabeledVPNIPAddressPrefix)(nil), // 32: apipb.LabeledVPNIPAddressPrefix 9080 (*RouteTargetMembershipNLRI)(nil), // 33: apipb.RouteTargetMembershipNLRI 9081 (*FlowSpecIPPrefix)(nil), // 34: apipb.FlowSpecIPPrefix 9082 (*FlowSpecMAC)(nil), // 35: apipb.FlowSpecMAC 9083 (*FlowSpecComponentItem)(nil), // 36: apipb.FlowSpecComponentItem 9084 (*FlowSpecComponent)(nil), // 37: apipb.FlowSpecComponent 9085 (*FlowSpecNLRI)(nil), // 38: apipb.FlowSpecNLRI 9086 (*VPNFlowSpecNLRI)(nil), // 39: apipb.VPNFlowSpecNLRI 9087 (*OpaqueNLRI)(nil), // 40: apipb.OpaqueNLRI 9088 (*LsNodeDescriptor)(nil), // 41: apipb.LsNodeDescriptor 9089 (*LsLinkDescriptor)(nil), // 42: apipb.LsLinkDescriptor 9090 (*LsPrefixDescriptor)(nil), // 43: apipb.LsPrefixDescriptor 9091 (*LsNodeNLRI)(nil), // 44: apipb.LsNodeNLRI 9092 (*LsLinkNLRI)(nil), // 45: apipb.LsLinkNLRI 9093 (*LsPrefixV4NLRI)(nil), // 46: apipb.LsPrefixV4NLRI 9094 (*LsPrefixV6NLRI)(nil), // 47: apipb.LsPrefixV6NLRI 9095 (*LsAddrPrefix)(nil), // 48: apipb.LsAddrPrefix 9096 (*MUPInterworkSegmentDiscoveryRoute)(nil), // 49: apipb.MUPInterworkSegmentDiscoveryRoute 9097 (*MUPDirectSegmentDiscoveryRoute)(nil), // 50: apipb.MUPDirectSegmentDiscoveryRoute 9098 (*MUPType1SessionTransformedRoute)(nil), // 51: apipb.MUPType1SessionTransformedRoute 9099 (*MUPType2SessionTransformedRoute)(nil), // 52: apipb.MUPType2SessionTransformedRoute 9100 (*MpReachNLRIAttribute)(nil), // 53: apipb.MpReachNLRIAttribute 9101 (*MpUnreachNLRIAttribute)(nil), // 54: apipb.MpUnreachNLRIAttribute 9102 (*TwoOctetAsSpecificExtended)(nil), // 55: apipb.TwoOctetAsSpecificExtended 9103 (*IPv4AddressSpecificExtended)(nil), // 56: apipb.IPv4AddressSpecificExtended 9104 (*FourOctetAsSpecificExtended)(nil), // 57: apipb.FourOctetAsSpecificExtended 9105 (*LinkBandwidthExtended)(nil), // 58: apipb.LinkBandwidthExtended 9106 (*ValidationExtended)(nil), // 59: apipb.ValidationExtended 9107 (*ColorExtended)(nil), // 60: apipb.ColorExtended 9108 (*EncapExtended)(nil), // 61: apipb.EncapExtended 9109 (*DefaultGatewayExtended)(nil), // 62: apipb.DefaultGatewayExtended 9110 (*OpaqueExtended)(nil), // 63: apipb.OpaqueExtended 9111 (*ESILabelExtended)(nil), // 64: apipb.ESILabelExtended 9112 (*ESImportRouteTarget)(nil), // 65: apipb.ESImportRouteTarget 9113 (*MacMobilityExtended)(nil), // 66: apipb.MacMobilityExtended 9114 (*RouterMacExtended)(nil), // 67: apipb.RouterMacExtended 9115 (*TrafficRateExtended)(nil), // 68: apipb.TrafficRateExtended 9116 (*TrafficActionExtended)(nil), // 69: apipb.TrafficActionExtended 9117 (*RedirectTwoOctetAsSpecificExtended)(nil), // 70: apipb.RedirectTwoOctetAsSpecificExtended 9118 (*RedirectIPv4AddressSpecificExtended)(nil), // 71: apipb.RedirectIPv4AddressSpecificExtended 9119 (*RedirectFourOctetAsSpecificExtended)(nil), // 72: apipb.RedirectFourOctetAsSpecificExtended 9120 (*TrafficRemarkExtended)(nil), // 73: apipb.TrafficRemarkExtended 9121 (*MUPExtended)(nil), // 74: apipb.MUPExtended 9122 (*VPLSExtended)(nil), // 75: apipb.VPLSExtended 9123 (*UnknownExtended)(nil), // 76: apipb.UnknownExtended 9124 (*ExtendedCommunitiesAttribute)(nil), // 77: apipb.ExtendedCommunitiesAttribute 9125 (*As4PathAttribute)(nil), // 78: apipb.As4PathAttribute 9126 (*As4AggregatorAttribute)(nil), // 79: apipb.As4AggregatorAttribute 9127 (*PmsiTunnelAttribute)(nil), // 80: apipb.PmsiTunnelAttribute 9128 (*TunnelEncapSubTLVEncapsulation)(nil), // 81: apipb.TunnelEncapSubTLVEncapsulation 9129 (*TunnelEncapSubTLVProtocol)(nil), // 82: apipb.TunnelEncapSubTLVProtocol 9130 (*TunnelEncapSubTLVColor)(nil), // 83: apipb.TunnelEncapSubTLVColor 9131 (*TunnelEncapSubTLVSRPreference)(nil), // 84: apipb.TunnelEncapSubTLVSRPreference 9132 (*TunnelEncapSubTLVSRCandidatePathName)(nil), // 85: apipb.TunnelEncapSubTLVSRCandidatePathName 9133 (*TunnelEncapSubTLVSRPriority)(nil), // 86: apipb.TunnelEncapSubTLVSRPriority 9134 (*TunnelEncapSubTLVSRBindingSID)(nil), // 87: apipb.TunnelEncapSubTLVSRBindingSID 9135 (*SRBindingSID)(nil), // 88: apipb.SRBindingSID 9136 (*SRv6EndPointBehavior)(nil), // 89: apipb.SRv6EndPointBehavior 9137 (*SRv6BindingSID)(nil), // 90: apipb.SRv6BindingSID 9138 (*TunnelEncapSubTLVSRENLP)(nil), // 91: apipb.TunnelEncapSubTLVSRENLP 9139 (*SRWeight)(nil), // 92: apipb.SRWeight 9140 (*SegmentFlags)(nil), // 93: apipb.SegmentFlags 9141 (*SegmentTypeA)(nil), // 94: apipb.SegmentTypeA 9142 (*SegmentTypeB)(nil), // 95: apipb.SegmentTypeB 9143 (*TunnelEncapSubTLVSRSegmentList)(nil), // 96: apipb.TunnelEncapSubTLVSRSegmentList 9144 (*TunnelEncapSubTLVEgressEndpoint)(nil), // 97: apipb.TunnelEncapSubTLVEgressEndpoint 9145 (*TunnelEncapSubTLVUDPDestPort)(nil), // 98: apipb.TunnelEncapSubTLVUDPDestPort 9146 (*TunnelEncapSubTLVUnknown)(nil), // 99: apipb.TunnelEncapSubTLVUnknown 9147 (*TunnelEncapTLV)(nil), // 100: apipb.TunnelEncapTLV 9148 (*TunnelEncapAttribute)(nil), // 101: apipb.TunnelEncapAttribute 9149 (*IPv6AddressSpecificExtended)(nil), // 102: apipb.IPv6AddressSpecificExtended 9150 (*RedirectIPv6AddressSpecificExtended)(nil), // 103: apipb.RedirectIPv6AddressSpecificExtended 9151 (*IP6ExtendedCommunitiesAttribute)(nil), // 104: apipb.IP6ExtendedCommunitiesAttribute 9152 (*AigpTLVIGPMetric)(nil), // 105: apipb.AigpTLVIGPMetric 9153 (*AigpTLVUnknown)(nil), // 106: apipb.AigpTLVUnknown 9154 (*AigpAttribute)(nil), // 107: apipb.AigpAttribute 9155 (*LargeCommunity)(nil), // 108: apipb.LargeCommunity 9156 (*LargeCommunitiesAttribute)(nil), // 109: apipb.LargeCommunitiesAttribute 9157 (*LsNodeFlags)(nil), // 110: apipb.LsNodeFlags 9158 (*LsIGPFlags)(nil), // 111: apipb.LsIGPFlags 9159 (*LsSrRange)(nil), // 112: apipb.LsSrRange 9160 (*LsSrCapabilities)(nil), // 113: apipb.LsSrCapabilities 9161 (*LsSrLocalBlock)(nil), // 114: apipb.LsSrLocalBlock 9162 (*LsAttributeNode)(nil), // 115: apipb.LsAttributeNode 9163 (*LsAttributeLink)(nil), // 116: apipb.LsAttributeLink 9164 (*LsAttributePrefix)(nil), // 117: apipb.LsAttributePrefix 9165 (*LsBgpPeerSegmentSIDFlags)(nil), // 118: apipb.LsBgpPeerSegmentSIDFlags 9166 (*LsBgpPeerSegmentSID)(nil), // 119: apipb.LsBgpPeerSegmentSID 9167 (*LsAttributeBgpPeerSegment)(nil), // 120: apipb.LsAttributeBgpPeerSegment 9168 (*LsAttribute)(nil), // 121: apipb.LsAttribute 9169 (*UnknownAttribute)(nil), // 122: apipb.UnknownAttribute 9170 (*SRv6StructureSubSubTLV)(nil), // 123: apipb.SRv6StructureSubSubTLV 9171 (*SRv6SIDFlags)(nil), // 124: apipb.SRv6SIDFlags 9172 (*SRv6TLV)(nil), // 125: apipb.SRv6TLV 9173 (*SRv6InformationSubTLV)(nil), // 126: apipb.SRv6InformationSubTLV 9174 (*SRv6L3ServiceTLV)(nil), // 127: apipb.SRv6L3ServiceTLV 9175 (*SRv6L2ServiceTLV)(nil), // 128: apipb.SRv6L2ServiceTLV 9176 (*PrefixSID)(nil), // 129: apipb.PrefixSID 9177 nil, // 130: apipb.SRv6InformationSubTLV.SubSubTlvsEntry 9178 nil, // 131: apipb.SRv6L3ServiceTLV.SubTlvsEntry 9179 nil, // 132: apipb.SRv6L2ServiceTLV.SubTlvsEntry 9180 (*anypb.Any)(nil), // 133: google.protobuf.Any 9181 (*Family)(nil), // 134: apipb.Family 9182 } 9183 var file_attribute_proto_depIdxs = []int32{ 9184 5, // 0: apipb.AsSegment.type:type_name -> apipb.AsSegment.Type 9185 7, // 1: apipb.AsPathAttribute.segments:type_name -> apipb.AsSegment 9186 133, // 2: apipb.VPLSNLRI.rd:type_name -> google.protobuf.Any 9187 133, // 3: apipb.EVPNEthernetAutoDiscoveryRoute.rd:type_name -> google.protobuf.Any 9188 23, // 4: apipb.EVPNEthernetAutoDiscoveryRoute.esi:type_name -> apipb.EthernetSegmentIdentifier 9189 133, // 5: apipb.EVPNMACIPAdvertisementRoute.rd:type_name -> google.protobuf.Any 9190 23, // 6: apipb.EVPNMACIPAdvertisementRoute.esi:type_name -> apipb.EthernetSegmentIdentifier 9191 133, // 7: apipb.EVPNInclusiveMulticastEthernetTagRoute.rd:type_name -> google.protobuf.Any 9192 133, // 8: apipb.EVPNEthernetSegmentRoute.rd:type_name -> google.protobuf.Any 9193 23, // 9: apipb.EVPNEthernetSegmentRoute.esi:type_name -> apipb.EthernetSegmentIdentifier 9194 133, // 10: apipb.EVPNIPPrefixRoute.rd:type_name -> google.protobuf.Any 9195 23, // 11: apipb.EVPNIPPrefixRoute.esi:type_name -> apipb.EthernetSegmentIdentifier 9196 133, // 12: apipb.EVPNIPMSIRoute.rd:type_name -> google.protobuf.Any 9197 133, // 13: apipb.EVPNIPMSIRoute.rt:type_name -> google.protobuf.Any 9198 133, // 14: apipb.LabeledVPNIPAddressPrefix.rd:type_name -> google.protobuf.Any 9199 133, // 15: apipb.RouteTargetMembershipNLRI.rt:type_name -> google.protobuf.Any 9200 36, // 16: apipb.FlowSpecComponent.items:type_name -> apipb.FlowSpecComponentItem 9201 133, // 17: apipb.FlowSpecNLRI.rules:type_name -> google.protobuf.Any 9202 133, // 18: apipb.VPNFlowSpecNLRI.rd:type_name -> google.protobuf.Any 9203 133, // 19: apipb.VPNFlowSpecNLRI.rules:type_name -> google.protobuf.Any 9204 0, // 20: apipb.LsPrefixDescriptor.ospf_route_type:type_name -> apipb.LsOspfRouteType 9205 41, // 21: apipb.LsNodeNLRI.local_node:type_name -> apipb.LsNodeDescriptor 9206 41, // 22: apipb.LsLinkNLRI.local_node:type_name -> apipb.LsNodeDescriptor 9207 41, // 23: apipb.LsLinkNLRI.remote_node:type_name -> apipb.LsNodeDescriptor 9208 42, // 24: apipb.LsLinkNLRI.link_descriptor:type_name -> apipb.LsLinkDescriptor 9209 41, // 25: apipb.LsPrefixV4NLRI.local_node:type_name -> apipb.LsNodeDescriptor 9210 43, // 26: apipb.LsPrefixV4NLRI.prefix_descriptor:type_name -> apipb.LsPrefixDescriptor 9211 41, // 27: apipb.LsPrefixV6NLRI.local_node:type_name -> apipb.LsNodeDescriptor 9212 43, // 28: apipb.LsPrefixV6NLRI.prefix_descriptor:type_name -> apipb.LsPrefixDescriptor 9213 1, // 29: apipb.LsAddrPrefix.type:type_name -> apipb.LsNLRIType 9214 133, // 30: apipb.LsAddrPrefix.nlri:type_name -> google.protobuf.Any 9215 2, // 31: apipb.LsAddrPrefix.protocol_id:type_name -> apipb.LsProtocolID 9216 133, // 32: apipb.MUPInterworkSegmentDiscoveryRoute.rd:type_name -> google.protobuf.Any 9217 133, // 33: apipb.MUPDirectSegmentDiscoveryRoute.rd:type_name -> google.protobuf.Any 9218 133, // 34: apipb.MUPType1SessionTransformedRoute.rd:type_name -> google.protobuf.Any 9219 133, // 35: apipb.MUPType2SessionTransformedRoute.rd:type_name -> google.protobuf.Any 9220 134, // 36: apipb.MpReachNLRIAttribute.family:type_name -> apipb.Family 9221 133, // 37: apipb.MpReachNLRIAttribute.nlris:type_name -> google.protobuf.Any 9222 134, // 38: apipb.MpUnreachNLRIAttribute.family:type_name -> apipb.Family 9223 133, // 39: apipb.MpUnreachNLRIAttribute.nlris:type_name -> google.protobuf.Any 9224 133, // 40: apipb.ExtendedCommunitiesAttribute.communities:type_name -> google.protobuf.Any 9225 7, // 41: apipb.As4PathAttribute.segments:type_name -> apipb.AsSegment 9226 133, // 42: apipb.TunnelEncapSubTLVSRBindingSID.bsid:type_name -> google.protobuf.Any 9227 3, // 43: apipb.SRv6EndPointBehavior.behavior:type_name -> apipb.SRv6Behavior 9228 89, // 44: apipb.SRv6BindingSID.endpoint_behavior_structure:type_name -> apipb.SRv6EndPointBehavior 9229 4, // 45: apipb.TunnelEncapSubTLVSRENLP.enlp:type_name -> apipb.ENLPType 9230 93, // 46: apipb.SegmentTypeA.flags:type_name -> apipb.SegmentFlags 9231 93, // 47: apipb.SegmentTypeB.flags:type_name -> apipb.SegmentFlags 9232 89, // 48: apipb.SegmentTypeB.endpoint_behavior_structure:type_name -> apipb.SRv6EndPointBehavior 9233 92, // 49: apipb.TunnelEncapSubTLVSRSegmentList.weight:type_name -> apipb.SRWeight 9234 133, // 50: apipb.TunnelEncapSubTLVSRSegmentList.segments:type_name -> google.protobuf.Any 9235 133, // 51: apipb.TunnelEncapTLV.tlvs:type_name -> google.protobuf.Any 9236 100, // 52: apipb.TunnelEncapAttribute.tlvs:type_name -> apipb.TunnelEncapTLV 9237 133, // 53: apipb.IP6ExtendedCommunitiesAttribute.communities:type_name -> google.protobuf.Any 9238 133, // 54: apipb.AigpAttribute.tlvs:type_name -> google.protobuf.Any 9239 108, // 55: apipb.LargeCommunitiesAttribute.communities:type_name -> apipb.LargeCommunity 9240 112, // 56: apipb.LsSrCapabilities.ranges:type_name -> apipb.LsSrRange 9241 112, // 57: apipb.LsSrLocalBlock.ranges:type_name -> apipb.LsSrRange 9242 110, // 58: apipb.LsAttributeNode.flags:type_name -> apipb.LsNodeFlags 9243 113, // 59: apipb.LsAttributeNode.sr_capabilities:type_name -> apipb.LsSrCapabilities 9244 114, // 60: apipb.LsAttributeNode.sr_local_block:type_name -> apipb.LsSrLocalBlock 9245 111, // 61: apipb.LsAttributePrefix.igp_flags:type_name -> apipb.LsIGPFlags 9246 118, // 62: apipb.LsBgpPeerSegmentSID.flags:type_name -> apipb.LsBgpPeerSegmentSIDFlags 9247 119, // 63: apipb.LsAttributeBgpPeerSegment.bgp_peer_node_sid:type_name -> apipb.LsBgpPeerSegmentSID 9248 119, // 64: apipb.LsAttributeBgpPeerSegment.bgp_peer_adjacency_sid:type_name -> apipb.LsBgpPeerSegmentSID 9249 119, // 65: apipb.LsAttributeBgpPeerSegment.bgp_peer_set_sid:type_name -> apipb.LsBgpPeerSegmentSID 9250 115, // 66: apipb.LsAttribute.node:type_name -> apipb.LsAttributeNode 9251 116, // 67: apipb.LsAttribute.link:type_name -> apipb.LsAttributeLink 9252 117, // 68: apipb.LsAttribute.prefix:type_name -> apipb.LsAttributePrefix 9253 120, // 69: apipb.LsAttribute.bgp_peer_segment:type_name -> apipb.LsAttributeBgpPeerSegment 9254 133, // 70: apipb.SRv6TLV.tlv:type_name -> google.protobuf.Any 9255 124, // 71: apipb.SRv6InformationSubTLV.flags:type_name -> apipb.SRv6SIDFlags 9256 130, // 72: apipb.SRv6InformationSubTLV.sub_sub_tlvs:type_name -> apipb.SRv6InformationSubTLV.SubSubTlvsEntry 9257 131, // 73: apipb.SRv6L3ServiceTLV.sub_tlvs:type_name -> apipb.SRv6L3ServiceTLV.SubTlvsEntry 9258 132, // 74: apipb.SRv6L2ServiceTLV.sub_tlvs:type_name -> apipb.SRv6L2ServiceTLV.SubTlvsEntry 9259 133, // 75: apipb.PrefixSID.tlvs:type_name -> google.protobuf.Any 9260 125, // 76: apipb.SRv6InformationSubTLV.SubSubTlvsEntry.value:type_name -> apipb.SRv6TLV 9261 125, // 77: apipb.SRv6L3ServiceTLV.SubTlvsEntry.value:type_name -> apipb.SRv6TLV 9262 125, // 78: apipb.SRv6L2ServiceTLV.SubTlvsEntry.value:type_name -> apipb.SRv6TLV 9263 79, // [79:79] is the sub-list for method output_type 9264 79, // [79:79] is the sub-list for method input_type 9265 79, // [79:79] is the sub-list for extension type_name 9266 79, // [79:79] is the sub-list for extension extendee 9267 0, // [0:79] is the sub-list for field type_name 9268 } 9269 9270 func init() { file_attribute_proto_init() } 9271 func file_attribute_proto_init() { 9272 if File_attribute_proto != nil { 9273 return 9274 } 9275 file_gobgp_proto_init() 9276 if !protoimpl.UnsafeEnabled { 9277 file_attribute_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 9278 switch v := v.(*OriginAttribute); i { 9279 case 0: 9280 return &v.state 9281 case 1: 9282 return &v.sizeCache 9283 case 2: 9284 return &v.unknownFields 9285 default: 9286 return nil 9287 } 9288 } 9289 file_attribute_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 9290 switch v := v.(*AsSegment); i { 9291 case 0: 9292 return &v.state 9293 case 1: 9294 return &v.sizeCache 9295 case 2: 9296 return &v.unknownFields 9297 default: 9298 return nil 9299 } 9300 } 9301 file_attribute_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 9302 switch v := v.(*AsPathAttribute); i { 9303 case 0: 9304 return &v.state 9305 case 1: 9306 return &v.sizeCache 9307 case 2: 9308 return &v.unknownFields 9309 default: 9310 return nil 9311 } 9312 } 9313 file_attribute_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 9314 switch v := v.(*NextHopAttribute); i { 9315 case 0: 9316 return &v.state 9317 case 1: 9318 return &v.sizeCache 9319 case 2: 9320 return &v.unknownFields 9321 default: 9322 return nil 9323 } 9324 } 9325 file_attribute_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 9326 switch v := v.(*MultiExitDiscAttribute); i { 9327 case 0: 9328 return &v.state 9329 case 1: 9330 return &v.sizeCache 9331 case 2: 9332 return &v.unknownFields 9333 default: 9334 return nil 9335 } 9336 } 9337 file_attribute_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 9338 switch v := v.(*LocalPrefAttribute); i { 9339 case 0: 9340 return &v.state 9341 case 1: 9342 return &v.sizeCache 9343 case 2: 9344 return &v.unknownFields 9345 default: 9346 return nil 9347 } 9348 } 9349 file_attribute_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 9350 switch v := v.(*AtomicAggregateAttribute); i { 9351 case 0: 9352 return &v.state 9353 case 1: 9354 return &v.sizeCache 9355 case 2: 9356 return &v.unknownFields 9357 default: 9358 return nil 9359 } 9360 } 9361 file_attribute_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 9362 switch v := v.(*AggregatorAttribute); i { 9363 case 0: 9364 return &v.state 9365 case 1: 9366 return &v.sizeCache 9367 case 2: 9368 return &v.unknownFields 9369 default: 9370 return nil 9371 } 9372 } 9373 file_attribute_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 9374 switch v := v.(*CommunitiesAttribute); i { 9375 case 0: 9376 return &v.state 9377 case 1: 9378 return &v.sizeCache 9379 case 2: 9380 return &v.unknownFields 9381 default: 9382 return nil 9383 } 9384 } 9385 file_attribute_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 9386 switch v := v.(*OriginatorIdAttribute); i { 9387 case 0: 9388 return &v.state 9389 case 1: 9390 return &v.sizeCache 9391 case 2: 9392 return &v.unknownFields 9393 default: 9394 return nil 9395 } 9396 } 9397 file_attribute_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 9398 switch v := v.(*ClusterListAttribute); i { 9399 case 0: 9400 return &v.state 9401 case 1: 9402 return &v.sizeCache 9403 case 2: 9404 return &v.unknownFields 9405 default: 9406 return nil 9407 } 9408 } 9409 file_attribute_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 9410 switch v := v.(*IPAddressPrefix); i { 9411 case 0: 9412 return &v.state 9413 case 1: 9414 return &v.sizeCache 9415 case 2: 9416 return &v.unknownFields 9417 default: 9418 return nil 9419 } 9420 } 9421 file_attribute_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 9422 switch v := v.(*LabeledIPAddressPrefix); i { 9423 case 0: 9424 return &v.state 9425 case 1: 9426 return &v.sizeCache 9427 case 2: 9428 return &v.unknownFields 9429 default: 9430 return nil 9431 } 9432 } 9433 file_attribute_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 9434 switch v := v.(*EncapsulationNLRI); i { 9435 case 0: 9436 return &v.state 9437 case 1: 9438 return &v.sizeCache 9439 case 2: 9440 return &v.unknownFields 9441 default: 9442 return nil 9443 } 9444 } 9445 file_attribute_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 9446 switch v := v.(*RouteDistinguisherTwoOctetASN); i { 9447 case 0: 9448 return &v.state 9449 case 1: 9450 return &v.sizeCache 9451 case 2: 9452 return &v.unknownFields 9453 default: 9454 return nil 9455 } 9456 } 9457 file_attribute_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 9458 switch v := v.(*RouteDistinguisherIPAddress); i { 9459 case 0: 9460 return &v.state 9461 case 1: 9462 return &v.sizeCache 9463 case 2: 9464 return &v.unknownFields 9465 default: 9466 return nil 9467 } 9468 } 9469 file_attribute_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 9470 switch v := v.(*RouteDistinguisherFourOctetASN); i { 9471 case 0: 9472 return &v.state 9473 case 1: 9474 return &v.sizeCache 9475 case 2: 9476 return &v.unknownFields 9477 default: 9478 return nil 9479 } 9480 } 9481 file_attribute_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 9482 switch v := v.(*EthernetSegmentIdentifier); i { 9483 case 0: 9484 return &v.state 9485 case 1: 9486 return &v.sizeCache 9487 case 2: 9488 return &v.unknownFields 9489 default: 9490 return nil 9491 } 9492 } 9493 file_attribute_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 9494 switch v := v.(*VPLSNLRI); i { 9495 case 0: 9496 return &v.state 9497 case 1: 9498 return &v.sizeCache 9499 case 2: 9500 return &v.unknownFields 9501 default: 9502 return nil 9503 } 9504 } 9505 file_attribute_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 9506 switch v := v.(*EVPNEthernetAutoDiscoveryRoute); i { 9507 case 0: 9508 return &v.state 9509 case 1: 9510 return &v.sizeCache 9511 case 2: 9512 return &v.unknownFields 9513 default: 9514 return nil 9515 } 9516 } 9517 file_attribute_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 9518 switch v := v.(*EVPNMACIPAdvertisementRoute); i { 9519 case 0: 9520 return &v.state 9521 case 1: 9522 return &v.sizeCache 9523 case 2: 9524 return &v.unknownFields 9525 default: 9526 return nil 9527 } 9528 } 9529 file_attribute_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 9530 switch v := v.(*EVPNInclusiveMulticastEthernetTagRoute); i { 9531 case 0: 9532 return &v.state 9533 case 1: 9534 return &v.sizeCache 9535 case 2: 9536 return &v.unknownFields 9537 default: 9538 return nil 9539 } 9540 } 9541 file_attribute_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 9542 switch v := v.(*EVPNEthernetSegmentRoute); i { 9543 case 0: 9544 return &v.state 9545 case 1: 9546 return &v.sizeCache 9547 case 2: 9548 return &v.unknownFields 9549 default: 9550 return nil 9551 } 9552 } 9553 file_attribute_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 9554 switch v := v.(*EVPNIPPrefixRoute); i { 9555 case 0: 9556 return &v.state 9557 case 1: 9558 return &v.sizeCache 9559 case 2: 9560 return &v.unknownFields 9561 default: 9562 return nil 9563 } 9564 } 9565 file_attribute_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 9566 switch v := v.(*EVPNIPMSIRoute); i { 9567 case 0: 9568 return &v.state 9569 case 1: 9570 return &v.sizeCache 9571 case 2: 9572 return &v.unknownFields 9573 default: 9574 return nil 9575 } 9576 } 9577 file_attribute_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 9578 switch v := v.(*SRPolicyNLRI); i { 9579 case 0: 9580 return &v.state 9581 case 1: 9582 return &v.sizeCache 9583 case 2: 9584 return &v.unknownFields 9585 default: 9586 return nil 9587 } 9588 } 9589 file_attribute_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 9590 switch v := v.(*LabeledVPNIPAddressPrefix); i { 9591 case 0: 9592 return &v.state 9593 case 1: 9594 return &v.sizeCache 9595 case 2: 9596 return &v.unknownFields 9597 default: 9598 return nil 9599 } 9600 } 9601 file_attribute_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 9602 switch v := v.(*RouteTargetMembershipNLRI); i { 9603 case 0: 9604 return &v.state 9605 case 1: 9606 return &v.sizeCache 9607 case 2: 9608 return &v.unknownFields 9609 default: 9610 return nil 9611 } 9612 } 9613 file_attribute_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 9614 switch v := v.(*FlowSpecIPPrefix); i { 9615 case 0: 9616 return &v.state 9617 case 1: 9618 return &v.sizeCache 9619 case 2: 9620 return &v.unknownFields 9621 default: 9622 return nil 9623 } 9624 } 9625 file_attribute_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 9626 switch v := v.(*FlowSpecMAC); i { 9627 case 0: 9628 return &v.state 9629 case 1: 9630 return &v.sizeCache 9631 case 2: 9632 return &v.unknownFields 9633 default: 9634 return nil 9635 } 9636 } 9637 file_attribute_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 9638 switch v := v.(*FlowSpecComponentItem); i { 9639 case 0: 9640 return &v.state 9641 case 1: 9642 return &v.sizeCache 9643 case 2: 9644 return &v.unknownFields 9645 default: 9646 return nil 9647 } 9648 } 9649 file_attribute_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 9650 switch v := v.(*FlowSpecComponent); i { 9651 case 0: 9652 return &v.state 9653 case 1: 9654 return &v.sizeCache 9655 case 2: 9656 return &v.unknownFields 9657 default: 9658 return nil 9659 } 9660 } 9661 file_attribute_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 9662 switch v := v.(*FlowSpecNLRI); i { 9663 case 0: 9664 return &v.state 9665 case 1: 9666 return &v.sizeCache 9667 case 2: 9668 return &v.unknownFields 9669 default: 9670 return nil 9671 } 9672 } 9673 file_attribute_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 9674 switch v := v.(*VPNFlowSpecNLRI); i { 9675 case 0: 9676 return &v.state 9677 case 1: 9678 return &v.sizeCache 9679 case 2: 9680 return &v.unknownFields 9681 default: 9682 return nil 9683 } 9684 } 9685 file_attribute_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 9686 switch v := v.(*OpaqueNLRI); i { 9687 case 0: 9688 return &v.state 9689 case 1: 9690 return &v.sizeCache 9691 case 2: 9692 return &v.unknownFields 9693 default: 9694 return nil 9695 } 9696 } 9697 file_attribute_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 9698 switch v := v.(*LsNodeDescriptor); i { 9699 case 0: 9700 return &v.state 9701 case 1: 9702 return &v.sizeCache 9703 case 2: 9704 return &v.unknownFields 9705 default: 9706 return nil 9707 } 9708 } 9709 file_attribute_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 9710 switch v := v.(*LsLinkDescriptor); i { 9711 case 0: 9712 return &v.state 9713 case 1: 9714 return &v.sizeCache 9715 case 2: 9716 return &v.unknownFields 9717 default: 9718 return nil 9719 } 9720 } 9721 file_attribute_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { 9722 switch v := v.(*LsPrefixDescriptor); i { 9723 case 0: 9724 return &v.state 9725 case 1: 9726 return &v.sizeCache 9727 case 2: 9728 return &v.unknownFields 9729 default: 9730 return nil 9731 } 9732 } 9733 file_attribute_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { 9734 switch v := v.(*LsNodeNLRI); i { 9735 case 0: 9736 return &v.state 9737 case 1: 9738 return &v.sizeCache 9739 case 2: 9740 return &v.unknownFields 9741 default: 9742 return nil 9743 } 9744 } 9745 file_attribute_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { 9746 switch v := v.(*LsLinkNLRI); i { 9747 case 0: 9748 return &v.state 9749 case 1: 9750 return &v.sizeCache 9751 case 2: 9752 return &v.unknownFields 9753 default: 9754 return nil 9755 } 9756 } 9757 file_attribute_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { 9758 switch v := v.(*LsPrefixV4NLRI); i { 9759 case 0: 9760 return &v.state 9761 case 1: 9762 return &v.sizeCache 9763 case 2: 9764 return &v.unknownFields 9765 default: 9766 return nil 9767 } 9768 } 9769 file_attribute_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { 9770 switch v := v.(*LsPrefixV6NLRI); i { 9771 case 0: 9772 return &v.state 9773 case 1: 9774 return &v.sizeCache 9775 case 2: 9776 return &v.unknownFields 9777 default: 9778 return nil 9779 } 9780 } 9781 file_attribute_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { 9782 switch v := v.(*LsAddrPrefix); i { 9783 case 0: 9784 return &v.state 9785 case 1: 9786 return &v.sizeCache 9787 case 2: 9788 return &v.unknownFields 9789 default: 9790 return nil 9791 } 9792 } 9793 file_attribute_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 9794 switch v := v.(*MUPInterworkSegmentDiscoveryRoute); i { 9795 case 0: 9796 return &v.state 9797 case 1: 9798 return &v.sizeCache 9799 case 2: 9800 return &v.unknownFields 9801 default: 9802 return nil 9803 } 9804 } 9805 file_attribute_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 9806 switch v := v.(*MUPDirectSegmentDiscoveryRoute); i { 9807 case 0: 9808 return &v.state 9809 case 1: 9810 return &v.sizeCache 9811 case 2: 9812 return &v.unknownFields 9813 default: 9814 return nil 9815 } 9816 } 9817 file_attribute_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { 9818 switch v := v.(*MUPType1SessionTransformedRoute); i { 9819 case 0: 9820 return &v.state 9821 case 1: 9822 return &v.sizeCache 9823 case 2: 9824 return &v.unknownFields 9825 default: 9826 return nil 9827 } 9828 } 9829 file_attribute_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { 9830 switch v := v.(*MUPType2SessionTransformedRoute); i { 9831 case 0: 9832 return &v.state 9833 case 1: 9834 return &v.sizeCache 9835 case 2: 9836 return &v.unknownFields 9837 default: 9838 return nil 9839 } 9840 } 9841 file_attribute_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { 9842 switch v := v.(*MpReachNLRIAttribute); i { 9843 case 0: 9844 return &v.state 9845 case 1: 9846 return &v.sizeCache 9847 case 2: 9848 return &v.unknownFields 9849 default: 9850 return nil 9851 } 9852 } 9853 file_attribute_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { 9854 switch v := v.(*MpUnreachNLRIAttribute); i { 9855 case 0: 9856 return &v.state 9857 case 1: 9858 return &v.sizeCache 9859 case 2: 9860 return &v.unknownFields 9861 default: 9862 return nil 9863 } 9864 } 9865 file_attribute_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { 9866 switch v := v.(*TwoOctetAsSpecificExtended); i { 9867 case 0: 9868 return &v.state 9869 case 1: 9870 return &v.sizeCache 9871 case 2: 9872 return &v.unknownFields 9873 default: 9874 return nil 9875 } 9876 } 9877 file_attribute_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { 9878 switch v := v.(*IPv4AddressSpecificExtended); i { 9879 case 0: 9880 return &v.state 9881 case 1: 9882 return &v.sizeCache 9883 case 2: 9884 return &v.unknownFields 9885 default: 9886 return nil 9887 } 9888 } 9889 file_attribute_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { 9890 switch v := v.(*FourOctetAsSpecificExtended); i { 9891 case 0: 9892 return &v.state 9893 case 1: 9894 return &v.sizeCache 9895 case 2: 9896 return &v.unknownFields 9897 default: 9898 return nil 9899 } 9900 } 9901 file_attribute_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { 9902 switch v := v.(*LinkBandwidthExtended); i { 9903 case 0: 9904 return &v.state 9905 case 1: 9906 return &v.sizeCache 9907 case 2: 9908 return &v.unknownFields 9909 default: 9910 return nil 9911 } 9912 } 9913 file_attribute_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { 9914 switch v := v.(*ValidationExtended); i { 9915 case 0: 9916 return &v.state 9917 case 1: 9918 return &v.sizeCache 9919 case 2: 9920 return &v.unknownFields 9921 default: 9922 return nil 9923 } 9924 } 9925 file_attribute_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { 9926 switch v := v.(*ColorExtended); i { 9927 case 0: 9928 return &v.state 9929 case 1: 9930 return &v.sizeCache 9931 case 2: 9932 return &v.unknownFields 9933 default: 9934 return nil 9935 } 9936 } 9937 file_attribute_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { 9938 switch v := v.(*EncapExtended); i { 9939 case 0: 9940 return &v.state 9941 case 1: 9942 return &v.sizeCache 9943 case 2: 9944 return &v.unknownFields 9945 default: 9946 return nil 9947 } 9948 } 9949 file_attribute_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { 9950 switch v := v.(*DefaultGatewayExtended); i { 9951 case 0: 9952 return &v.state 9953 case 1: 9954 return &v.sizeCache 9955 case 2: 9956 return &v.unknownFields 9957 default: 9958 return nil 9959 } 9960 } 9961 file_attribute_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { 9962 switch v := v.(*OpaqueExtended); i { 9963 case 0: 9964 return &v.state 9965 case 1: 9966 return &v.sizeCache 9967 case 2: 9968 return &v.unknownFields 9969 default: 9970 return nil 9971 } 9972 } 9973 file_attribute_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { 9974 switch v := v.(*ESILabelExtended); i { 9975 case 0: 9976 return &v.state 9977 case 1: 9978 return &v.sizeCache 9979 case 2: 9980 return &v.unknownFields 9981 default: 9982 return nil 9983 } 9984 } 9985 file_attribute_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { 9986 switch v := v.(*ESImportRouteTarget); i { 9987 case 0: 9988 return &v.state 9989 case 1: 9990 return &v.sizeCache 9991 case 2: 9992 return &v.unknownFields 9993 default: 9994 return nil 9995 } 9996 } 9997 file_attribute_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { 9998 switch v := v.(*MacMobilityExtended); i { 9999 case 0: 10000 return &v.state 10001 case 1: 10002 return &v.sizeCache 10003 case 2: 10004 return &v.unknownFields 10005 default: 10006 return nil 10007 } 10008 } 10009 file_attribute_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { 10010 switch v := v.(*RouterMacExtended); i { 10011 case 0: 10012 return &v.state 10013 case 1: 10014 return &v.sizeCache 10015 case 2: 10016 return &v.unknownFields 10017 default: 10018 return nil 10019 } 10020 } 10021 file_attribute_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { 10022 switch v := v.(*TrafficRateExtended); i { 10023 case 0: 10024 return &v.state 10025 case 1: 10026 return &v.sizeCache 10027 case 2: 10028 return &v.unknownFields 10029 default: 10030 return nil 10031 } 10032 } 10033 file_attribute_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { 10034 switch v := v.(*TrafficActionExtended); i { 10035 case 0: 10036 return &v.state 10037 case 1: 10038 return &v.sizeCache 10039 case 2: 10040 return &v.unknownFields 10041 default: 10042 return nil 10043 } 10044 } 10045 file_attribute_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { 10046 switch v := v.(*RedirectTwoOctetAsSpecificExtended); i { 10047 case 0: 10048 return &v.state 10049 case 1: 10050 return &v.sizeCache 10051 case 2: 10052 return &v.unknownFields 10053 default: 10054 return nil 10055 } 10056 } 10057 file_attribute_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { 10058 switch v := v.(*RedirectIPv4AddressSpecificExtended); i { 10059 case 0: 10060 return &v.state 10061 case 1: 10062 return &v.sizeCache 10063 case 2: 10064 return &v.unknownFields 10065 default: 10066 return nil 10067 } 10068 } 10069 file_attribute_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { 10070 switch v := v.(*RedirectFourOctetAsSpecificExtended); i { 10071 case 0: 10072 return &v.state 10073 case 1: 10074 return &v.sizeCache 10075 case 2: 10076 return &v.unknownFields 10077 default: 10078 return nil 10079 } 10080 } 10081 file_attribute_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { 10082 switch v := v.(*TrafficRemarkExtended); i { 10083 case 0: 10084 return &v.state 10085 case 1: 10086 return &v.sizeCache 10087 case 2: 10088 return &v.unknownFields 10089 default: 10090 return nil 10091 } 10092 } 10093 file_attribute_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { 10094 switch v := v.(*MUPExtended); i { 10095 case 0: 10096 return &v.state 10097 case 1: 10098 return &v.sizeCache 10099 case 2: 10100 return &v.unknownFields 10101 default: 10102 return nil 10103 } 10104 } 10105 file_attribute_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { 10106 switch v := v.(*VPLSExtended); i { 10107 case 0: 10108 return &v.state 10109 case 1: 10110 return &v.sizeCache 10111 case 2: 10112 return &v.unknownFields 10113 default: 10114 return nil 10115 } 10116 } 10117 file_attribute_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { 10118 switch v := v.(*UnknownExtended); i { 10119 case 0: 10120 return &v.state 10121 case 1: 10122 return &v.sizeCache 10123 case 2: 10124 return &v.unknownFields 10125 default: 10126 return nil 10127 } 10128 } 10129 file_attribute_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { 10130 switch v := v.(*ExtendedCommunitiesAttribute); i { 10131 case 0: 10132 return &v.state 10133 case 1: 10134 return &v.sizeCache 10135 case 2: 10136 return &v.unknownFields 10137 default: 10138 return nil 10139 } 10140 } 10141 file_attribute_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { 10142 switch v := v.(*As4PathAttribute); i { 10143 case 0: 10144 return &v.state 10145 case 1: 10146 return &v.sizeCache 10147 case 2: 10148 return &v.unknownFields 10149 default: 10150 return nil 10151 } 10152 } 10153 file_attribute_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { 10154 switch v := v.(*As4AggregatorAttribute); i { 10155 case 0: 10156 return &v.state 10157 case 1: 10158 return &v.sizeCache 10159 case 2: 10160 return &v.unknownFields 10161 default: 10162 return nil 10163 } 10164 } 10165 file_attribute_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { 10166 switch v := v.(*PmsiTunnelAttribute); i { 10167 case 0: 10168 return &v.state 10169 case 1: 10170 return &v.sizeCache 10171 case 2: 10172 return &v.unknownFields 10173 default: 10174 return nil 10175 } 10176 } 10177 file_attribute_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { 10178 switch v := v.(*TunnelEncapSubTLVEncapsulation); i { 10179 case 0: 10180 return &v.state 10181 case 1: 10182 return &v.sizeCache 10183 case 2: 10184 return &v.unknownFields 10185 default: 10186 return nil 10187 } 10188 } 10189 file_attribute_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { 10190 switch v := v.(*TunnelEncapSubTLVProtocol); i { 10191 case 0: 10192 return &v.state 10193 case 1: 10194 return &v.sizeCache 10195 case 2: 10196 return &v.unknownFields 10197 default: 10198 return nil 10199 } 10200 } 10201 file_attribute_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { 10202 switch v := v.(*TunnelEncapSubTLVColor); i { 10203 case 0: 10204 return &v.state 10205 case 1: 10206 return &v.sizeCache 10207 case 2: 10208 return &v.unknownFields 10209 default: 10210 return nil 10211 } 10212 } 10213 file_attribute_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { 10214 switch v := v.(*TunnelEncapSubTLVSRPreference); i { 10215 case 0: 10216 return &v.state 10217 case 1: 10218 return &v.sizeCache 10219 case 2: 10220 return &v.unknownFields 10221 default: 10222 return nil 10223 } 10224 } 10225 file_attribute_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { 10226 switch v := v.(*TunnelEncapSubTLVSRCandidatePathName); i { 10227 case 0: 10228 return &v.state 10229 case 1: 10230 return &v.sizeCache 10231 case 2: 10232 return &v.unknownFields 10233 default: 10234 return nil 10235 } 10236 } 10237 file_attribute_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { 10238 switch v := v.(*TunnelEncapSubTLVSRPriority); i { 10239 case 0: 10240 return &v.state 10241 case 1: 10242 return &v.sizeCache 10243 case 2: 10244 return &v.unknownFields 10245 default: 10246 return nil 10247 } 10248 } 10249 file_attribute_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { 10250 switch v := v.(*TunnelEncapSubTLVSRBindingSID); i { 10251 case 0: 10252 return &v.state 10253 case 1: 10254 return &v.sizeCache 10255 case 2: 10256 return &v.unknownFields 10257 default: 10258 return nil 10259 } 10260 } 10261 file_attribute_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { 10262 switch v := v.(*SRBindingSID); i { 10263 case 0: 10264 return &v.state 10265 case 1: 10266 return &v.sizeCache 10267 case 2: 10268 return &v.unknownFields 10269 default: 10270 return nil 10271 } 10272 } 10273 file_attribute_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { 10274 switch v := v.(*SRv6EndPointBehavior); i { 10275 case 0: 10276 return &v.state 10277 case 1: 10278 return &v.sizeCache 10279 case 2: 10280 return &v.unknownFields 10281 default: 10282 return nil 10283 } 10284 } 10285 file_attribute_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { 10286 switch v := v.(*SRv6BindingSID); i { 10287 case 0: 10288 return &v.state 10289 case 1: 10290 return &v.sizeCache 10291 case 2: 10292 return &v.unknownFields 10293 default: 10294 return nil 10295 } 10296 } 10297 file_attribute_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { 10298 switch v := v.(*TunnelEncapSubTLVSRENLP); i { 10299 case 0: 10300 return &v.state 10301 case 1: 10302 return &v.sizeCache 10303 case 2: 10304 return &v.unknownFields 10305 default: 10306 return nil 10307 } 10308 } 10309 file_attribute_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { 10310 switch v := v.(*SRWeight); i { 10311 case 0: 10312 return &v.state 10313 case 1: 10314 return &v.sizeCache 10315 case 2: 10316 return &v.unknownFields 10317 default: 10318 return nil 10319 } 10320 } 10321 file_attribute_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { 10322 switch v := v.(*SegmentFlags); i { 10323 case 0: 10324 return &v.state 10325 case 1: 10326 return &v.sizeCache 10327 case 2: 10328 return &v.unknownFields 10329 default: 10330 return nil 10331 } 10332 } 10333 file_attribute_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { 10334 switch v := v.(*SegmentTypeA); i { 10335 case 0: 10336 return &v.state 10337 case 1: 10338 return &v.sizeCache 10339 case 2: 10340 return &v.unknownFields 10341 default: 10342 return nil 10343 } 10344 } 10345 file_attribute_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { 10346 switch v := v.(*SegmentTypeB); i { 10347 case 0: 10348 return &v.state 10349 case 1: 10350 return &v.sizeCache 10351 case 2: 10352 return &v.unknownFields 10353 default: 10354 return nil 10355 } 10356 } 10357 file_attribute_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { 10358 switch v := v.(*TunnelEncapSubTLVSRSegmentList); i { 10359 case 0: 10360 return &v.state 10361 case 1: 10362 return &v.sizeCache 10363 case 2: 10364 return &v.unknownFields 10365 default: 10366 return nil 10367 } 10368 } 10369 file_attribute_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { 10370 switch v := v.(*TunnelEncapSubTLVEgressEndpoint); i { 10371 case 0: 10372 return &v.state 10373 case 1: 10374 return &v.sizeCache 10375 case 2: 10376 return &v.unknownFields 10377 default: 10378 return nil 10379 } 10380 } 10381 file_attribute_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { 10382 switch v := v.(*TunnelEncapSubTLVUDPDestPort); i { 10383 case 0: 10384 return &v.state 10385 case 1: 10386 return &v.sizeCache 10387 case 2: 10388 return &v.unknownFields 10389 default: 10390 return nil 10391 } 10392 } 10393 file_attribute_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { 10394 switch v := v.(*TunnelEncapSubTLVUnknown); i { 10395 case 0: 10396 return &v.state 10397 case 1: 10398 return &v.sizeCache 10399 case 2: 10400 return &v.unknownFields 10401 default: 10402 return nil 10403 } 10404 } 10405 file_attribute_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { 10406 switch v := v.(*TunnelEncapTLV); i { 10407 case 0: 10408 return &v.state 10409 case 1: 10410 return &v.sizeCache 10411 case 2: 10412 return &v.unknownFields 10413 default: 10414 return nil 10415 } 10416 } 10417 file_attribute_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { 10418 switch v := v.(*TunnelEncapAttribute); i { 10419 case 0: 10420 return &v.state 10421 case 1: 10422 return &v.sizeCache 10423 case 2: 10424 return &v.unknownFields 10425 default: 10426 return nil 10427 } 10428 } 10429 file_attribute_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { 10430 switch v := v.(*IPv6AddressSpecificExtended); i { 10431 case 0: 10432 return &v.state 10433 case 1: 10434 return &v.sizeCache 10435 case 2: 10436 return &v.unknownFields 10437 default: 10438 return nil 10439 } 10440 } 10441 file_attribute_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { 10442 switch v := v.(*RedirectIPv6AddressSpecificExtended); i { 10443 case 0: 10444 return &v.state 10445 case 1: 10446 return &v.sizeCache 10447 case 2: 10448 return &v.unknownFields 10449 default: 10450 return nil 10451 } 10452 } 10453 file_attribute_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { 10454 switch v := v.(*IP6ExtendedCommunitiesAttribute); i { 10455 case 0: 10456 return &v.state 10457 case 1: 10458 return &v.sizeCache 10459 case 2: 10460 return &v.unknownFields 10461 default: 10462 return nil 10463 } 10464 } 10465 file_attribute_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { 10466 switch v := v.(*AigpTLVIGPMetric); i { 10467 case 0: 10468 return &v.state 10469 case 1: 10470 return &v.sizeCache 10471 case 2: 10472 return &v.unknownFields 10473 default: 10474 return nil 10475 } 10476 } 10477 file_attribute_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { 10478 switch v := v.(*AigpTLVUnknown); i { 10479 case 0: 10480 return &v.state 10481 case 1: 10482 return &v.sizeCache 10483 case 2: 10484 return &v.unknownFields 10485 default: 10486 return nil 10487 } 10488 } 10489 file_attribute_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { 10490 switch v := v.(*AigpAttribute); i { 10491 case 0: 10492 return &v.state 10493 case 1: 10494 return &v.sizeCache 10495 case 2: 10496 return &v.unknownFields 10497 default: 10498 return nil 10499 } 10500 } 10501 file_attribute_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { 10502 switch v := v.(*LargeCommunity); i { 10503 case 0: 10504 return &v.state 10505 case 1: 10506 return &v.sizeCache 10507 case 2: 10508 return &v.unknownFields 10509 default: 10510 return nil 10511 } 10512 } 10513 file_attribute_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { 10514 switch v := v.(*LargeCommunitiesAttribute); i { 10515 case 0: 10516 return &v.state 10517 case 1: 10518 return &v.sizeCache 10519 case 2: 10520 return &v.unknownFields 10521 default: 10522 return nil 10523 } 10524 } 10525 file_attribute_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { 10526 switch v := v.(*LsNodeFlags); i { 10527 case 0: 10528 return &v.state 10529 case 1: 10530 return &v.sizeCache 10531 case 2: 10532 return &v.unknownFields 10533 default: 10534 return nil 10535 } 10536 } 10537 file_attribute_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { 10538 switch v := v.(*LsIGPFlags); i { 10539 case 0: 10540 return &v.state 10541 case 1: 10542 return &v.sizeCache 10543 case 2: 10544 return &v.unknownFields 10545 default: 10546 return nil 10547 } 10548 } 10549 file_attribute_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { 10550 switch v := v.(*LsSrRange); i { 10551 case 0: 10552 return &v.state 10553 case 1: 10554 return &v.sizeCache 10555 case 2: 10556 return &v.unknownFields 10557 default: 10558 return nil 10559 } 10560 } 10561 file_attribute_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { 10562 switch v := v.(*LsSrCapabilities); i { 10563 case 0: 10564 return &v.state 10565 case 1: 10566 return &v.sizeCache 10567 case 2: 10568 return &v.unknownFields 10569 default: 10570 return nil 10571 } 10572 } 10573 file_attribute_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { 10574 switch v := v.(*LsSrLocalBlock); i { 10575 case 0: 10576 return &v.state 10577 case 1: 10578 return &v.sizeCache 10579 case 2: 10580 return &v.unknownFields 10581 default: 10582 return nil 10583 } 10584 } 10585 file_attribute_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { 10586 switch v := v.(*LsAttributeNode); i { 10587 case 0: 10588 return &v.state 10589 case 1: 10590 return &v.sizeCache 10591 case 2: 10592 return &v.unknownFields 10593 default: 10594 return nil 10595 } 10596 } 10597 file_attribute_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { 10598 switch v := v.(*LsAttributeLink); i { 10599 case 0: 10600 return &v.state 10601 case 1: 10602 return &v.sizeCache 10603 case 2: 10604 return &v.unknownFields 10605 default: 10606 return nil 10607 } 10608 } 10609 file_attribute_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { 10610 switch v := v.(*LsAttributePrefix); i { 10611 case 0: 10612 return &v.state 10613 case 1: 10614 return &v.sizeCache 10615 case 2: 10616 return &v.unknownFields 10617 default: 10618 return nil 10619 } 10620 } 10621 file_attribute_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { 10622 switch v := v.(*LsBgpPeerSegmentSIDFlags); i { 10623 case 0: 10624 return &v.state 10625 case 1: 10626 return &v.sizeCache 10627 case 2: 10628 return &v.unknownFields 10629 default: 10630 return nil 10631 } 10632 } 10633 file_attribute_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { 10634 switch v := v.(*LsBgpPeerSegmentSID); i { 10635 case 0: 10636 return &v.state 10637 case 1: 10638 return &v.sizeCache 10639 case 2: 10640 return &v.unknownFields 10641 default: 10642 return nil 10643 } 10644 } 10645 file_attribute_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { 10646 switch v := v.(*LsAttributeBgpPeerSegment); i { 10647 case 0: 10648 return &v.state 10649 case 1: 10650 return &v.sizeCache 10651 case 2: 10652 return &v.unknownFields 10653 default: 10654 return nil 10655 } 10656 } 10657 file_attribute_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { 10658 switch v := v.(*LsAttribute); i { 10659 case 0: 10660 return &v.state 10661 case 1: 10662 return &v.sizeCache 10663 case 2: 10664 return &v.unknownFields 10665 default: 10666 return nil 10667 } 10668 } 10669 file_attribute_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { 10670 switch v := v.(*UnknownAttribute); i { 10671 case 0: 10672 return &v.state 10673 case 1: 10674 return &v.sizeCache 10675 case 2: 10676 return &v.unknownFields 10677 default: 10678 return nil 10679 } 10680 } 10681 file_attribute_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { 10682 switch v := v.(*SRv6StructureSubSubTLV); i { 10683 case 0: 10684 return &v.state 10685 case 1: 10686 return &v.sizeCache 10687 case 2: 10688 return &v.unknownFields 10689 default: 10690 return nil 10691 } 10692 } 10693 file_attribute_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { 10694 switch v := v.(*SRv6SIDFlags); i { 10695 case 0: 10696 return &v.state 10697 case 1: 10698 return &v.sizeCache 10699 case 2: 10700 return &v.unknownFields 10701 default: 10702 return nil 10703 } 10704 } 10705 file_attribute_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { 10706 switch v := v.(*SRv6TLV); i { 10707 case 0: 10708 return &v.state 10709 case 1: 10710 return &v.sizeCache 10711 case 2: 10712 return &v.unknownFields 10713 default: 10714 return nil 10715 } 10716 } 10717 file_attribute_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { 10718 switch v := v.(*SRv6InformationSubTLV); i { 10719 case 0: 10720 return &v.state 10721 case 1: 10722 return &v.sizeCache 10723 case 2: 10724 return &v.unknownFields 10725 default: 10726 return nil 10727 } 10728 } 10729 file_attribute_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { 10730 switch v := v.(*SRv6L3ServiceTLV); i { 10731 case 0: 10732 return &v.state 10733 case 1: 10734 return &v.sizeCache 10735 case 2: 10736 return &v.unknownFields 10737 default: 10738 return nil 10739 } 10740 } 10741 file_attribute_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { 10742 switch v := v.(*SRv6L2ServiceTLV); i { 10743 case 0: 10744 return &v.state 10745 case 1: 10746 return &v.sizeCache 10747 case 2: 10748 return &v.unknownFields 10749 default: 10750 return nil 10751 } 10752 } 10753 file_attribute_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { 10754 switch v := v.(*PrefixSID); i { 10755 case 0: 10756 return &v.state 10757 case 1: 10758 return &v.sizeCache 10759 case 2: 10760 return &v.unknownFields 10761 default: 10762 return nil 10763 } 10764 } 10765 } 10766 type x struct{} 10767 out := protoimpl.TypeBuilder{ 10768 File: protoimpl.DescBuilder{ 10769 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 10770 RawDescriptor: file_attribute_proto_rawDesc, 10771 NumEnums: 6, 10772 NumMessages: 127, 10773 NumExtensions: 0, 10774 NumServices: 0, 10775 }, 10776 GoTypes: file_attribute_proto_goTypes, 10777 DependencyIndexes: file_attribute_proto_depIdxs, 10778 EnumInfos: file_attribute_proto_enumTypes, 10779 MessageInfos: file_attribute_proto_msgTypes, 10780 }.Build() 10781 File_attribute_proto = out.File 10782 file_attribute_proto_rawDesc = nil 10783 file_attribute_proto_goTypes = nil 10784 file_attribute_proto_depIdxs = nil 10785 }