github.com/osrg/gobgp/v3@v3.30.0/api/gobgp.pb.go (about) 1 // Copyright (C) 2015-2017 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: gobgp.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 emptypb "google.golang.org/protobuf/types/known/emptypb" 35 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 36 reflect "reflect" 37 sync "sync" 38 ) 39 40 const ( 41 // Verify that this generated code is sufficiently up-to-date. 42 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 43 // Verify that runtime/protoimpl is sufficiently up-to-date. 44 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 45 ) 46 47 type TableType int32 48 49 const ( 50 TableType_GLOBAL TableType = 0 51 TableType_LOCAL TableType = 1 52 TableType_ADJ_IN TableType = 2 53 TableType_ADJ_OUT TableType = 3 54 TableType_VRF TableType = 4 55 ) 56 57 // Enum value maps for TableType. 58 var ( 59 TableType_name = map[int32]string{ 60 0: "GLOBAL", 61 1: "LOCAL", 62 2: "ADJ_IN", 63 3: "ADJ_OUT", 64 4: "VRF", 65 } 66 TableType_value = map[string]int32{ 67 "GLOBAL": 0, 68 "LOCAL": 1, 69 "ADJ_IN": 2, 70 "ADJ_OUT": 3, 71 "VRF": 4, 72 } 73 ) 74 75 func (x TableType) Enum() *TableType { 76 p := new(TableType) 77 *p = x 78 return p 79 } 80 81 func (x TableType) String() string { 82 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 83 } 84 85 func (TableType) Descriptor() protoreflect.EnumDescriptor { 86 return file_gobgp_proto_enumTypes[0].Descriptor() 87 } 88 89 func (TableType) Type() protoreflect.EnumType { 90 return &file_gobgp_proto_enumTypes[0] 91 } 92 93 func (x TableType) Number() protoreflect.EnumNumber { 94 return protoreflect.EnumNumber(x) 95 } 96 97 // Deprecated: Use TableType.Descriptor instead. 98 func (TableType) EnumDescriptor() ([]byte, []int) { 99 return file_gobgp_proto_rawDescGZIP(), []int{0} 100 } 101 102 type PeerType int32 103 104 const ( 105 PeerType_INTERNAL PeerType = 0 106 PeerType_EXTERNAL PeerType = 1 107 ) 108 109 // Enum value maps for PeerType. 110 var ( 111 PeerType_name = map[int32]string{ 112 0: "INTERNAL", 113 1: "EXTERNAL", 114 } 115 PeerType_value = map[string]int32{ 116 "INTERNAL": 0, 117 "EXTERNAL": 1, 118 } 119 ) 120 121 func (x PeerType) Enum() *PeerType { 122 p := new(PeerType) 123 *p = x 124 return p 125 } 126 127 func (x PeerType) String() string { 128 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 129 } 130 131 func (PeerType) Descriptor() protoreflect.EnumDescriptor { 132 return file_gobgp_proto_enumTypes[1].Descriptor() 133 } 134 135 func (PeerType) Type() protoreflect.EnumType { 136 return &file_gobgp_proto_enumTypes[1] 137 } 138 139 func (x PeerType) Number() protoreflect.EnumNumber { 140 return protoreflect.EnumNumber(x) 141 } 142 143 // Deprecated: Use PeerType.Descriptor instead. 144 func (PeerType) EnumDescriptor() ([]byte, []int) { 145 return file_gobgp_proto_rawDescGZIP(), []int{1} 146 } 147 148 type RemovePrivate int32 149 150 const ( 151 RemovePrivate_REMOVE_NONE RemovePrivate = 0 152 RemovePrivate_REMOVE_ALL RemovePrivate = 1 153 RemovePrivate_REPLACE RemovePrivate = 2 154 ) 155 156 // Enum value maps for RemovePrivate. 157 var ( 158 RemovePrivate_name = map[int32]string{ 159 0: "REMOVE_NONE", 160 1: "REMOVE_ALL", 161 2: "REPLACE", 162 } 163 RemovePrivate_value = map[string]int32{ 164 "REMOVE_NONE": 0, 165 "REMOVE_ALL": 1, 166 "REPLACE": 2, 167 } 168 ) 169 170 func (x RemovePrivate) Enum() *RemovePrivate { 171 p := new(RemovePrivate) 172 *p = x 173 return p 174 } 175 176 func (x RemovePrivate) String() string { 177 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 178 } 179 180 func (RemovePrivate) Descriptor() protoreflect.EnumDescriptor { 181 return file_gobgp_proto_enumTypes[2].Descriptor() 182 } 183 184 func (RemovePrivate) Type() protoreflect.EnumType { 185 return &file_gobgp_proto_enumTypes[2] 186 } 187 188 func (x RemovePrivate) Number() protoreflect.EnumNumber { 189 return protoreflect.EnumNumber(x) 190 } 191 192 // Deprecated: Use RemovePrivate.Descriptor instead. 193 func (RemovePrivate) EnumDescriptor() ([]byte, []int) { 194 return file_gobgp_proto_rawDescGZIP(), []int{2} 195 } 196 197 type DefinedType int32 198 199 const ( 200 DefinedType_PREFIX DefinedType = 0 201 DefinedType_NEIGHBOR DefinedType = 1 202 DefinedType_TAG DefinedType = 2 203 DefinedType_AS_PATH DefinedType = 3 204 DefinedType_COMMUNITY DefinedType = 4 205 DefinedType_EXT_COMMUNITY DefinedType = 5 206 DefinedType_LARGE_COMMUNITY DefinedType = 6 207 DefinedType_NEXT_HOP DefinedType = 7 208 ) 209 210 // Enum value maps for DefinedType. 211 var ( 212 DefinedType_name = map[int32]string{ 213 0: "PREFIX", 214 1: "NEIGHBOR", 215 2: "TAG", 216 3: "AS_PATH", 217 4: "COMMUNITY", 218 5: "EXT_COMMUNITY", 219 6: "LARGE_COMMUNITY", 220 7: "NEXT_HOP", 221 } 222 DefinedType_value = map[string]int32{ 223 "PREFIX": 0, 224 "NEIGHBOR": 1, 225 "TAG": 2, 226 "AS_PATH": 3, 227 "COMMUNITY": 4, 228 "EXT_COMMUNITY": 5, 229 "LARGE_COMMUNITY": 6, 230 "NEXT_HOP": 7, 231 } 232 ) 233 234 func (x DefinedType) Enum() *DefinedType { 235 p := new(DefinedType) 236 *p = x 237 return p 238 } 239 240 func (x DefinedType) String() string { 241 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 242 } 243 244 func (DefinedType) Descriptor() protoreflect.EnumDescriptor { 245 return file_gobgp_proto_enumTypes[3].Descriptor() 246 } 247 248 func (DefinedType) Type() protoreflect.EnumType { 249 return &file_gobgp_proto_enumTypes[3] 250 } 251 252 func (x DefinedType) Number() protoreflect.EnumNumber { 253 return protoreflect.EnumNumber(x) 254 } 255 256 // Deprecated: Use DefinedType.Descriptor instead. 257 func (DefinedType) EnumDescriptor() ([]byte, []int) { 258 return file_gobgp_proto_rawDescGZIP(), []int{3} 259 } 260 261 type RouteOriginType int32 262 263 const ( 264 RouteOriginType_ORIGIN_NONE RouteOriginType = 0 265 RouteOriginType_ORIGIN_IGP RouteOriginType = 1 266 RouteOriginType_ORIGIN_EGP RouteOriginType = 2 267 RouteOriginType_ORIGIN_INCOMPLETE RouteOriginType = 3 268 ) 269 270 // Enum value maps for RouteOriginType. 271 var ( 272 RouteOriginType_name = map[int32]string{ 273 0: "ORIGIN_NONE", 274 1: "ORIGIN_IGP", 275 2: "ORIGIN_EGP", 276 3: "ORIGIN_INCOMPLETE", 277 } 278 RouteOriginType_value = map[string]int32{ 279 "ORIGIN_NONE": 0, 280 "ORIGIN_IGP": 1, 281 "ORIGIN_EGP": 2, 282 "ORIGIN_INCOMPLETE": 3, 283 } 284 ) 285 286 func (x RouteOriginType) Enum() *RouteOriginType { 287 p := new(RouteOriginType) 288 *p = x 289 return p 290 } 291 292 func (x RouteOriginType) String() string { 293 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 294 } 295 296 func (RouteOriginType) Descriptor() protoreflect.EnumDescriptor { 297 return file_gobgp_proto_enumTypes[4].Descriptor() 298 } 299 300 func (RouteOriginType) Type() protoreflect.EnumType { 301 return &file_gobgp_proto_enumTypes[4] 302 } 303 304 func (x RouteOriginType) Number() protoreflect.EnumNumber { 305 return protoreflect.EnumNumber(x) 306 } 307 308 // Deprecated: Use RouteOriginType.Descriptor instead. 309 func (RouteOriginType) EnumDescriptor() ([]byte, []int) { 310 return file_gobgp_proto_rawDescGZIP(), []int{4} 311 } 312 313 type RouteAction int32 314 315 const ( 316 RouteAction_NONE RouteAction = 0 317 RouteAction_ACCEPT RouteAction = 1 318 RouteAction_REJECT RouteAction = 2 319 ) 320 321 // Enum value maps for RouteAction. 322 var ( 323 RouteAction_name = map[int32]string{ 324 0: "NONE", 325 1: "ACCEPT", 326 2: "REJECT", 327 } 328 RouteAction_value = map[string]int32{ 329 "NONE": 0, 330 "ACCEPT": 1, 331 "REJECT": 2, 332 } 333 ) 334 335 func (x RouteAction) Enum() *RouteAction { 336 p := new(RouteAction) 337 *p = x 338 return p 339 } 340 341 func (x RouteAction) String() string { 342 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 343 } 344 345 func (RouteAction) Descriptor() protoreflect.EnumDescriptor { 346 return file_gobgp_proto_enumTypes[5].Descriptor() 347 } 348 349 func (RouteAction) Type() protoreflect.EnumType { 350 return &file_gobgp_proto_enumTypes[5] 351 } 352 353 func (x RouteAction) Number() protoreflect.EnumNumber { 354 return protoreflect.EnumNumber(x) 355 } 356 357 // Deprecated: Use RouteAction.Descriptor instead. 358 func (RouteAction) EnumDescriptor() ([]byte, []int) { 359 return file_gobgp_proto_rawDescGZIP(), []int{5} 360 } 361 362 type PolicyDirection int32 363 364 const ( 365 PolicyDirection_UNKNOWN PolicyDirection = 0 366 PolicyDirection_IMPORT PolicyDirection = 1 367 PolicyDirection_EXPORT PolicyDirection = 2 368 ) 369 370 // Enum value maps for PolicyDirection. 371 var ( 372 PolicyDirection_name = map[int32]string{ 373 0: "UNKNOWN", 374 1: "IMPORT", 375 2: "EXPORT", 376 } 377 PolicyDirection_value = map[string]int32{ 378 "UNKNOWN": 0, 379 "IMPORT": 1, 380 "EXPORT": 2, 381 } 382 ) 383 384 func (x PolicyDirection) Enum() *PolicyDirection { 385 p := new(PolicyDirection) 386 *p = x 387 return p 388 } 389 390 func (x PolicyDirection) String() string { 391 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 392 } 393 394 func (PolicyDirection) Descriptor() protoreflect.EnumDescriptor { 395 return file_gobgp_proto_enumTypes[6].Descriptor() 396 } 397 398 func (PolicyDirection) Type() protoreflect.EnumType { 399 return &file_gobgp_proto_enumTypes[6] 400 } 401 402 func (x PolicyDirection) Number() protoreflect.EnumNumber { 403 return protoreflect.EnumNumber(x) 404 } 405 406 // Deprecated: Use PolicyDirection.Descriptor instead. 407 func (PolicyDirection) EnumDescriptor() ([]byte, []int) { 408 return file_gobgp_proto_rawDescGZIP(), []int{6} 409 } 410 411 type WatchEventRequest_Table_Filter_Type int32 412 413 const ( 414 WatchEventRequest_Table_Filter_BEST WatchEventRequest_Table_Filter_Type = 0 415 WatchEventRequest_Table_Filter_ADJIN WatchEventRequest_Table_Filter_Type = 1 416 WatchEventRequest_Table_Filter_POST_POLICY WatchEventRequest_Table_Filter_Type = 2 417 WatchEventRequest_Table_Filter_EOR WatchEventRequest_Table_Filter_Type = 3 418 ) 419 420 // Enum value maps for WatchEventRequest_Table_Filter_Type. 421 var ( 422 WatchEventRequest_Table_Filter_Type_name = map[int32]string{ 423 0: "BEST", 424 1: "ADJIN", 425 2: "POST_POLICY", 426 3: "EOR", 427 } 428 WatchEventRequest_Table_Filter_Type_value = map[string]int32{ 429 "BEST": 0, 430 "ADJIN": 1, 431 "POST_POLICY": 2, 432 "EOR": 3, 433 } 434 ) 435 436 func (x WatchEventRequest_Table_Filter_Type) Enum() *WatchEventRequest_Table_Filter_Type { 437 p := new(WatchEventRequest_Table_Filter_Type) 438 *p = x 439 return p 440 } 441 442 func (x WatchEventRequest_Table_Filter_Type) String() string { 443 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 444 } 445 446 func (WatchEventRequest_Table_Filter_Type) Descriptor() protoreflect.EnumDescriptor { 447 return file_gobgp_proto_enumTypes[7].Descriptor() 448 } 449 450 func (WatchEventRequest_Table_Filter_Type) Type() protoreflect.EnumType { 451 return &file_gobgp_proto_enumTypes[7] 452 } 453 454 func (x WatchEventRequest_Table_Filter_Type) Number() protoreflect.EnumNumber { 455 return protoreflect.EnumNumber(x) 456 } 457 458 // Deprecated: Use WatchEventRequest_Table_Filter_Type.Descriptor instead. 459 func (WatchEventRequest_Table_Filter_Type) EnumDescriptor() ([]byte, []int) { 460 return file_gobgp_proto_rawDescGZIP(), []int{4, 1, 0, 0} 461 } 462 463 type WatchEventResponse_PeerEvent_Type int32 464 465 const ( 466 WatchEventResponse_PeerEvent_UNKNOWN WatchEventResponse_PeerEvent_Type = 0 467 WatchEventResponse_PeerEvent_INIT WatchEventResponse_PeerEvent_Type = 1 468 WatchEventResponse_PeerEvent_END_OF_INIT WatchEventResponse_PeerEvent_Type = 2 469 WatchEventResponse_PeerEvent_STATE WatchEventResponse_PeerEvent_Type = 3 470 ) 471 472 // Enum value maps for WatchEventResponse_PeerEvent_Type. 473 var ( 474 WatchEventResponse_PeerEvent_Type_name = map[int32]string{ 475 0: "UNKNOWN", 476 1: "INIT", 477 2: "END_OF_INIT", 478 3: "STATE", 479 } 480 WatchEventResponse_PeerEvent_Type_value = map[string]int32{ 481 "UNKNOWN": 0, 482 "INIT": 1, 483 "END_OF_INIT": 2, 484 "STATE": 3, 485 } 486 ) 487 488 func (x WatchEventResponse_PeerEvent_Type) Enum() *WatchEventResponse_PeerEvent_Type { 489 p := new(WatchEventResponse_PeerEvent_Type) 490 *p = x 491 return p 492 } 493 494 func (x WatchEventResponse_PeerEvent_Type) String() string { 495 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 496 } 497 498 func (WatchEventResponse_PeerEvent_Type) Descriptor() protoreflect.EnumDescriptor { 499 return file_gobgp_proto_enumTypes[8].Descriptor() 500 } 501 502 func (WatchEventResponse_PeerEvent_Type) Type() protoreflect.EnumType { 503 return &file_gobgp_proto_enumTypes[8] 504 } 505 506 func (x WatchEventResponse_PeerEvent_Type) Number() protoreflect.EnumNumber { 507 return protoreflect.EnumNumber(x) 508 } 509 510 // Deprecated: Use WatchEventResponse_PeerEvent_Type.Descriptor instead. 511 func (WatchEventResponse_PeerEvent_Type) EnumDescriptor() ([]byte, []int) { 512 return file_gobgp_proto_rawDescGZIP(), []int{5, 0, 0} 513 } 514 515 type ResetPeerRequest_SoftResetDirection int32 516 517 const ( 518 ResetPeerRequest_IN ResetPeerRequest_SoftResetDirection = 0 519 ResetPeerRequest_OUT ResetPeerRequest_SoftResetDirection = 1 520 ResetPeerRequest_BOTH ResetPeerRequest_SoftResetDirection = 2 521 ) 522 523 // Enum value maps for ResetPeerRequest_SoftResetDirection. 524 var ( 525 ResetPeerRequest_SoftResetDirection_name = map[int32]string{ 526 0: "IN", 527 1: "OUT", 528 2: "BOTH", 529 } 530 ResetPeerRequest_SoftResetDirection_value = map[string]int32{ 531 "IN": 0, 532 "OUT": 1, 533 "BOTH": 2, 534 } 535 ) 536 537 func (x ResetPeerRequest_SoftResetDirection) Enum() *ResetPeerRequest_SoftResetDirection { 538 p := new(ResetPeerRequest_SoftResetDirection) 539 *p = x 540 return p 541 } 542 543 func (x ResetPeerRequest_SoftResetDirection) String() string { 544 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 545 } 546 547 func (ResetPeerRequest_SoftResetDirection) Descriptor() protoreflect.EnumDescriptor { 548 return file_gobgp_proto_enumTypes[9].Descriptor() 549 } 550 551 func (ResetPeerRequest_SoftResetDirection) Type() protoreflect.EnumType { 552 return &file_gobgp_proto_enumTypes[9] 553 } 554 555 func (x ResetPeerRequest_SoftResetDirection) Number() protoreflect.EnumNumber { 556 return protoreflect.EnumNumber(x) 557 } 558 559 // Deprecated: Use ResetPeerRequest_SoftResetDirection.Descriptor instead. 560 func (ResetPeerRequest_SoftResetDirection) EnumDescriptor() ([]byte, []int) { 561 return file_gobgp_proto_rawDescGZIP(), []int{12, 0} 562 } 563 564 // API representation of table.LookupOption 565 type TableLookupPrefix_Type int32 566 567 const ( 568 TableLookupPrefix_EXACT TableLookupPrefix_Type = 0 569 TableLookupPrefix_LONGER TableLookupPrefix_Type = 1 570 TableLookupPrefix_SHORTER TableLookupPrefix_Type = 2 571 ) 572 573 // Enum value maps for TableLookupPrefix_Type. 574 var ( 575 TableLookupPrefix_Type_name = map[int32]string{ 576 0: "EXACT", 577 1: "LONGER", 578 2: "SHORTER", 579 } 580 TableLookupPrefix_Type_value = map[string]int32{ 581 "EXACT": 0, 582 "LONGER": 1, 583 "SHORTER": 2, 584 } 585 ) 586 587 func (x TableLookupPrefix_Type) Enum() *TableLookupPrefix_Type { 588 p := new(TableLookupPrefix_Type) 589 *p = x 590 return p 591 } 592 593 func (x TableLookupPrefix_Type) String() string { 594 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 595 } 596 597 func (TableLookupPrefix_Type) Descriptor() protoreflect.EnumDescriptor { 598 return file_gobgp_proto_enumTypes[10].Descriptor() 599 } 600 601 func (TableLookupPrefix_Type) Type() protoreflect.EnumType { 602 return &file_gobgp_proto_enumTypes[10] 603 } 604 605 func (x TableLookupPrefix_Type) Number() protoreflect.EnumNumber { 606 return protoreflect.EnumNumber(x) 607 } 608 609 // Deprecated: Use TableLookupPrefix_Type.Descriptor instead. 610 func (TableLookupPrefix_Type) EnumDescriptor() ([]byte, []int) { 611 return file_gobgp_proto_rawDescGZIP(), []int{29, 0} 612 } 613 614 type ListPathRequest_SortType int32 615 616 const ( 617 ListPathRequest_NONE ListPathRequest_SortType = 0 618 ListPathRequest_PREFIX ListPathRequest_SortType = 1 619 ) 620 621 // Enum value maps for ListPathRequest_SortType. 622 var ( 623 ListPathRequest_SortType_name = map[int32]string{ 624 0: "NONE", 625 1: "PREFIX", 626 } 627 ListPathRequest_SortType_value = map[string]int32{ 628 "NONE": 0, 629 "PREFIX": 1, 630 } 631 ) 632 633 func (x ListPathRequest_SortType) Enum() *ListPathRequest_SortType { 634 p := new(ListPathRequest_SortType) 635 *p = x 636 return p 637 } 638 639 func (x ListPathRequest_SortType) String() string { 640 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 641 } 642 643 func (ListPathRequest_SortType) Descriptor() protoreflect.EnumDescriptor { 644 return file_gobgp_proto_enumTypes[11].Descriptor() 645 } 646 647 func (ListPathRequest_SortType) Type() protoreflect.EnumType { 648 return &file_gobgp_proto_enumTypes[11] 649 } 650 651 func (x ListPathRequest_SortType) Number() protoreflect.EnumNumber { 652 return protoreflect.EnumNumber(x) 653 } 654 655 // Deprecated: Use ListPathRequest_SortType.Descriptor instead. 656 func (ListPathRequest_SortType) EnumDescriptor() ([]byte, []int) { 657 return file_gobgp_proto_rawDescGZIP(), []int{30, 0} 658 } 659 660 type EnableMrtRequest_DumpType int32 661 662 const ( 663 EnableMrtRequest_UPDATES EnableMrtRequest_DumpType = 0 664 EnableMrtRequest_TABLE EnableMrtRequest_DumpType = 1 665 ) 666 667 // Enum value maps for EnableMrtRequest_DumpType. 668 var ( 669 EnableMrtRequest_DumpType_name = map[int32]string{ 670 0: "UPDATES", 671 1: "TABLE", 672 } 673 EnableMrtRequest_DumpType_value = map[string]int32{ 674 "UPDATES": 0, 675 "TABLE": 1, 676 } 677 ) 678 679 func (x EnableMrtRequest_DumpType) Enum() *EnableMrtRequest_DumpType { 680 p := new(EnableMrtRequest_DumpType) 681 *p = x 682 return p 683 } 684 685 func (x EnableMrtRequest_DumpType) String() string { 686 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 687 } 688 689 func (EnableMrtRequest_DumpType) Descriptor() protoreflect.EnumDescriptor { 690 return file_gobgp_proto_enumTypes[12].Descriptor() 691 } 692 693 func (EnableMrtRequest_DumpType) Type() protoreflect.EnumType { 694 return &file_gobgp_proto_enumTypes[12] 695 } 696 697 func (x EnableMrtRequest_DumpType) Number() protoreflect.EnumNumber { 698 return protoreflect.EnumNumber(x) 699 } 700 701 // Deprecated: Use EnableMrtRequest_DumpType.Descriptor instead. 702 func (EnableMrtRequest_DumpType) EnumDescriptor() ([]byte, []int) { 703 return file_gobgp_proto_rawDescGZIP(), []int{67, 0} 704 } 705 706 type AddBmpRequest_MonitoringPolicy int32 707 708 const ( 709 AddBmpRequest_PRE AddBmpRequest_MonitoringPolicy = 0 710 AddBmpRequest_POST AddBmpRequest_MonitoringPolicy = 1 711 AddBmpRequest_BOTH AddBmpRequest_MonitoringPolicy = 2 712 AddBmpRequest_LOCAL AddBmpRequest_MonitoringPolicy = 3 713 AddBmpRequest_ALL AddBmpRequest_MonitoringPolicy = 4 714 ) 715 716 // Enum value maps for AddBmpRequest_MonitoringPolicy. 717 var ( 718 AddBmpRequest_MonitoringPolicy_name = map[int32]string{ 719 0: "PRE", 720 1: "POST", 721 2: "BOTH", 722 3: "LOCAL", 723 4: "ALL", 724 } 725 AddBmpRequest_MonitoringPolicy_value = map[string]int32{ 726 "PRE": 0, 727 "POST": 1, 728 "BOTH": 2, 729 "LOCAL": 3, 730 "ALL": 4, 731 } 732 ) 733 734 func (x AddBmpRequest_MonitoringPolicy) Enum() *AddBmpRequest_MonitoringPolicy { 735 p := new(AddBmpRequest_MonitoringPolicy) 736 *p = x 737 return p 738 } 739 740 func (x AddBmpRequest_MonitoringPolicy) String() string { 741 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 742 } 743 744 func (AddBmpRequest_MonitoringPolicy) Descriptor() protoreflect.EnumDescriptor { 745 return file_gobgp_proto_enumTypes[13].Descriptor() 746 } 747 748 func (AddBmpRequest_MonitoringPolicy) Type() protoreflect.EnumType { 749 return &file_gobgp_proto_enumTypes[13] 750 } 751 752 func (x AddBmpRequest_MonitoringPolicy) Number() protoreflect.EnumNumber { 753 return protoreflect.EnumNumber(x) 754 } 755 756 // Deprecated: Use AddBmpRequest_MonitoringPolicy.Descriptor instead. 757 func (AddBmpRequest_MonitoringPolicy) EnumDescriptor() ([]byte, []int) { 758 return file_gobgp_proto_rawDescGZIP(), []int{69, 0} 759 } 760 761 type Family_Afi int32 762 763 const ( 764 Family_AFI_UNKNOWN Family_Afi = 0 765 Family_AFI_IP Family_Afi = 1 766 Family_AFI_IP6 Family_Afi = 2 767 Family_AFI_L2VPN Family_Afi = 25 768 Family_AFI_LS Family_Afi = 16388 769 Family_AFI_OPAQUE Family_Afi = 16397 770 ) 771 772 // Enum value maps for Family_Afi. 773 var ( 774 Family_Afi_name = map[int32]string{ 775 0: "AFI_UNKNOWN", 776 1: "AFI_IP", 777 2: "AFI_IP6", 778 25: "AFI_L2VPN", 779 16388: "AFI_LS", 780 16397: "AFI_OPAQUE", 781 } 782 Family_Afi_value = map[string]int32{ 783 "AFI_UNKNOWN": 0, 784 "AFI_IP": 1, 785 "AFI_IP6": 2, 786 "AFI_L2VPN": 25, 787 "AFI_LS": 16388, 788 "AFI_OPAQUE": 16397, 789 } 790 ) 791 792 func (x Family_Afi) Enum() *Family_Afi { 793 p := new(Family_Afi) 794 *p = x 795 return p 796 } 797 798 func (x Family_Afi) String() string { 799 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 800 } 801 802 func (Family_Afi) Descriptor() protoreflect.EnumDescriptor { 803 return file_gobgp_proto_enumTypes[14].Descriptor() 804 } 805 806 func (Family_Afi) Type() protoreflect.EnumType { 807 return &file_gobgp_proto_enumTypes[14] 808 } 809 810 func (x Family_Afi) Number() protoreflect.EnumNumber { 811 return protoreflect.EnumNumber(x) 812 } 813 814 // Deprecated: Use Family_Afi.Descriptor instead. 815 func (Family_Afi) EnumDescriptor() ([]byte, []int) { 816 return file_gobgp_proto_rawDescGZIP(), []int{73, 0} 817 } 818 819 type Family_Safi int32 820 821 const ( 822 Family_SAFI_UNKNOWN Family_Safi = 0 823 Family_SAFI_UNICAST Family_Safi = 1 824 Family_SAFI_MULTICAST Family_Safi = 2 825 Family_SAFI_MPLS_LABEL Family_Safi = 4 826 Family_SAFI_ENCAPSULATION Family_Safi = 7 827 Family_SAFI_VPLS Family_Safi = 65 828 Family_SAFI_EVPN Family_Safi = 70 829 Family_SAFI_LS Family_Safi = 71 830 Family_SAFI_SR_POLICY Family_Safi = 73 831 Family_SAFI_MUP Family_Safi = 85 832 Family_SAFI_MPLS_VPN Family_Safi = 128 833 Family_SAFI_MPLS_VPN_MULTICAST Family_Safi = 129 834 Family_SAFI_ROUTE_TARGET_CONSTRAINTS Family_Safi = 132 835 Family_SAFI_FLOW_SPEC_UNICAST Family_Safi = 133 836 Family_SAFI_FLOW_SPEC_VPN Family_Safi = 134 837 Family_SAFI_KEY_VALUE Family_Safi = 241 838 ) 839 840 // Enum value maps for Family_Safi. 841 var ( 842 Family_Safi_name = map[int32]string{ 843 0: "SAFI_UNKNOWN", 844 1: "SAFI_UNICAST", 845 2: "SAFI_MULTICAST", 846 4: "SAFI_MPLS_LABEL", 847 7: "SAFI_ENCAPSULATION", 848 65: "SAFI_VPLS", 849 70: "SAFI_EVPN", 850 71: "SAFI_LS", 851 73: "SAFI_SR_POLICY", 852 85: "SAFI_MUP", 853 128: "SAFI_MPLS_VPN", 854 129: "SAFI_MPLS_VPN_MULTICAST", 855 132: "SAFI_ROUTE_TARGET_CONSTRAINTS", 856 133: "SAFI_FLOW_SPEC_UNICAST", 857 134: "SAFI_FLOW_SPEC_VPN", 858 241: "SAFI_KEY_VALUE", 859 } 860 Family_Safi_value = map[string]int32{ 861 "SAFI_UNKNOWN": 0, 862 "SAFI_UNICAST": 1, 863 "SAFI_MULTICAST": 2, 864 "SAFI_MPLS_LABEL": 4, 865 "SAFI_ENCAPSULATION": 7, 866 "SAFI_VPLS": 65, 867 "SAFI_EVPN": 70, 868 "SAFI_LS": 71, 869 "SAFI_SR_POLICY": 73, 870 "SAFI_MUP": 85, 871 "SAFI_MPLS_VPN": 128, 872 "SAFI_MPLS_VPN_MULTICAST": 129, 873 "SAFI_ROUTE_TARGET_CONSTRAINTS": 132, 874 "SAFI_FLOW_SPEC_UNICAST": 133, 875 "SAFI_FLOW_SPEC_VPN": 134, 876 "SAFI_KEY_VALUE": 241, 877 } 878 ) 879 880 func (x Family_Safi) Enum() *Family_Safi { 881 p := new(Family_Safi) 882 *p = x 883 return p 884 } 885 886 func (x Family_Safi) String() string { 887 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 888 } 889 890 func (Family_Safi) Descriptor() protoreflect.EnumDescriptor { 891 return file_gobgp_proto_enumTypes[15].Descriptor() 892 } 893 894 func (Family_Safi) Type() protoreflect.EnumType { 895 return &file_gobgp_proto_enumTypes[15] 896 } 897 898 func (x Family_Safi) Number() protoreflect.EnumNumber { 899 return protoreflect.EnumNumber(x) 900 } 901 902 // Deprecated: Use Family_Safi.Descriptor instead. 903 func (Family_Safi) EnumDescriptor() ([]byte, []int) { 904 return file_gobgp_proto_rawDescGZIP(), []int{73, 1} 905 } 906 907 type Validation_State int32 908 909 const ( 910 Validation_STATE_NONE Validation_State = 0 911 Validation_STATE_NOT_FOUND Validation_State = 1 912 Validation_STATE_VALID Validation_State = 2 913 Validation_STATE_INVALID Validation_State = 3 914 ) 915 916 // Enum value maps for Validation_State. 917 var ( 918 Validation_State_name = map[int32]string{ 919 0: "STATE_NONE", 920 1: "STATE_NOT_FOUND", 921 2: "STATE_VALID", 922 3: "STATE_INVALID", 923 } 924 Validation_State_value = map[string]int32{ 925 "STATE_NONE": 0, 926 "STATE_NOT_FOUND": 1, 927 "STATE_VALID": 2, 928 "STATE_INVALID": 3, 929 } 930 ) 931 932 func (x Validation_State) Enum() *Validation_State { 933 p := new(Validation_State) 934 *p = x 935 return p 936 } 937 938 func (x Validation_State) String() string { 939 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 940 } 941 942 func (Validation_State) Descriptor() protoreflect.EnumDescriptor { 943 return file_gobgp_proto_enumTypes[16].Descriptor() 944 } 945 946 func (Validation_State) Type() protoreflect.EnumType { 947 return &file_gobgp_proto_enumTypes[16] 948 } 949 950 func (x Validation_State) Number() protoreflect.EnumNumber { 951 return protoreflect.EnumNumber(x) 952 } 953 954 // Deprecated: Use Validation_State.Descriptor instead. 955 func (Validation_State) EnumDescriptor() ([]byte, []int) { 956 return file_gobgp_proto_rawDescGZIP(), []int{74, 0} 957 } 958 959 type Validation_Reason int32 960 961 const ( 962 Validation_REASON_NONE Validation_Reason = 0 963 Validation_REASON_ASN Validation_Reason = 1 964 Validation_REASON_LENGTH Validation_Reason = 2 965 ) 966 967 // Enum value maps for Validation_Reason. 968 var ( 969 Validation_Reason_name = map[int32]string{ 970 0: "REASON_NONE", 971 1: "REASON_ASN", 972 2: "REASON_LENGTH", 973 } 974 Validation_Reason_value = map[string]int32{ 975 "REASON_NONE": 0, 976 "REASON_ASN": 1, 977 "REASON_LENGTH": 2, 978 } 979 ) 980 981 func (x Validation_Reason) Enum() *Validation_Reason { 982 p := new(Validation_Reason) 983 *p = x 984 return p 985 } 986 987 func (x Validation_Reason) String() string { 988 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 989 } 990 991 func (Validation_Reason) Descriptor() protoreflect.EnumDescriptor { 992 return file_gobgp_proto_enumTypes[17].Descriptor() 993 } 994 995 func (Validation_Reason) Type() protoreflect.EnumType { 996 return &file_gobgp_proto_enumTypes[17] 997 } 998 999 func (x Validation_Reason) Number() protoreflect.EnumNumber { 1000 return protoreflect.EnumNumber(x) 1001 } 1002 1003 // Deprecated: Use Validation_Reason.Descriptor instead. 1004 func (Validation_Reason) EnumDescriptor() ([]byte, []int) { 1005 return file_gobgp_proto_rawDescGZIP(), []int{74, 1} 1006 } 1007 1008 type PeerState_SessionState int32 1009 1010 const ( 1011 PeerState_UNKNOWN PeerState_SessionState = 0 1012 PeerState_IDLE PeerState_SessionState = 1 1013 PeerState_CONNECT PeerState_SessionState = 2 1014 PeerState_ACTIVE PeerState_SessionState = 3 1015 PeerState_OPENSENT PeerState_SessionState = 4 1016 PeerState_OPENCONFIRM PeerState_SessionState = 5 1017 PeerState_ESTABLISHED PeerState_SessionState = 6 1018 ) 1019 1020 // Enum value maps for PeerState_SessionState. 1021 var ( 1022 PeerState_SessionState_name = map[int32]string{ 1023 0: "UNKNOWN", 1024 1: "IDLE", 1025 2: "CONNECT", 1026 3: "ACTIVE", 1027 4: "OPENSENT", 1028 5: "OPENCONFIRM", 1029 6: "ESTABLISHED", 1030 } 1031 PeerState_SessionState_value = map[string]int32{ 1032 "UNKNOWN": 0, 1033 "IDLE": 1, 1034 "CONNECT": 2, 1035 "ACTIVE": 3, 1036 "OPENSENT": 4, 1037 "OPENCONFIRM": 5, 1038 "ESTABLISHED": 6, 1039 } 1040 ) 1041 1042 func (x PeerState_SessionState) Enum() *PeerState_SessionState { 1043 p := new(PeerState_SessionState) 1044 *p = x 1045 return p 1046 } 1047 1048 func (x PeerState_SessionState) String() string { 1049 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1050 } 1051 1052 func (PeerState_SessionState) Descriptor() protoreflect.EnumDescriptor { 1053 return file_gobgp_proto_enumTypes[18].Descriptor() 1054 } 1055 1056 func (PeerState_SessionState) Type() protoreflect.EnumType { 1057 return &file_gobgp_proto_enumTypes[18] 1058 } 1059 1060 func (x PeerState_SessionState) Number() protoreflect.EnumNumber { 1061 return protoreflect.EnumNumber(x) 1062 } 1063 1064 // Deprecated: Use PeerState_SessionState.Descriptor instead. 1065 func (PeerState_SessionState) EnumDescriptor() ([]byte, []int) { 1066 return file_gobgp_proto_rawDescGZIP(), []int{88, 0} 1067 } 1068 1069 type PeerState_AdminState int32 1070 1071 const ( 1072 PeerState_UP PeerState_AdminState = 0 1073 PeerState_DOWN PeerState_AdminState = 1 1074 PeerState_PFX_CT PeerState_AdminState = 2 // prefix counter over limit 1075 ) 1076 1077 // Enum value maps for PeerState_AdminState. 1078 var ( 1079 PeerState_AdminState_name = map[int32]string{ 1080 0: "UP", 1081 1: "DOWN", 1082 2: "PFX_CT", 1083 } 1084 PeerState_AdminState_value = map[string]int32{ 1085 "UP": 0, 1086 "DOWN": 1, 1087 "PFX_CT": 2, 1088 } 1089 ) 1090 1091 func (x PeerState_AdminState) Enum() *PeerState_AdminState { 1092 p := new(PeerState_AdminState) 1093 *p = x 1094 return p 1095 } 1096 1097 func (x PeerState_AdminState) String() string { 1098 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1099 } 1100 1101 func (PeerState_AdminState) Descriptor() protoreflect.EnumDescriptor { 1102 return file_gobgp_proto_enumTypes[19].Descriptor() 1103 } 1104 1105 func (PeerState_AdminState) Type() protoreflect.EnumType { 1106 return &file_gobgp_proto_enumTypes[19] 1107 } 1108 1109 func (x PeerState_AdminState) Number() protoreflect.EnumNumber { 1110 return protoreflect.EnumNumber(x) 1111 } 1112 1113 // Deprecated: Use PeerState_AdminState.Descriptor instead. 1114 func (PeerState_AdminState) EnumDescriptor() ([]byte, []int) { 1115 return file_gobgp_proto_rawDescGZIP(), []int{88, 1} 1116 } 1117 1118 type MatchSet_Type int32 1119 1120 const ( 1121 MatchSet_ANY MatchSet_Type = 0 1122 MatchSet_ALL MatchSet_Type = 1 1123 MatchSet_INVERT MatchSet_Type = 2 1124 ) 1125 1126 // Enum value maps for MatchSet_Type. 1127 var ( 1128 MatchSet_Type_name = map[int32]string{ 1129 0: "ANY", 1130 1: "ALL", 1131 2: "INVERT", 1132 } 1133 MatchSet_Type_value = map[string]int32{ 1134 "ANY": 0, 1135 "ALL": 1, 1136 "INVERT": 2, 1137 } 1138 ) 1139 1140 func (x MatchSet_Type) Enum() *MatchSet_Type { 1141 p := new(MatchSet_Type) 1142 *p = x 1143 return p 1144 } 1145 1146 func (x MatchSet_Type) String() string { 1147 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1148 } 1149 1150 func (MatchSet_Type) Descriptor() protoreflect.EnumDescriptor { 1151 return file_gobgp_proto_enumTypes[20].Descriptor() 1152 } 1153 1154 func (MatchSet_Type) Type() protoreflect.EnumType { 1155 return &file_gobgp_proto_enumTypes[20] 1156 } 1157 1158 func (x MatchSet_Type) Number() protoreflect.EnumNumber { 1159 return protoreflect.EnumNumber(x) 1160 } 1161 1162 // Deprecated: Use MatchSet_Type.Descriptor instead. 1163 func (MatchSet_Type) EnumDescriptor() ([]byte, []int) { 1164 return file_gobgp_proto_rawDescGZIP(), []int{127, 0} 1165 } 1166 1167 type AsPathLength_Type int32 1168 1169 const ( 1170 AsPathLength_EQ AsPathLength_Type = 0 1171 AsPathLength_GE AsPathLength_Type = 1 1172 AsPathLength_LE AsPathLength_Type = 2 1173 ) 1174 1175 // Enum value maps for AsPathLength_Type. 1176 var ( 1177 AsPathLength_Type_name = map[int32]string{ 1178 0: "EQ", 1179 1: "GE", 1180 2: "LE", 1181 } 1182 AsPathLength_Type_value = map[string]int32{ 1183 "EQ": 0, 1184 "GE": 1, 1185 "LE": 2, 1186 } 1187 ) 1188 1189 func (x AsPathLength_Type) Enum() *AsPathLength_Type { 1190 p := new(AsPathLength_Type) 1191 *p = x 1192 return p 1193 } 1194 1195 func (x AsPathLength_Type) String() string { 1196 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1197 } 1198 1199 func (AsPathLength_Type) Descriptor() protoreflect.EnumDescriptor { 1200 return file_gobgp_proto_enumTypes[21].Descriptor() 1201 } 1202 1203 func (AsPathLength_Type) Type() protoreflect.EnumType { 1204 return &file_gobgp_proto_enumTypes[21] 1205 } 1206 1207 func (x AsPathLength_Type) Number() protoreflect.EnumNumber { 1208 return protoreflect.EnumNumber(x) 1209 } 1210 1211 // Deprecated: Use AsPathLength_Type.Descriptor instead. 1212 func (AsPathLength_Type) EnumDescriptor() ([]byte, []int) { 1213 return file_gobgp_proto_rawDescGZIP(), []int{128, 0} 1214 } 1215 1216 type CommunityCount_Type int32 1217 1218 const ( 1219 CommunityCount_EQ CommunityCount_Type = 0 1220 CommunityCount_GE CommunityCount_Type = 1 1221 CommunityCount_LE CommunityCount_Type = 2 1222 ) 1223 1224 // Enum value maps for CommunityCount_Type. 1225 var ( 1226 CommunityCount_Type_name = map[int32]string{ 1227 0: "EQ", 1228 1: "GE", 1229 2: "LE", 1230 } 1231 CommunityCount_Type_value = map[string]int32{ 1232 "EQ": 0, 1233 "GE": 1, 1234 "LE": 2, 1235 } 1236 ) 1237 1238 func (x CommunityCount_Type) Enum() *CommunityCount_Type { 1239 p := new(CommunityCount_Type) 1240 *p = x 1241 return p 1242 } 1243 1244 func (x CommunityCount_Type) String() string { 1245 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1246 } 1247 1248 func (CommunityCount_Type) Descriptor() protoreflect.EnumDescriptor { 1249 return file_gobgp_proto_enumTypes[22].Descriptor() 1250 } 1251 1252 func (CommunityCount_Type) Type() protoreflect.EnumType { 1253 return &file_gobgp_proto_enumTypes[22] 1254 } 1255 1256 func (x CommunityCount_Type) Number() protoreflect.EnumNumber { 1257 return protoreflect.EnumNumber(x) 1258 } 1259 1260 // Deprecated: Use CommunityCount_Type.Descriptor instead. 1261 func (CommunityCount_Type) EnumDescriptor() ([]byte, []int) { 1262 return file_gobgp_proto_rawDescGZIP(), []int{129, 0} 1263 } 1264 1265 type Conditions_RouteType int32 1266 1267 const ( 1268 Conditions_ROUTE_TYPE_NONE Conditions_RouteType = 0 1269 Conditions_ROUTE_TYPE_INTERNAL Conditions_RouteType = 1 1270 Conditions_ROUTE_TYPE_EXTERNAL Conditions_RouteType = 2 1271 Conditions_ROUTE_TYPE_LOCAL Conditions_RouteType = 3 1272 ) 1273 1274 // Enum value maps for Conditions_RouteType. 1275 var ( 1276 Conditions_RouteType_name = map[int32]string{ 1277 0: "ROUTE_TYPE_NONE", 1278 1: "ROUTE_TYPE_INTERNAL", 1279 2: "ROUTE_TYPE_EXTERNAL", 1280 3: "ROUTE_TYPE_LOCAL", 1281 } 1282 Conditions_RouteType_value = map[string]int32{ 1283 "ROUTE_TYPE_NONE": 0, 1284 "ROUTE_TYPE_INTERNAL": 1, 1285 "ROUTE_TYPE_EXTERNAL": 2, 1286 "ROUTE_TYPE_LOCAL": 3, 1287 } 1288 ) 1289 1290 func (x Conditions_RouteType) Enum() *Conditions_RouteType { 1291 p := new(Conditions_RouteType) 1292 *p = x 1293 return p 1294 } 1295 1296 func (x Conditions_RouteType) String() string { 1297 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1298 } 1299 1300 func (Conditions_RouteType) Descriptor() protoreflect.EnumDescriptor { 1301 return file_gobgp_proto_enumTypes[23].Descriptor() 1302 } 1303 1304 func (Conditions_RouteType) Type() protoreflect.EnumType { 1305 return &file_gobgp_proto_enumTypes[23] 1306 } 1307 1308 func (x Conditions_RouteType) Number() protoreflect.EnumNumber { 1309 return protoreflect.EnumNumber(x) 1310 } 1311 1312 // Deprecated: Use Conditions_RouteType.Descriptor instead. 1313 func (Conditions_RouteType) EnumDescriptor() ([]byte, []int) { 1314 return file_gobgp_proto_rawDescGZIP(), []int{130, 0} 1315 } 1316 1317 type CommunityAction_Type int32 1318 1319 const ( 1320 CommunityAction_ADD CommunityAction_Type = 0 1321 CommunityAction_REMOVE CommunityAction_Type = 1 1322 CommunityAction_REPLACE CommunityAction_Type = 2 1323 ) 1324 1325 // Enum value maps for CommunityAction_Type. 1326 var ( 1327 CommunityAction_Type_name = map[int32]string{ 1328 0: "ADD", 1329 1: "REMOVE", 1330 2: "REPLACE", 1331 } 1332 CommunityAction_Type_value = map[string]int32{ 1333 "ADD": 0, 1334 "REMOVE": 1, 1335 "REPLACE": 2, 1336 } 1337 ) 1338 1339 func (x CommunityAction_Type) Enum() *CommunityAction_Type { 1340 p := new(CommunityAction_Type) 1341 *p = x 1342 return p 1343 } 1344 1345 func (x CommunityAction_Type) String() string { 1346 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1347 } 1348 1349 func (CommunityAction_Type) Descriptor() protoreflect.EnumDescriptor { 1350 return file_gobgp_proto_enumTypes[24].Descriptor() 1351 } 1352 1353 func (CommunityAction_Type) Type() protoreflect.EnumType { 1354 return &file_gobgp_proto_enumTypes[24] 1355 } 1356 1357 func (x CommunityAction_Type) Number() protoreflect.EnumNumber { 1358 return protoreflect.EnumNumber(x) 1359 } 1360 1361 // Deprecated: Use CommunityAction_Type.Descriptor instead. 1362 func (CommunityAction_Type) EnumDescriptor() ([]byte, []int) { 1363 return file_gobgp_proto_rawDescGZIP(), []int{131, 0} 1364 } 1365 1366 type MedAction_Type int32 1367 1368 const ( 1369 MedAction_MOD MedAction_Type = 0 1370 MedAction_REPLACE MedAction_Type = 1 1371 ) 1372 1373 // Enum value maps for MedAction_Type. 1374 var ( 1375 MedAction_Type_name = map[int32]string{ 1376 0: "MOD", 1377 1: "REPLACE", 1378 } 1379 MedAction_Type_value = map[string]int32{ 1380 "MOD": 0, 1381 "REPLACE": 1, 1382 } 1383 ) 1384 1385 func (x MedAction_Type) Enum() *MedAction_Type { 1386 p := new(MedAction_Type) 1387 *p = x 1388 return p 1389 } 1390 1391 func (x MedAction_Type) String() string { 1392 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1393 } 1394 1395 func (MedAction_Type) Descriptor() protoreflect.EnumDescriptor { 1396 return file_gobgp_proto_enumTypes[25].Descriptor() 1397 } 1398 1399 func (MedAction_Type) Type() protoreflect.EnumType { 1400 return &file_gobgp_proto_enumTypes[25] 1401 } 1402 1403 func (x MedAction_Type) Number() protoreflect.EnumNumber { 1404 return protoreflect.EnumNumber(x) 1405 } 1406 1407 // Deprecated: Use MedAction_Type.Descriptor instead. 1408 func (MedAction_Type) EnumDescriptor() ([]byte, []int) { 1409 return file_gobgp_proto_rawDescGZIP(), []int{132, 0} 1410 } 1411 1412 type SetLogLevelRequest_Level int32 1413 1414 const ( 1415 SetLogLevelRequest_PANIC SetLogLevelRequest_Level = 0 1416 SetLogLevelRequest_FATAL SetLogLevelRequest_Level = 1 1417 SetLogLevelRequest_ERROR SetLogLevelRequest_Level = 2 1418 SetLogLevelRequest_WARN SetLogLevelRequest_Level = 3 1419 SetLogLevelRequest_INFO SetLogLevelRequest_Level = 4 1420 SetLogLevelRequest_DEBUG SetLogLevelRequest_Level = 5 1421 SetLogLevelRequest_TRACE SetLogLevelRequest_Level = 6 1422 ) 1423 1424 // Enum value maps for SetLogLevelRequest_Level. 1425 var ( 1426 SetLogLevelRequest_Level_name = map[int32]string{ 1427 0: "PANIC", 1428 1: "FATAL", 1429 2: "ERROR", 1430 3: "WARN", 1431 4: "INFO", 1432 5: "DEBUG", 1433 6: "TRACE", 1434 } 1435 SetLogLevelRequest_Level_value = map[string]int32{ 1436 "PANIC": 0, 1437 "FATAL": 1, 1438 "ERROR": 2, 1439 "WARN": 3, 1440 "INFO": 4, 1441 "DEBUG": 5, 1442 "TRACE": 6, 1443 } 1444 ) 1445 1446 func (x SetLogLevelRequest_Level) Enum() *SetLogLevelRequest_Level { 1447 p := new(SetLogLevelRequest_Level) 1448 *p = x 1449 return p 1450 } 1451 1452 func (x SetLogLevelRequest_Level) String() string { 1453 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1454 } 1455 1456 func (SetLogLevelRequest_Level) Descriptor() protoreflect.EnumDescriptor { 1457 return file_gobgp_proto_enumTypes[26].Descriptor() 1458 } 1459 1460 func (SetLogLevelRequest_Level) Type() protoreflect.EnumType { 1461 return &file_gobgp_proto_enumTypes[26] 1462 } 1463 1464 func (x SetLogLevelRequest_Level) Number() protoreflect.EnumNumber { 1465 return protoreflect.EnumNumber(x) 1466 } 1467 1468 // Deprecated: Use SetLogLevelRequest_Level.Descriptor instead. 1469 func (SetLogLevelRequest_Level) EnumDescriptor() ([]byte, []int) { 1470 return file_gobgp_proto_rawDescGZIP(), []int{150, 0} 1471 } 1472 1473 type StartBgpRequest struct { 1474 state protoimpl.MessageState 1475 sizeCache protoimpl.SizeCache 1476 unknownFields protoimpl.UnknownFields 1477 1478 Global *Global `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"` 1479 } 1480 1481 func (x *StartBgpRequest) Reset() { 1482 *x = StartBgpRequest{} 1483 if protoimpl.UnsafeEnabled { 1484 mi := &file_gobgp_proto_msgTypes[0] 1485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1486 ms.StoreMessageInfo(mi) 1487 } 1488 } 1489 1490 func (x *StartBgpRequest) String() string { 1491 return protoimpl.X.MessageStringOf(x) 1492 } 1493 1494 func (*StartBgpRequest) ProtoMessage() {} 1495 1496 func (x *StartBgpRequest) ProtoReflect() protoreflect.Message { 1497 mi := &file_gobgp_proto_msgTypes[0] 1498 if protoimpl.UnsafeEnabled && x != nil { 1499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1500 if ms.LoadMessageInfo() == nil { 1501 ms.StoreMessageInfo(mi) 1502 } 1503 return ms 1504 } 1505 return mi.MessageOf(x) 1506 } 1507 1508 // Deprecated: Use StartBgpRequest.ProtoReflect.Descriptor instead. 1509 func (*StartBgpRequest) Descriptor() ([]byte, []int) { 1510 return file_gobgp_proto_rawDescGZIP(), []int{0} 1511 } 1512 1513 func (x *StartBgpRequest) GetGlobal() *Global { 1514 if x != nil { 1515 return x.Global 1516 } 1517 return nil 1518 } 1519 1520 type StopBgpRequest struct { 1521 state protoimpl.MessageState 1522 sizeCache protoimpl.SizeCache 1523 unknownFields protoimpl.UnknownFields 1524 } 1525 1526 func (x *StopBgpRequest) Reset() { 1527 *x = StopBgpRequest{} 1528 if protoimpl.UnsafeEnabled { 1529 mi := &file_gobgp_proto_msgTypes[1] 1530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1531 ms.StoreMessageInfo(mi) 1532 } 1533 } 1534 1535 func (x *StopBgpRequest) String() string { 1536 return protoimpl.X.MessageStringOf(x) 1537 } 1538 1539 func (*StopBgpRequest) ProtoMessage() {} 1540 1541 func (x *StopBgpRequest) ProtoReflect() protoreflect.Message { 1542 mi := &file_gobgp_proto_msgTypes[1] 1543 if protoimpl.UnsafeEnabled && x != nil { 1544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1545 if ms.LoadMessageInfo() == nil { 1546 ms.StoreMessageInfo(mi) 1547 } 1548 return ms 1549 } 1550 return mi.MessageOf(x) 1551 } 1552 1553 // Deprecated: Use StopBgpRequest.ProtoReflect.Descriptor instead. 1554 func (*StopBgpRequest) Descriptor() ([]byte, []int) { 1555 return file_gobgp_proto_rawDescGZIP(), []int{1} 1556 } 1557 1558 type GetBgpRequest struct { 1559 state protoimpl.MessageState 1560 sizeCache protoimpl.SizeCache 1561 unknownFields protoimpl.UnknownFields 1562 } 1563 1564 func (x *GetBgpRequest) Reset() { 1565 *x = GetBgpRequest{} 1566 if protoimpl.UnsafeEnabled { 1567 mi := &file_gobgp_proto_msgTypes[2] 1568 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1569 ms.StoreMessageInfo(mi) 1570 } 1571 } 1572 1573 func (x *GetBgpRequest) String() string { 1574 return protoimpl.X.MessageStringOf(x) 1575 } 1576 1577 func (*GetBgpRequest) ProtoMessage() {} 1578 1579 func (x *GetBgpRequest) ProtoReflect() protoreflect.Message { 1580 mi := &file_gobgp_proto_msgTypes[2] 1581 if protoimpl.UnsafeEnabled && x != nil { 1582 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1583 if ms.LoadMessageInfo() == nil { 1584 ms.StoreMessageInfo(mi) 1585 } 1586 return ms 1587 } 1588 return mi.MessageOf(x) 1589 } 1590 1591 // Deprecated: Use GetBgpRequest.ProtoReflect.Descriptor instead. 1592 func (*GetBgpRequest) Descriptor() ([]byte, []int) { 1593 return file_gobgp_proto_rawDescGZIP(), []int{2} 1594 } 1595 1596 type GetBgpResponse struct { 1597 state protoimpl.MessageState 1598 sizeCache protoimpl.SizeCache 1599 unknownFields protoimpl.UnknownFields 1600 1601 Global *Global `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"` 1602 } 1603 1604 func (x *GetBgpResponse) Reset() { 1605 *x = GetBgpResponse{} 1606 if protoimpl.UnsafeEnabled { 1607 mi := &file_gobgp_proto_msgTypes[3] 1608 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1609 ms.StoreMessageInfo(mi) 1610 } 1611 } 1612 1613 func (x *GetBgpResponse) String() string { 1614 return protoimpl.X.MessageStringOf(x) 1615 } 1616 1617 func (*GetBgpResponse) ProtoMessage() {} 1618 1619 func (x *GetBgpResponse) ProtoReflect() protoreflect.Message { 1620 mi := &file_gobgp_proto_msgTypes[3] 1621 if protoimpl.UnsafeEnabled && x != nil { 1622 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1623 if ms.LoadMessageInfo() == nil { 1624 ms.StoreMessageInfo(mi) 1625 } 1626 return ms 1627 } 1628 return mi.MessageOf(x) 1629 } 1630 1631 // Deprecated: Use GetBgpResponse.ProtoReflect.Descriptor instead. 1632 func (*GetBgpResponse) Descriptor() ([]byte, []int) { 1633 return file_gobgp_proto_rawDescGZIP(), []int{3} 1634 } 1635 1636 func (x *GetBgpResponse) GetGlobal() *Global { 1637 if x != nil { 1638 return x.Global 1639 } 1640 return nil 1641 } 1642 1643 type WatchEventRequest struct { 1644 state protoimpl.MessageState 1645 sizeCache protoimpl.SizeCache 1646 unknownFields protoimpl.UnknownFields 1647 1648 Peer *WatchEventRequest_Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` 1649 Table *WatchEventRequest_Table `protobuf:"bytes,2,opt,name=table,proto3" json:"table,omitempty"` 1650 // Max number of paths to include in a single message. 0 for unlimited. 1651 BatchSize uint32 `protobuf:"varint,3,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"` 1652 } 1653 1654 func (x *WatchEventRequest) Reset() { 1655 *x = WatchEventRequest{} 1656 if protoimpl.UnsafeEnabled { 1657 mi := &file_gobgp_proto_msgTypes[4] 1658 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1659 ms.StoreMessageInfo(mi) 1660 } 1661 } 1662 1663 func (x *WatchEventRequest) String() string { 1664 return protoimpl.X.MessageStringOf(x) 1665 } 1666 1667 func (*WatchEventRequest) ProtoMessage() {} 1668 1669 func (x *WatchEventRequest) ProtoReflect() protoreflect.Message { 1670 mi := &file_gobgp_proto_msgTypes[4] 1671 if protoimpl.UnsafeEnabled && x != nil { 1672 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1673 if ms.LoadMessageInfo() == nil { 1674 ms.StoreMessageInfo(mi) 1675 } 1676 return ms 1677 } 1678 return mi.MessageOf(x) 1679 } 1680 1681 // Deprecated: Use WatchEventRequest.ProtoReflect.Descriptor instead. 1682 func (*WatchEventRequest) Descriptor() ([]byte, []int) { 1683 return file_gobgp_proto_rawDescGZIP(), []int{4} 1684 } 1685 1686 func (x *WatchEventRequest) GetPeer() *WatchEventRequest_Peer { 1687 if x != nil { 1688 return x.Peer 1689 } 1690 return nil 1691 } 1692 1693 func (x *WatchEventRequest) GetTable() *WatchEventRequest_Table { 1694 if x != nil { 1695 return x.Table 1696 } 1697 return nil 1698 } 1699 1700 func (x *WatchEventRequest) GetBatchSize() uint32 { 1701 if x != nil { 1702 return x.BatchSize 1703 } 1704 return 0 1705 } 1706 1707 type WatchEventResponse struct { 1708 state protoimpl.MessageState 1709 sizeCache protoimpl.SizeCache 1710 unknownFields protoimpl.UnknownFields 1711 1712 // Types that are assignable to Event: 1713 // 1714 // *WatchEventResponse_Peer 1715 // *WatchEventResponse_Table 1716 Event isWatchEventResponse_Event `protobuf_oneof:"event"` 1717 } 1718 1719 func (x *WatchEventResponse) Reset() { 1720 *x = WatchEventResponse{} 1721 if protoimpl.UnsafeEnabled { 1722 mi := &file_gobgp_proto_msgTypes[5] 1723 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1724 ms.StoreMessageInfo(mi) 1725 } 1726 } 1727 1728 func (x *WatchEventResponse) String() string { 1729 return protoimpl.X.MessageStringOf(x) 1730 } 1731 1732 func (*WatchEventResponse) ProtoMessage() {} 1733 1734 func (x *WatchEventResponse) ProtoReflect() protoreflect.Message { 1735 mi := &file_gobgp_proto_msgTypes[5] 1736 if protoimpl.UnsafeEnabled && x != nil { 1737 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1738 if ms.LoadMessageInfo() == nil { 1739 ms.StoreMessageInfo(mi) 1740 } 1741 return ms 1742 } 1743 return mi.MessageOf(x) 1744 } 1745 1746 // Deprecated: Use WatchEventResponse.ProtoReflect.Descriptor instead. 1747 func (*WatchEventResponse) Descriptor() ([]byte, []int) { 1748 return file_gobgp_proto_rawDescGZIP(), []int{5} 1749 } 1750 1751 func (m *WatchEventResponse) GetEvent() isWatchEventResponse_Event { 1752 if m != nil { 1753 return m.Event 1754 } 1755 return nil 1756 } 1757 1758 func (x *WatchEventResponse) GetPeer() *WatchEventResponse_PeerEvent { 1759 if x, ok := x.GetEvent().(*WatchEventResponse_Peer); ok { 1760 return x.Peer 1761 } 1762 return nil 1763 } 1764 1765 func (x *WatchEventResponse) GetTable() *WatchEventResponse_TableEvent { 1766 if x, ok := x.GetEvent().(*WatchEventResponse_Table); ok { 1767 return x.Table 1768 } 1769 return nil 1770 } 1771 1772 type isWatchEventResponse_Event interface { 1773 isWatchEventResponse_Event() 1774 } 1775 1776 type WatchEventResponse_Peer struct { 1777 Peer *WatchEventResponse_PeerEvent `protobuf:"bytes,2,opt,name=peer,proto3,oneof"` 1778 } 1779 1780 type WatchEventResponse_Table struct { 1781 Table *WatchEventResponse_TableEvent `protobuf:"bytes,3,opt,name=table,proto3,oneof"` 1782 } 1783 1784 func (*WatchEventResponse_Peer) isWatchEventResponse_Event() {} 1785 1786 func (*WatchEventResponse_Table) isWatchEventResponse_Event() {} 1787 1788 type AddPeerRequest struct { 1789 state protoimpl.MessageState 1790 sizeCache protoimpl.SizeCache 1791 unknownFields protoimpl.UnknownFields 1792 1793 Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` 1794 } 1795 1796 func (x *AddPeerRequest) Reset() { 1797 *x = AddPeerRequest{} 1798 if protoimpl.UnsafeEnabled { 1799 mi := &file_gobgp_proto_msgTypes[6] 1800 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1801 ms.StoreMessageInfo(mi) 1802 } 1803 } 1804 1805 func (x *AddPeerRequest) String() string { 1806 return protoimpl.X.MessageStringOf(x) 1807 } 1808 1809 func (*AddPeerRequest) ProtoMessage() {} 1810 1811 func (x *AddPeerRequest) ProtoReflect() protoreflect.Message { 1812 mi := &file_gobgp_proto_msgTypes[6] 1813 if protoimpl.UnsafeEnabled && x != nil { 1814 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1815 if ms.LoadMessageInfo() == nil { 1816 ms.StoreMessageInfo(mi) 1817 } 1818 return ms 1819 } 1820 return mi.MessageOf(x) 1821 } 1822 1823 // Deprecated: Use AddPeerRequest.ProtoReflect.Descriptor instead. 1824 func (*AddPeerRequest) Descriptor() ([]byte, []int) { 1825 return file_gobgp_proto_rawDescGZIP(), []int{6} 1826 } 1827 1828 func (x *AddPeerRequest) GetPeer() *Peer { 1829 if x != nil { 1830 return x.Peer 1831 } 1832 return nil 1833 } 1834 1835 type DeletePeerRequest struct { 1836 state protoimpl.MessageState 1837 sizeCache protoimpl.SizeCache 1838 unknownFields protoimpl.UnknownFields 1839 1840 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1841 Interface string `protobuf:"bytes,2,opt,name=interface,proto3" json:"interface,omitempty"` 1842 } 1843 1844 func (x *DeletePeerRequest) Reset() { 1845 *x = DeletePeerRequest{} 1846 if protoimpl.UnsafeEnabled { 1847 mi := &file_gobgp_proto_msgTypes[7] 1848 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1849 ms.StoreMessageInfo(mi) 1850 } 1851 } 1852 1853 func (x *DeletePeerRequest) String() string { 1854 return protoimpl.X.MessageStringOf(x) 1855 } 1856 1857 func (*DeletePeerRequest) ProtoMessage() {} 1858 1859 func (x *DeletePeerRequest) ProtoReflect() protoreflect.Message { 1860 mi := &file_gobgp_proto_msgTypes[7] 1861 if protoimpl.UnsafeEnabled && x != nil { 1862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1863 if ms.LoadMessageInfo() == nil { 1864 ms.StoreMessageInfo(mi) 1865 } 1866 return ms 1867 } 1868 return mi.MessageOf(x) 1869 } 1870 1871 // Deprecated: Use DeletePeerRequest.ProtoReflect.Descriptor instead. 1872 func (*DeletePeerRequest) Descriptor() ([]byte, []int) { 1873 return file_gobgp_proto_rawDescGZIP(), []int{7} 1874 } 1875 1876 func (x *DeletePeerRequest) GetAddress() string { 1877 if x != nil { 1878 return x.Address 1879 } 1880 return "" 1881 } 1882 1883 func (x *DeletePeerRequest) GetInterface() string { 1884 if x != nil { 1885 return x.Interface 1886 } 1887 return "" 1888 } 1889 1890 type ListPeerRequest struct { 1891 state protoimpl.MessageState 1892 sizeCache protoimpl.SizeCache 1893 unknownFields protoimpl.UnknownFields 1894 1895 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1896 EnableAdvertised bool `protobuf:"varint,2,opt,name=enableAdvertised,proto3" json:"enableAdvertised,omitempty"` 1897 } 1898 1899 func (x *ListPeerRequest) Reset() { 1900 *x = ListPeerRequest{} 1901 if protoimpl.UnsafeEnabled { 1902 mi := &file_gobgp_proto_msgTypes[8] 1903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1904 ms.StoreMessageInfo(mi) 1905 } 1906 } 1907 1908 func (x *ListPeerRequest) String() string { 1909 return protoimpl.X.MessageStringOf(x) 1910 } 1911 1912 func (*ListPeerRequest) ProtoMessage() {} 1913 1914 func (x *ListPeerRequest) ProtoReflect() protoreflect.Message { 1915 mi := &file_gobgp_proto_msgTypes[8] 1916 if protoimpl.UnsafeEnabled && x != nil { 1917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1918 if ms.LoadMessageInfo() == nil { 1919 ms.StoreMessageInfo(mi) 1920 } 1921 return ms 1922 } 1923 return mi.MessageOf(x) 1924 } 1925 1926 // Deprecated: Use ListPeerRequest.ProtoReflect.Descriptor instead. 1927 func (*ListPeerRequest) Descriptor() ([]byte, []int) { 1928 return file_gobgp_proto_rawDescGZIP(), []int{8} 1929 } 1930 1931 func (x *ListPeerRequest) GetAddress() string { 1932 if x != nil { 1933 return x.Address 1934 } 1935 return "" 1936 } 1937 1938 func (x *ListPeerRequest) GetEnableAdvertised() bool { 1939 if x != nil { 1940 return x.EnableAdvertised 1941 } 1942 return false 1943 } 1944 1945 type ListPeerResponse struct { 1946 state protoimpl.MessageState 1947 sizeCache protoimpl.SizeCache 1948 unknownFields protoimpl.UnknownFields 1949 1950 Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` 1951 } 1952 1953 func (x *ListPeerResponse) Reset() { 1954 *x = ListPeerResponse{} 1955 if protoimpl.UnsafeEnabled { 1956 mi := &file_gobgp_proto_msgTypes[9] 1957 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1958 ms.StoreMessageInfo(mi) 1959 } 1960 } 1961 1962 func (x *ListPeerResponse) String() string { 1963 return protoimpl.X.MessageStringOf(x) 1964 } 1965 1966 func (*ListPeerResponse) ProtoMessage() {} 1967 1968 func (x *ListPeerResponse) ProtoReflect() protoreflect.Message { 1969 mi := &file_gobgp_proto_msgTypes[9] 1970 if protoimpl.UnsafeEnabled && x != nil { 1971 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1972 if ms.LoadMessageInfo() == nil { 1973 ms.StoreMessageInfo(mi) 1974 } 1975 return ms 1976 } 1977 return mi.MessageOf(x) 1978 } 1979 1980 // Deprecated: Use ListPeerResponse.ProtoReflect.Descriptor instead. 1981 func (*ListPeerResponse) Descriptor() ([]byte, []int) { 1982 return file_gobgp_proto_rawDescGZIP(), []int{9} 1983 } 1984 1985 func (x *ListPeerResponse) GetPeer() *Peer { 1986 if x != nil { 1987 return x.Peer 1988 } 1989 return nil 1990 } 1991 1992 type UpdatePeerRequest struct { 1993 state protoimpl.MessageState 1994 sizeCache protoimpl.SizeCache 1995 unknownFields protoimpl.UnknownFields 1996 1997 Peer *Peer `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` 1998 // Calls SoftResetIn after updating the peer configuration if needed. 1999 DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"` 2000 } 2001 2002 func (x *UpdatePeerRequest) Reset() { 2003 *x = UpdatePeerRequest{} 2004 if protoimpl.UnsafeEnabled { 2005 mi := &file_gobgp_proto_msgTypes[10] 2006 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2007 ms.StoreMessageInfo(mi) 2008 } 2009 } 2010 2011 func (x *UpdatePeerRequest) String() string { 2012 return protoimpl.X.MessageStringOf(x) 2013 } 2014 2015 func (*UpdatePeerRequest) ProtoMessage() {} 2016 2017 func (x *UpdatePeerRequest) ProtoReflect() protoreflect.Message { 2018 mi := &file_gobgp_proto_msgTypes[10] 2019 if protoimpl.UnsafeEnabled && x != nil { 2020 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2021 if ms.LoadMessageInfo() == nil { 2022 ms.StoreMessageInfo(mi) 2023 } 2024 return ms 2025 } 2026 return mi.MessageOf(x) 2027 } 2028 2029 // Deprecated: Use UpdatePeerRequest.ProtoReflect.Descriptor instead. 2030 func (*UpdatePeerRequest) Descriptor() ([]byte, []int) { 2031 return file_gobgp_proto_rawDescGZIP(), []int{10} 2032 } 2033 2034 func (x *UpdatePeerRequest) GetPeer() *Peer { 2035 if x != nil { 2036 return x.Peer 2037 } 2038 return nil 2039 } 2040 2041 func (x *UpdatePeerRequest) GetDoSoftResetIn() bool { 2042 if x != nil { 2043 return x.DoSoftResetIn 2044 } 2045 return false 2046 } 2047 2048 type UpdatePeerResponse struct { 2049 state protoimpl.MessageState 2050 sizeCache protoimpl.SizeCache 2051 unknownFields protoimpl.UnknownFields 2052 2053 // Indicates whether calling SoftResetIn is required due to this update. If 2054 // "true" is set, the client should call SoftResetIn manually. If 2055 // "do_soft_reset_in = true" is set in the request, always returned with 2056 // "false". 2057 NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn,proto3" json:"needs_soft_reset_in,omitempty"` 2058 } 2059 2060 func (x *UpdatePeerResponse) Reset() { 2061 *x = UpdatePeerResponse{} 2062 if protoimpl.UnsafeEnabled { 2063 mi := &file_gobgp_proto_msgTypes[11] 2064 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2065 ms.StoreMessageInfo(mi) 2066 } 2067 } 2068 2069 func (x *UpdatePeerResponse) String() string { 2070 return protoimpl.X.MessageStringOf(x) 2071 } 2072 2073 func (*UpdatePeerResponse) ProtoMessage() {} 2074 2075 func (x *UpdatePeerResponse) ProtoReflect() protoreflect.Message { 2076 mi := &file_gobgp_proto_msgTypes[11] 2077 if protoimpl.UnsafeEnabled && x != nil { 2078 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2079 if ms.LoadMessageInfo() == nil { 2080 ms.StoreMessageInfo(mi) 2081 } 2082 return ms 2083 } 2084 return mi.MessageOf(x) 2085 } 2086 2087 // Deprecated: Use UpdatePeerResponse.ProtoReflect.Descriptor instead. 2088 func (*UpdatePeerResponse) Descriptor() ([]byte, []int) { 2089 return file_gobgp_proto_rawDescGZIP(), []int{11} 2090 } 2091 2092 func (x *UpdatePeerResponse) GetNeedsSoftResetIn() bool { 2093 if x != nil { 2094 return x.NeedsSoftResetIn 2095 } 2096 return false 2097 } 2098 2099 type ResetPeerRequest struct { 2100 state protoimpl.MessageState 2101 sizeCache protoimpl.SizeCache 2102 unknownFields protoimpl.UnknownFields 2103 2104 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 2105 Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` 2106 Soft bool `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"` 2107 Direction ResetPeerRequest_SoftResetDirection `protobuf:"varint,4,opt,name=direction,proto3,enum=apipb.ResetPeerRequest_SoftResetDirection" json:"direction,omitempty"` 2108 } 2109 2110 func (x *ResetPeerRequest) Reset() { 2111 *x = ResetPeerRequest{} 2112 if protoimpl.UnsafeEnabled { 2113 mi := &file_gobgp_proto_msgTypes[12] 2114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2115 ms.StoreMessageInfo(mi) 2116 } 2117 } 2118 2119 func (x *ResetPeerRequest) String() string { 2120 return protoimpl.X.MessageStringOf(x) 2121 } 2122 2123 func (*ResetPeerRequest) ProtoMessage() {} 2124 2125 func (x *ResetPeerRequest) ProtoReflect() protoreflect.Message { 2126 mi := &file_gobgp_proto_msgTypes[12] 2127 if protoimpl.UnsafeEnabled && x != nil { 2128 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2129 if ms.LoadMessageInfo() == nil { 2130 ms.StoreMessageInfo(mi) 2131 } 2132 return ms 2133 } 2134 return mi.MessageOf(x) 2135 } 2136 2137 // Deprecated: Use ResetPeerRequest.ProtoReflect.Descriptor instead. 2138 func (*ResetPeerRequest) Descriptor() ([]byte, []int) { 2139 return file_gobgp_proto_rawDescGZIP(), []int{12} 2140 } 2141 2142 func (x *ResetPeerRequest) GetAddress() string { 2143 if x != nil { 2144 return x.Address 2145 } 2146 return "" 2147 } 2148 2149 func (x *ResetPeerRequest) GetCommunication() string { 2150 if x != nil { 2151 return x.Communication 2152 } 2153 return "" 2154 } 2155 2156 func (x *ResetPeerRequest) GetSoft() bool { 2157 if x != nil { 2158 return x.Soft 2159 } 2160 return false 2161 } 2162 2163 func (x *ResetPeerRequest) GetDirection() ResetPeerRequest_SoftResetDirection { 2164 if x != nil { 2165 return x.Direction 2166 } 2167 return ResetPeerRequest_IN 2168 } 2169 2170 type ShutdownPeerRequest struct { 2171 state protoimpl.MessageState 2172 sizeCache protoimpl.SizeCache 2173 unknownFields protoimpl.UnknownFields 2174 2175 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 2176 Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` 2177 } 2178 2179 func (x *ShutdownPeerRequest) Reset() { 2180 *x = ShutdownPeerRequest{} 2181 if protoimpl.UnsafeEnabled { 2182 mi := &file_gobgp_proto_msgTypes[13] 2183 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2184 ms.StoreMessageInfo(mi) 2185 } 2186 } 2187 2188 func (x *ShutdownPeerRequest) String() string { 2189 return protoimpl.X.MessageStringOf(x) 2190 } 2191 2192 func (*ShutdownPeerRequest) ProtoMessage() {} 2193 2194 func (x *ShutdownPeerRequest) ProtoReflect() protoreflect.Message { 2195 mi := &file_gobgp_proto_msgTypes[13] 2196 if protoimpl.UnsafeEnabled && x != nil { 2197 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2198 if ms.LoadMessageInfo() == nil { 2199 ms.StoreMessageInfo(mi) 2200 } 2201 return ms 2202 } 2203 return mi.MessageOf(x) 2204 } 2205 2206 // Deprecated: Use ShutdownPeerRequest.ProtoReflect.Descriptor instead. 2207 func (*ShutdownPeerRequest) Descriptor() ([]byte, []int) { 2208 return file_gobgp_proto_rawDescGZIP(), []int{13} 2209 } 2210 2211 func (x *ShutdownPeerRequest) GetAddress() string { 2212 if x != nil { 2213 return x.Address 2214 } 2215 return "" 2216 } 2217 2218 func (x *ShutdownPeerRequest) GetCommunication() string { 2219 if x != nil { 2220 return x.Communication 2221 } 2222 return "" 2223 } 2224 2225 type EnablePeerRequest struct { 2226 state protoimpl.MessageState 2227 sizeCache protoimpl.SizeCache 2228 unknownFields protoimpl.UnknownFields 2229 2230 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 2231 } 2232 2233 func (x *EnablePeerRequest) Reset() { 2234 *x = EnablePeerRequest{} 2235 if protoimpl.UnsafeEnabled { 2236 mi := &file_gobgp_proto_msgTypes[14] 2237 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2238 ms.StoreMessageInfo(mi) 2239 } 2240 } 2241 2242 func (x *EnablePeerRequest) String() string { 2243 return protoimpl.X.MessageStringOf(x) 2244 } 2245 2246 func (*EnablePeerRequest) ProtoMessage() {} 2247 2248 func (x *EnablePeerRequest) ProtoReflect() protoreflect.Message { 2249 mi := &file_gobgp_proto_msgTypes[14] 2250 if protoimpl.UnsafeEnabled && x != nil { 2251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2252 if ms.LoadMessageInfo() == nil { 2253 ms.StoreMessageInfo(mi) 2254 } 2255 return ms 2256 } 2257 return mi.MessageOf(x) 2258 } 2259 2260 // Deprecated: Use EnablePeerRequest.ProtoReflect.Descriptor instead. 2261 func (*EnablePeerRequest) Descriptor() ([]byte, []int) { 2262 return file_gobgp_proto_rawDescGZIP(), []int{14} 2263 } 2264 2265 func (x *EnablePeerRequest) GetAddress() string { 2266 if x != nil { 2267 return x.Address 2268 } 2269 return "" 2270 } 2271 2272 type DisablePeerRequest struct { 2273 state protoimpl.MessageState 2274 sizeCache protoimpl.SizeCache 2275 unknownFields protoimpl.UnknownFields 2276 2277 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 2278 Communication string `protobuf:"bytes,2,opt,name=communication,proto3" json:"communication,omitempty"` 2279 } 2280 2281 func (x *DisablePeerRequest) Reset() { 2282 *x = DisablePeerRequest{} 2283 if protoimpl.UnsafeEnabled { 2284 mi := &file_gobgp_proto_msgTypes[15] 2285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2286 ms.StoreMessageInfo(mi) 2287 } 2288 } 2289 2290 func (x *DisablePeerRequest) String() string { 2291 return protoimpl.X.MessageStringOf(x) 2292 } 2293 2294 func (*DisablePeerRequest) ProtoMessage() {} 2295 2296 func (x *DisablePeerRequest) ProtoReflect() protoreflect.Message { 2297 mi := &file_gobgp_proto_msgTypes[15] 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 DisablePeerRequest.ProtoReflect.Descriptor instead. 2309 func (*DisablePeerRequest) Descriptor() ([]byte, []int) { 2310 return file_gobgp_proto_rawDescGZIP(), []int{15} 2311 } 2312 2313 func (x *DisablePeerRequest) GetAddress() string { 2314 if x != nil { 2315 return x.Address 2316 } 2317 return "" 2318 } 2319 2320 func (x *DisablePeerRequest) GetCommunication() string { 2321 if x != nil { 2322 return x.Communication 2323 } 2324 return "" 2325 } 2326 2327 type AddPeerGroupRequest struct { 2328 state protoimpl.MessageState 2329 sizeCache protoimpl.SizeCache 2330 unknownFields protoimpl.UnknownFields 2331 2332 PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 2333 } 2334 2335 func (x *AddPeerGroupRequest) Reset() { 2336 *x = AddPeerGroupRequest{} 2337 if protoimpl.UnsafeEnabled { 2338 mi := &file_gobgp_proto_msgTypes[16] 2339 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2340 ms.StoreMessageInfo(mi) 2341 } 2342 } 2343 2344 func (x *AddPeerGroupRequest) String() string { 2345 return protoimpl.X.MessageStringOf(x) 2346 } 2347 2348 func (*AddPeerGroupRequest) ProtoMessage() {} 2349 2350 func (x *AddPeerGroupRequest) ProtoReflect() protoreflect.Message { 2351 mi := &file_gobgp_proto_msgTypes[16] 2352 if protoimpl.UnsafeEnabled && x != nil { 2353 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2354 if ms.LoadMessageInfo() == nil { 2355 ms.StoreMessageInfo(mi) 2356 } 2357 return ms 2358 } 2359 return mi.MessageOf(x) 2360 } 2361 2362 // Deprecated: Use AddPeerGroupRequest.ProtoReflect.Descriptor instead. 2363 func (*AddPeerGroupRequest) Descriptor() ([]byte, []int) { 2364 return file_gobgp_proto_rawDescGZIP(), []int{16} 2365 } 2366 2367 func (x *AddPeerGroupRequest) GetPeerGroup() *PeerGroup { 2368 if x != nil { 2369 return x.PeerGroup 2370 } 2371 return nil 2372 } 2373 2374 type DeletePeerGroupRequest struct { 2375 state protoimpl.MessageState 2376 sizeCache protoimpl.SizeCache 2377 unknownFields protoimpl.UnknownFields 2378 2379 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2380 } 2381 2382 func (x *DeletePeerGroupRequest) Reset() { 2383 *x = DeletePeerGroupRequest{} 2384 if protoimpl.UnsafeEnabled { 2385 mi := &file_gobgp_proto_msgTypes[17] 2386 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2387 ms.StoreMessageInfo(mi) 2388 } 2389 } 2390 2391 func (x *DeletePeerGroupRequest) String() string { 2392 return protoimpl.X.MessageStringOf(x) 2393 } 2394 2395 func (*DeletePeerGroupRequest) ProtoMessage() {} 2396 2397 func (x *DeletePeerGroupRequest) ProtoReflect() protoreflect.Message { 2398 mi := &file_gobgp_proto_msgTypes[17] 2399 if protoimpl.UnsafeEnabled && x != nil { 2400 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2401 if ms.LoadMessageInfo() == nil { 2402 ms.StoreMessageInfo(mi) 2403 } 2404 return ms 2405 } 2406 return mi.MessageOf(x) 2407 } 2408 2409 // Deprecated: Use DeletePeerGroupRequest.ProtoReflect.Descriptor instead. 2410 func (*DeletePeerGroupRequest) Descriptor() ([]byte, []int) { 2411 return file_gobgp_proto_rawDescGZIP(), []int{17} 2412 } 2413 2414 func (x *DeletePeerGroupRequest) GetName() string { 2415 if x != nil { 2416 return x.Name 2417 } 2418 return "" 2419 } 2420 2421 type UpdatePeerGroupRequest struct { 2422 state protoimpl.MessageState 2423 sizeCache protoimpl.SizeCache 2424 unknownFields protoimpl.UnknownFields 2425 2426 PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 2427 DoSoftResetIn bool `protobuf:"varint,2,opt,name=do_soft_reset_in,json=doSoftResetIn,proto3" json:"do_soft_reset_in,omitempty"` 2428 } 2429 2430 func (x *UpdatePeerGroupRequest) Reset() { 2431 *x = UpdatePeerGroupRequest{} 2432 if protoimpl.UnsafeEnabled { 2433 mi := &file_gobgp_proto_msgTypes[18] 2434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2435 ms.StoreMessageInfo(mi) 2436 } 2437 } 2438 2439 func (x *UpdatePeerGroupRequest) String() string { 2440 return protoimpl.X.MessageStringOf(x) 2441 } 2442 2443 func (*UpdatePeerGroupRequest) ProtoMessage() {} 2444 2445 func (x *UpdatePeerGroupRequest) ProtoReflect() protoreflect.Message { 2446 mi := &file_gobgp_proto_msgTypes[18] 2447 if protoimpl.UnsafeEnabled && x != nil { 2448 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2449 if ms.LoadMessageInfo() == nil { 2450 ms.StoreMessageInfo(mi) 2451 } 2452 return ms 2453 } 2454 return mi.MessageOf(x) 2455 } 2456 2457 // Deprecated: Use UpdatePeerGroupRequest.ProtoReflect.Descriptor instead. 2458 func (*UpdatePeerGroupRequest) Descriptor() ([]byte, []int) { 2459 return file_gobgp_proto_rawDescGZIP(), []int{18} 2460 } 2461 2462 func (x *UpdatePeerGroupRequest) GetPeerGroup() *PeerGroup { 2463 if x != nil { 2464 return x.PeerGroup 2465 } 2466 return nil 2467 } 2468 2469 func (x *UpdatePeerGroupRequest) GetDoSoftResetIn() bool { 2470 if x != nil { 2471 return x.DoSoftResetIn 2472 } 2473 return false 2474 } 2475 2476 type UpdatePeerGroupResponse struct { 2477 state protoimpl.MessageState 2478 sizeCache protoimpl.SizeCache 2479 unknownFields protoimpl.UnknownFields 2480 2481 NeedsSoftResetIn bool `protobuf:"varint,1,opt,name=needs_soft_reset_in,json=needsSoftResetIn,proto3" json:"needs_soft_reset_in,omitempty"` 2482 } 2483 2484 func (x *UpdatePeerGroupResponse) Reset() { 2485 *x = UpdatePeerGroupResponse{} 2486 if protoimpl.UnsafeEnabled { 2487 mi := &file_gobgp_proto_msgTypes[19] 2488 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2489 ms.StoreMessageInfo(mi) 2490 } 2491 } 2492 2493 func (x *UpdatePeerGroupResponse) String() string { 2494 return protoimpl.X.MessageStringOf(x) 2495 } 2496 2497 func (*UpdatePeerGroupResponse) ProtoMessage() {} 2498 2499 func (x *UpdatePeerGroupResponse) ProtoReflect() protoreflect.Message { 2500 mi := &file_gobgp_proto_msgTypes[19] 2501 if protoimpl.UnsafeEnabled && x != nil { 2502 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2503 if ms.LoadMessageInfo() == nil { 2504 ms.StoreMessageInfo(mi) 2505 } 2506 return ms 2507 } 2508 return mi.MessageOf(x) 2509 } 2510 2511 // Deprecated: Use UpdatePeerGroupResponse.ProtoReflect.Descriptor instead. 2512 func (*UpdatePeerGroupResponse) Descriptor() ([]byte, []int) { 2513 return file_gobgp_proto_rawDescGZIP(), []int{19} 2514 } 2515 2516 func (x *UpdatePeerGroupResponse) GetNeedsSoftResetIn() bool { 2517 if x != nil { 2518 return x.NeedsSoftResetIn 2519 } 2520 return false 2521 } 2522 2523 type ListPeerGroupRequest struct { 2524 state protoimpl.MessageState 2525 sizeCache protoimpl.SizeCache 2526 unknownFields protoimpl.UnknownFields 2527 2528 PeerGroupName string `protobuf:"bytes,1,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` 2529 } 2530 2531 func (x *ListPeerGroupRequest) Reset() { 2532 *x = ListPeerGroupRequest{} 2533 if protoimpl.UnsafeEnabled { 2534 mi := &file_gobgp_proto_msgTypes[20] 2535 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2536 ms.StoreMessageInfo(mi) 2537 } 2538 } 2539 2540 func (x *ListPeerGroupRequest) String() string { 2541 return protoimpl.X.MessageStringOf(x) 2542 } 2543 2544 func (*ListPeerGroupRequest) ProtoMessage() {} 2545 2546 func (x *ListPeerGroupRequest) ProtoReflect() protoreflect.Message { 2547 mi := &file_gobgp_proto_msgTypes[20] 2548 if protoimpl.UnsafeEnabled && x != nil { 2549 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2550 if ms.LoadMessageInfo() == nil { 2551 ms.StoreMessageInfo(mi) 2552 } 2553 return ms 2554 } 2555 return mi.MessageOf(x) 2556 } 2557 2558 // Deprecated: Use ListPeerGroupRequest.ProtoReflect.Descriptor instead. 2559 func (*ListPeerGroupRequest) Descriptor() ([]byte, []int) { 2560 return file_gobgp_proto_rawDescGZIP(), []int{20} 2561 } 2562 2563 func (x *ListPeerGroupRequest) GetPeerGroupName() string { 2564 if x != nil { 2565 return x.PeerGroupName 2566 } 2567 return "" 2568 } 2569 2570 type ListPeerGroupResponse struct { 2571 state protoimpl.MessageState 2572 sizeCache protoimpl.SizeCache 2573 unknownFields protoimpl.UnknownFields 2574 2575 PeerGroup *PeerGroup `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 2576 } 2577 2578 func (x *ListPeerGroupResponse) Reset() { 2579 *x = ListPeerGroupResponse{} 2580 if protoimpl.UnsafeEnabled { 2581 mi := &file_gobgp_proto_msgTypes[21] 2582 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2583 ms.StoreMessageInfo(mi) 2584 } 2585 } 2586 2587 func (x *ListPeerGroupResponse) String() string { 2588 return protoimpl.X.MessageStringOf(x) 2589 } 2590 2591 func (*ListPeerGroupResponse) ProtoMessage() {} 2592 2593 func (x *ListPeerGroupResponse) ProtoReflect() protoreflect.Message { 2594 mi := &file_gobgp_proto_msgTypes[21] 2595 if protoimpl.UnsafeEnabled && x != nil { 2596 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2597 if ms.LoadMessageInfo() == nil { 2598 ms.StoreMessageInfo(mi) 2599 } 2600 return ms 2601 } 2602 return mi.MessageOf(x) 2603 } 2604 2605 // Deprecated: Use ListPeerGroupResponse.ProtoReflect.Descriptor instead. 2606 func (*ListPeerGroupResponse) Descriptor() ([]byte, []int) { 2607 return file_gobgp_proto_rawDescGZIP(), []int{21} 2608 } 2609 2610 func (x *ListPeerGroupResponse) GetPeerGroup() *PeerGroup { 2611 if x != nil { 2612 return x.PeerGroup 2613 } 2614 return nil 2615 } 2616 2617 type AddDynamicNeighborRequest struct { 2618 state protoimpl.MessageState 2619 sizeCache protoimpl.SizeCache 2620 unknownFields protoimpl.UnknownFields 2621 2622 DynamicNeighbor *DynamicNeighbor `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"` 2623 } 2624 2625 func (x *AddDynamicNeighborRequest) Reset() { 2626 *x = AddDynamicNeighborRequest{} 2627 if protoimpl.UnsafeEnabled { 2628 mi := &file_gobgp_proto_msgTypes[22] 2629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2630 ms.StoreMessageInfo(mi) 2631 } 2632 } 2633 2634 func (x *AddDynamicNeighborRequest) String() string { 2635 return protoimpl.X.MessageStringOf(x) 2636 } 2637 2638 func (*AddDynamicNeighborRequest) ProtoMessage() {} 2639 2640 func (x *AddDynamicNeighborRequest) ProtoReflect() protoreflect.Message { 2641 mi := &file_gobgp_proto_msgTypes[22] 2642 if protoimpl.UnsafeEnabled && x != nil { 2643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2644 if ms.LoadMessageInfo() == nil { 2645 ms.StoreMessageInfo(mi) 2646 } 2647 return ms 2648 } 2649 return mi.MessageOf(x) 2650 } 2651 2652 // Deprecated: Use AddDynamicNeighborRequest.ProtoReflect.Descriptor instead. 2653 func (*AddDynamicNeighborRequest) Descriptor() ([]byte, []int) { 2654 return file_gobgp_proto_rawDescGZIP(), []int{22} 2655 } 2656 2657 func (x *AddDynamicNeighborRequest) GetDynamicNeighbor() *DynamicNeighbor { 2658 if x != nil { 2659 return x.DynamicNeighbor 2660 } 2661 return nil 2662 } 2663 2664 type DeleteDynamicNeighborRequest struct { 2665 state protoimpl.MessageState 2666 sizeCache protoimpl.SizeCache 2667 unknownFields protoimpl.UnknownFields 2668 2669 Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` 2670 PeerGroup string `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 2671 } 2672 2673 func (x *DeleteDynamicNeighborRequest) Reset() { 2674 *x = DeleteDynamicNeighborRequest{} 2675 if protoimpl.UnsafeEnabled { 2676 mi := &file_gobgp_proto_msgTypes[23] 2677 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2678 ms.StoreMessageInfo(mi) 2679 } 2680 } 2681 2682 func (x *DeleteDynamicNeighborRequest) String() string { 2683 return protoimpl.X.MessageStringOf(x) 2684 } 2685 2686 func (*DeleteDynamicNeighborRequest) ProtoMessage() {} 2687 2688 func (x *DeleteDynamicNeighborRequest) ProtoReflect() protoreflect.Message { 2689 mi := &file_gobgp_proto_msgTypes[23] 2690 if protoimpl.UnsafeEnabled && x != nil { 2691 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2692 if ms.LoadMessageInfo() == nil { 2693 ms.StoreMessageInfo(mi) 2694 } 2695 return ms 2696 } 2697 return mi.MessageOf(x) 2698 } 2699 2700 // Deprecated: Use DeleteDynamicNeighborRequest.ProtoReflect.Descriptor instead. 2701 func (*DeleteDynamicNeighborRequest) Descriptor() ([]byte, []int) { 2702 return file_gobgp_proto_rawDescGZIP(), []int{23} 2703 } 2704 2705 func (x *DeleteDynamicNeighborRequest) GetPrefix() string { 2706 if x != nil { 2707 return x.Prefix 2708 } 2709 return "" 2710 } 2711 2712 func (x *DeleteDynamicNeighborRequest) GetPeerGroup() string { 2713 if x != nil { 2714 return x.PeerGroup 2715 } 2716 return "" 2717 } 2718 2719 type ListDynamicNeighborRequest struct { 2720 state protoimpl.MessageState 2721 sizeCache protoimpl.SizeCache 2722 unknownFields protoimpl.UnknownFields 2723 2724 PeerGroup string `protobuf:"bytes,1,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 2725 } 2726 2727 func (x *ListDynamicNeighborRequest) Reset() { 2728 *x = ListDynamicNeighborRequest{} 2729 if protoimpl.UnsafeEnabled { 2730 mi := &file_gobgp_proto_msgTypes[24] 2731 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2732 ms.StoreMessageInfo(mi) 2733 } 2734 } 2735 2736 func (x *ListDynamicNeighborRequest) String() string { 2737 return protoimpl.X.MessageStringOf(x) 2738 } 2739 2740 func (*ListDynamicNeighborRequest) ProtoMessage() {} 2741 2742 func (x *ListDynamicNeighborRequest) ProtoReflect() protoreflect.Message { 2743 mi := &file_gobgp_proto_msgTypes[24] 2744 if protoimpl.UnsafeEnabled && x != nil { 2745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2746 if ms.LoadMessageInfo() == nil { 2747 ms.StoreMessageInfo(mi) 2748 } 2749 return ms 2750 } 2751 return mi.MessageOf(x) 2752 } 2753 2754 // Deprecated: Use ListDynamicNeighborRequest.ProtoReflect.Descriptor instead. 2755 func (*ListDynamicNeighborRequest) Descriptor() ([]byte, []int) { 2756 return file_gobgp_proto_rawDescGZIP(), []int{24} 2757 } 2758 2759 func (x *ListDynamicNeighborRequest) GetPeerGroup() string { 2760 if x != nil { 2761 return x.PeerGroup 2762 } 2763 return "" 2764 } 2765 2766 type ListDynamicNeighborResponse struct { 2767 state protoimpl.MessageState 2768 sizeCache protoimpl.SizeCache 2769 unknownFields protoimpl.UnknownFields 2770 2771 DynamicNeighbor *DynamicNeighbor `protobuf:"bytes,1,opt,name=dynamic_neighbor,json=dynamicNeighbor,proto3" json:"dynamic_neighbor,omitempty"` 2772 } 2773 2774 func (x *ListDynamicNeighborResponse) Reset() { 2775 *x = ListDynamicNeighborResponse{} 2776 if protoimpl.UnsafeEnabled { 2777 mi := &file_gobgp_proto_msgTypes[25] 2778 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2779 ms.StoreMessageInfo(mi) 2780 } 2781 } 2782 2783 func (x *ListDynamicNeighborResponse) String() string { 2784 return protoimpl.X.MessageStringOf(x) 2785 } 2786 2787 func (*ListDynamicNeighborResponse) ProtoMessage() {} 2788 2789 func (x *ListDynamicNeighborResponse) ProtoReflect() protoreflect.Message { 2790 mi := &file_gobgp_proto_msgTypes[25] 2791 if protoimpl.UnsafeEnabled && x != nil { 2792 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2793 if ms.LoadMessageInfo() == nil { 2794 ms.StoreMessageInfo(mi) 2795 } 2796 return ms 2797 } 2798 return mi.MessageOf(x) 2799 } 2800 2801 // Deprecated: Use ListDynamicNeighborResponse.ProtoReflect.Descriptor instead. 2802 func (*ListDynamicNeighborResponse) Descriptor() ([]byte, []int) { 2803 return file_gobgp_proto_rawDescGZIP(), []int{25} 2804 } 2805 2806 func (x *ListDynamicNeighborResponse) GetDynamicNeighbor() *DynamicNeighbor { 2807 if x != nil { 2808 return x.DynamicNeighbor 2809 } 2810 return nil 2811 } 2812 2813 type AddPathRequest struct { 2814 state protoimpl.MessageState 2815 sizeCache protoimpl.SizeCache 2816 unknownFields protoimpl.UnknownFields 2817 2818 TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` 2819 VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` 2820 Path *Path `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` 2821 } 2822 2823 func (x *AddPathRequest) Reset() { 2824 *x = AddPathRequest{} 2825 if protoimpl.UnsafeEnabled { 2826 mi := &file_gobgp_proto_msgTypes[26] 2827 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2828 ms.StoreMessageInfo(mi) 2829 } 2830 } 2831 2832 func (x *AddPathRequest) String() string { 2833 return protoimpl.X.MessageStringOf(x) 2834 } 2835 2836 func (*AddPathRequest) ProtoMessage() {} 2837 2838 func (x *AddPathRequest) ProtoReflect() protoreflect.Message { 2839 mi := &file_gobgp_proto_msgTypes[26] 2840 if protoimpl.UnsafeEnabled && x != nil { 2841 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2842 if ms.LoadMessageInfo() == nil { 2843 ms.StoreMessageInfo(mi) 2844 } 2845 return ms 2846 } 2847 return mi.MessageOf(x) 2848 } 2849 2850 // Deprecated: Use AddPathRequest.ProtoReflect.Descriptor instead. 2851 func (*AddPathRequest) Descriptor() ([]byte, []int) { 2852 return file_gobgp_proto_rawDescGZIP(), []int{26} 2853 } 2854 2855 func (x *AddPathRequest) GetTableType() TableType { 2856 if x != nil { 2857 return x.TableType 2858 } 2859 return TableType_GLOBAL 2860 } 2861 2862 func (x *AddPathRequest) GetVrfId() string { 2863 if x != nil { 2864 return x.VrfId 2865 } 2866 return "" 2867 } 2868 2869 func (x *AddPathRequest) GetPath() *Path { 2870 if x != nil { 2871 return x.Path 2872 } 2873 return nil 2874 } 2875 2876 type AddPathResponse struct { 2877 state protoimpl.MessageState 2878 sizeCache protoimpl.SizeCache 2879 unknownFields protoimpl.UnknownFields 2880 2881 Uuid []byte `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"` 2882 } 2883 2884 func (x *AddPathResponse) Reset() { 2885 *x = AddPathResponse{} 2886 if protoimpl.UnsafeEnabled { 2887 mi := &file_gobgp_proto_msgTypes[27] 2888 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2889 ms.StoreMessageInfo(mi) 2890 } 2891 } 2892 2893 func (x *AddPathResponse) String() string { 2894 return protoimpl.X.MessageStringOf(x) 2895 } 2896 2897 func (*AddPathResponse) ProtoMessage() {} 2898 2899 func (x *AddPathResponse) ProtoReflect() protoreflect.Message { 2900 mi := &file_gobgp_proto_msgTypes[27] 2901 if protoimpl.UnsafeEnabled && x != nil { 2902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2903 if ms.LoadMessageInfo() == nil { 2904 ms.StoreMessageInfo(mi) 2905 } 2906 return ms 2907 } 2908 return mi.MessageOf(x) 2909 } 2910 2911 // Deprecated: Use AddPathResponse.ProtoReflect.Descriptor instead. 2912 func (*AddPathResponse) Descriptor() ([]byte, []int) { 2913 return file_gobgp_proto_rawDescGZIP(), []int{27} 2914 } 2915 2916 func (x *AddPathResponse) GetUuid() []byte { 2917 if x != nil { 2918 return x.Uuid 2919 } 2920 return nil 2921 } 2922 2923 type DeletePathRequest struct { 2924 state protoimpl.MessageState 2925 sizeCache protoimpl.SizeCache 2926 unknownFields protoimpl.UnknownFields 2927 2928 TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` 2929 VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` 2930 Family *Family `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"` 2931 Path *Path `protobuf:"bytes,4,opt,name=path,proto3" json:"path,omitempty"` 2932 Uuid []byte `protobuf:"bytes,5,opt,name=uuid,proto3" json:"uuid,omitempty"` 2933 } 2934 2935 func (x *DeletePathRequest) Reset() { 2936 *x = DeletePathRequest{} 2937 if protoimpl.UnsafeEnabled { 2938 mi := &file_gobgp_proto_msgTypes[28] 2939 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2940 ms.StoreMessageInfo(mi) 2941 } 2942 } 2943 2944 func (x *DeletePathRequest) String() string { 2945 return protoimpl.X.MessageStringOf(x) 2946 } 2947 2948 func (*DeletePathRequest) ProtoMessage() {} 2949 2950 func (x *DeletePathRequest) ProtoReflect() protoreflect.Message { 2951 mi := &file_gobgp_proto_msgTypes[28] 2952 if protoimpl.UnsafeEnabled && x != nil { 2953 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2954 if ms.LoadMessageInfo() == nil { 2955 ms.StoreMessageInfo(mi) 2956 } 2957 return ms 2958 } 2959 return mi.MessageOf(x) 2960 } 2961 2962 // Deprecated: Use DeletePathRequest.ProtoReflect.Descriptor instead. 2963 func (*DeletePathRequest) Descriptor() ([]byte, []int) { 2964 return file_gobgp_proto_rawDescGZIP(), []int{28} 2965 } 2966 2967 func (x *DeletePathRequest) GetTableType() TableType { 2968 if x != nil { 2969 return x.TableType 2970 } 2971 return TableType_GLOBAL 2972 } 2973 2974 func (x *DeletePathRequest) GetVrfId() string { 2975 if x != nil { 2976 return x.VrfId 2977 } 2978 return "" 2979 } 2980 2981 func (x *DeletePathRequest) GetFamily() *Family { 2982 if x != nil { 2983 return x.Family 2984 } 2985 return nil 2986 } 2987 2988 func (x *DeletePathRequest) GetPath() *Path { 2989 if x != nil { 2990 return x.Path 2991 } 2992 return nil 2993 } 2994 2995 func (x *DeletePathRequest) GetUuid() []byte { 2996 if x != nil { 2997 return x.Uuid 2998 } 2999 return nil 3000 } 3001 3002 // API representation of table.LookupPrefix 3003 type TableLookupPrefix struct { 3004 state protoimpl.MessageState 3005 sizeCache protoimpl.SizeCache 3006 unknownFields protoimpl.UnknownFields 3007 3008 Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` 3009 Type TableLookupPrefix_Type `protobuf:"varint,2,opt,name=type,proto3,enum=apipb.TableLookupPrefix_Type" json:"type,omitempty"` 3010 Rd string `protobuf:"bytes,3,opt,name=rd,proto3" json:"rd,omitempty"` 3011 } 3012 3013 func (x *TableLookupPrefix) Reset() { 3014 *x = TableLookupPrefix{} 3015 if protoimpl.UnsafeEnabled { 3016 mi := &file_gobgp_proto_msgTypes[29] 3017 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3018 ms.StoreMessageInfo(mi) 3019 } 3020 } 3021 3022 func (x *TableLookupPrefix) String() string { 3023 return protoimpl.X.MessageStringOf(x) 3024 } 3025 3026 func (*TableLookupPrefix) ProtoMessage() {} 3027 3028 func (x *TableLookupPrefix) ProtoReflect() protoreflect.Message { 3029 mi := &file_gobgp_proto_msgTypes[29] 3030 if protoimpl.UnsafeEnabled && x != nil { 3031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3032 if ms.LoadMessageInfo() == nil { 3033 ms.StoreMessageInfo(mi) 3034 } 3035 return ms 3036 } 3037 return mi.MessageOf(x) 3038 } 3039 3040 // Deprecated: Use TableLookupPrefix.ProtoReflect.Descriptor instead. 3041 func (*TableLookupPrefix) Descriptor() ([]byte, []int) { 3042 return file_gobgp_proto_rawDescGZIP(), []int{29} 3043 } 3044 3045 func (x *TableLookupPrefix) GetPrefix() string { 3046 if x != nil { 3047 return x.Prefix 3048 } 3049 return "" 3050 } 3051 3052 func (x *TableLookupPrefix) GetType() TableLookupPrefix_Type { 3053 if x != nil { 3054 return x.Type 3055 } 3056 return TableLookupPrefix_EXACT 3057 } 3058 3059 func (x *TableLookupPrefix) GetRd() string { 3060 if x != nil { 3061 return x.Rd 3062 } 3063 return "" 3064 } 3065 3066 type ListPathRequest struct { 3067 state protoimpl.MessageState 3068 sizeCache protoimpl.SizeCache 3069 unknownFields protoimpl.UnknownFields 3070 3071 TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` 3072 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 3073 Family *Family `protobuf:"bytes,3,opt,name=family,proto3" json:"family,omitempty"` 3074 Prefixes []*TableLookupPrefix `protobuf:"bytes,4,rep,name=prefixes,proto3" json:"prefixes,omitempty"` 3075 SortType ListPathRequest_SortType `protobuf:"varint,5,opt,name=sort_type,json=sortType,proto3,enum=apipb.ListPathRequest_SortType" json:"sort_type,omitempty"` 3076 EnableFiltered bool `protobuf:"varint,6,opt,name=enable_filtered,json=enableFiltered,proto3" json:"enable_filtered,omitempty"` 3077 EnableNlriBinary bool `protobuf:"varint,7,opt,name=enable_nlri_binary,json=enableNlriBinary,proto3" json:"enable_nlri_binary,omitempty"` 3078 EnableAttributeBinary bool `protobuf:"varint,8,opt,name=enable_attribute_binary,json=enableAttributeBinary,proto3" json:"enable_attribute_binary,omitempty"` 3079 // enable_only_binary == true means that only nlri_binary and pattrs_binary 3080 // will be used instead of nlri and pattrs for each Path in ListPathResponse. 3081 EnableOnlyBinary bool `protobuf:"varint,9,opt,name=enable_only_binary,json=enableOnlyBinary,proto3" json:"enable_only_binary,omitempty"` 3082 // max ammount of paths to be allocated, unlimited by default 3083 BatchSize uint64 `protobuf:"varint,10,opt,name=batch_size,json=batchSize,proto3" json:"batch_size,omitempty"` 3084 } 3085 3086 func (x *ListPathRequest) Reset() { 3087 *x = ListPathRequest{} 3088 if protoimpl.UnsafeEnabled { 3089 mi := &file_gobgp_proto_msgTypes[30] 3090 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3091 ms.StoreMessageInfo(mi) 3092 } 3093 } 3094 3095 func (x *ListPathRequest) String() string { 3096 return protoimpl.X.MessageStringOf(x) 3097 } 3098 3099 func (*ListPathRequest) ProtoMessage() {} 3100 3101 func (x *ListPathRequest) ProtoReflect() protoreflect.Message { 3102 mi := &file_gobgp_proto_msgTypes[30] 3103 if protoimpl.UnsafeEnabled && x != nil { 3104 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3105 if ms.LoadMessageInfo() == nil { 3106 ms.StoreMessageInfo(mi) 3107 } 3108 return ms 3109 } 3110 return mi.MessageOf(x) 3111 } 3112 3113 // Deprecated: Use ListPathRequest.ProtoReflect.Descriptor instead. 3114 func (*ListPathRequest) Descriptor() ([]byte, []int) { 3115 return file_gobgp_proto_rawDescGZIP(), []int{30} 3116 } 3117 3118 func (x *ListPathRequest) GetTableType() TableType { 3119 if x != nil { 3120 return x.TableType 3121 } 3122 return TableType_GLOBAL 3123 } 3124 3125 func (x *ListPathRequest) GetName() string { 3126 if x != nil { 3127 return x.Name 3128 } 3129 return "" 3130 } 3131 3132 func (x *ListPathRequest) GetFamily() *Family { 3133 if x != nil { 3134 return x.Family 3135 } 3136 return nil 3137 } 3138 3139 func (x *ListPathRequest) GetPrefixes() []*TableLookupPrefix { 3140 if x != nil { 3141 return x.Prefixes 3142 } 3143 return nil 3144 } 3145 3146 func (x *ListPathRequest) GetSortType() ListPathRequest_SortType { 3147 if x != nil { 3148 return x.SortType 3149 } 3150 return ListPathRequest_NONE 3151 } 3152 3153 func (x *ListPathRequest) GetEnableFiltered() bool { 3154 if x != nil { 3155 return x.EnableFiltered 3156 } 3157 return false 3158 } 3159 3160 func (x *ListPathRequest) GetEnableNlriBinary() bool { 3161 if x != nil { 3162 return x.EnableNlriBinary 3163 } 3164 return false 3165 } 3166 3167 func (x *ListPathRequest) GetEnableAttributeBinary() bool { 3168 if x != nil { 3169 return x.EnableAttributeBinary 3170 } 3171 return false 3172 } 3173 3174 func (x *ListPathRequest) GetEnableOnlyBinary() bool { 3175 if x != nil { 3176 return x.EnableOnlyBinary 3177 } 3178 return false 3179 } 3180 3181 func (x *ListPathRequest) GetBatchSize() uint64 { 3182 if x != nil { 3183 return x.BatchSize 3184 } 3185 return 0 3186 } 3187 3188 type ListPathResponse struct { 3189 state protoimpl.MessageState 3190 sizeCache protoimpl.SizeCache 3191 unknownFields protoimpl.UnknownFields 3192 3193 Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` 3194 } 3195 3196 func (x *ListPathResponse) Reset() { 3197 *x = ListPathResponse{} 3198 if protoimpl.UnsafeEnabled { 3199 mi := &file_gobgp_proto_msgTypes[31] 3200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3201 ms.StoreMessageInfo(mi) 3202 } 3203 } 3204 3205 func (x *ListPathResponse) String() string { 3206 return protoimpl.X.MessageStringOf(x) 3207 } 3208 3209 func (*ListPathResponse) ProtoMessage() {} 3210 3211 func (x *ListPathResponse) ProtoReflect() protoreflect.Message { 3212 mi := &file_gobgp_proto_msgTypes[31] 3213 if protoimpl.UnsafeEnabled && x != nil { 3214 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3215 if ms.LoadMessageInfo() == nil { 3216 ms.StoreMessageInfo(mi) 3217 } 3218 return ms 3219 } 3220 return mi.MessageOf(x) 3221 } 3222 3223 // Deprecated: Use ListPathResponse.ProtoReflect.Descriptor instead. 3224 func (*ListPathResponse) Descriptor() ([]byte, []int) { 3225 return file_gobgp_proto_rawDescGZIP(), []int{31} 3226 } 3227 3228 func (x *ListPathResponse) GetDestination() *Destination { 3229 if x != nil { 3230 return x.Destination 3231 } 3232 return nil 3233 } 3234 3235 type AddPathStreamRequest struct { 3236 state protoimpl.MessageState 3237 sizeCache protoimpl.SizeCache 3238 unknownFields protoimpl.UnknownFields 3239 3240 TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` 3241 VrfId string `protobuf:"bytes,2,opt,name=vrf_id,json=vrfId,proto3" json:"vrf_id,omitempty"` 3242 Paths []*Path `protobuf:"bytes,3,rep,name=paths,proto3" json:"paths,omitempty"` 3243 } 3244 3245 func (x *AddPathStreamRequest) Reset() { 3246 *x = AddPathStreamRequest{} 3247 if protoimpl.UnsafeEnabled { 3248 mi := &file_gobgp_proto_msgTypes[32] 3249 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3250 ms.StoreMessageInfo(mi) 3251 } 3252 } 3253 3254 func (x *AddPathStreamRequest) String() string { 3255 return protoimpl.X.MessageStringOf(x) 3256 } 3257 3258 func (*AddPathStreamRequest) ProtoMessage() {} 3259 3260 func (x *AddPathStreamRequest) ProtoReflect() protoreflect.Message { 3261 mi := &file_gobgp_proto_msgTypes[32] 3262 if protoimpl.UnsafeEnabled && x != nil { 3263 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3264 if ms.LoadMessageInfo() == nil { 3265 ms.StoreMessageInfo(mi) 3266 } 3267 return ms 3268 } 3269 return mi.MessageOf(x) 3270 } 3271 3272 // Deprecated: Use AddPathStreamRequest.ProtoReflect.Descriptor instead. 3273 func (*AddPathStreamRequest) Descriptor() ([]byte, []int) { 3274 return file_gobgp_proto_rawDescGZIP(), []int{32} 3275 } 3276 3277 func (x *AddPathStreamRequest) GetTableType() TableType { 3278 if x != nil { 3279 return x.TableType 3280 } 3281 return TableType_GLOBAL 3282 } 3283 3284 func (x *AddPathStreamRequest) GetVrfId() string { 3285 if x != nil { 3286 return x.VrfId 3287 } 3288 return "" 3289 } 3290 3291 func (x *AddPathStreamRequest) GetPaths() []*Path { 3292 if x != nil { 3293 return x.Paths 3294 } 3295 return nil 3296 } 3297 3298 type GetTableRequest struct { 3299 state protoimpl.MessageState 3300 sizeCache protoimpl.SizeCache 3301 unknownFields protoimpl.UnknownFields 3302 3303 TableType TableType `protobuf:"varint,1,opt,name=table_type,json=tableType,proto3,enum=apipb.TableType" json:"table_type,omitempty"` 3304 Family *Family `protobuf:"bytes,2,opt,name=family,proto3" json:"family,omitempty"` 3305 Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` 3306 } 3307 3308 func (x *GetTableRequest) Reset() { 3309 *x = GetTableRequest{} 3310 if protoimpl.UnsafeEnabled { 3311 mi := &file_gobgp_proto_msgTypes[33] 3312 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3313 ms.StoreMessageInfo(mi) 3314 } 3315 } 3316 3317 func (x *GetTableRequest) String() string { 3318 return protoimpl.X.MessageStringOf(x) 3319 } 3320 3321 func (*GetTableRequest) ProtoMessage() {} 3322 3323 func (x *GetTableRequest) ProtoReflect() protoreflect.Message { 3324 mi := &file_gobgp_proto_msgTypes[33] 3325 if protoimpl.UnsafeEnabled && x != nil { 3326 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3327 if ms.LoadMessageInfo() == nil { 3328 ms.StoreMessageInfo(mi) 3329 } 3330 return ms 3331 } 3332 return mi.MessageOf(x) 3333 } 3334 3335 // Deprecated: Use GetTableRequest.ProtoReflect.Descriptor instead. 3336 func (*GetTableRequest) Descriptor() ([]byte, []int) { 3337 return file_gobgp_proto_rawDescGZIP(), []int{33} 3338 } 3339 3340 func (x *GetTableRequest) GetTableType() TableType { 3341 if x != nil { 3342 return x.TableType 3343 } 3344 return TableType_GLOBAL 3345 } 3346 3347 func (x *GetTableRequest) GetFamily() *Family { 3348 if x != nil { 3349 return x.Family 3350 } 3351 return nil 3352 } 3353 3354 func (x *GetTableRequest) GetName() string { 3355 if x != nil { 3356 return x.Name 3357 } 3358 return "" 3359 } 3360 3361 type GetTableResponse struct { 3362 state protoimpl.MessageState 3363 sizeCache protoimpl.SizeCache 3364 unknownFields protoimpl.UnknownFields 3365 3366 NumDestination uint64 `protobuf:"varint,1,opt,name=num_destination,json=numDestination,proto3" json:"num_destination,omitempty"` 3367 NumPath uint64 `protobuf:"varint,2,opt,name=num_path,json=numPath,proto3" json:"num_path,omitempty"` 3368 NumAccepted uint64 `protobuf:"varint,3,opt,name=num_accepted,json=numAccepted,proto3" json:"num_accepted,omitempty"` // only meaningful when type == ADJ_IN 3369 } 3370 3371 func (x *GetTableResponse) Reset() { 3372 *x = GetTableResponse{} 3373 if protoimpl.UnsafeEnabled { 3374 mi := &file_gobgp_proto_msgTypes[34] 3375 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3376 ms.StoreMessageInfo(mi) 3377 } 3378 } 3379 3380 func (x *GetTableResponse) String() string { 3381 return protoimpl.X.MessageStringOf(x) 3382 } 3383 3384 func (*GetTableResponse) ProtoMessage() {} 3385 3386 func (x *GetTableResponse) ProtoReflect() protoreflect.Message { 3387 mi := &file_gobgp_proto_msgTypes[34] 3388 if protoimpl.UnsafeEnabled && x != nil { 3389 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3390 if ms.LoadMessageInfo() == nil { 3391 ms.StoreMessageInfo(mi) 3392 } 3393 return ms 3394 } 3395 return mi.MessageOf(x) 3396 } 3397 3398 // Deprecated: Use GetTableResponse.ProtoReflect.Descriptor instead. 3399 func (*GetTableResponse) Descriptor() ([]byte, []int) { 3400 return file_gobgp_proto_rawDescGZIP(), []int{34} 3401 } 3402 3403 func (x *GetTableResponse) GetNumDestination() uint64 { 3404 if x != nil { 3405 return x.NumDestination 3406 } 3407 return 0 3408 } 3409 3410 func (x *GetTableResponse) GetNumPath() uint64 { 3411 if x != nil { 3412 return x.NumPath 3413 } 3414 return 0 3415 } 3416 3417 func (x *GetTableResponse) GetNumAccepted() uint64 { 3418 if x != nil { 3419 return x.NumAccepted 3420 } 3421 return 0 3422 } 3423 3424 type AddVrfRequest struct { 3425 state protoimpl.MessageState 3426 sizeCache protoimpl.SizeCache 3427 unknownFields protoimpl.UnknownFields 3428 3429 Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"` 3430 } 3431 3432 func (x *AddVrfRequest) Reset() { 3433 *x = AddVrfRequest{} 3434 if protoimpl.UnsafeEnabled { 3435 mi := &file_gobgp_proto_msgTypes[35] 3436 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3437 ms.StoreMessageInfo(mi) 3438 } 3439 } 3440 3441 func (x *AddVrfRequest) String() string { 3442 return protoimpl.X.MessageStringOf(x) 3443 } 3444 3445 func (*AddVrfRequest) ProtoMessage() {} 3446 3447 func (x *AddVrfRequest) ProtoReflect() protoreflect.Message { 3448 mi := &file_gobgp_proto_msgTypes[35] 3449 if protoimpl.UnsafeEnabled && x != nil { 3450 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3451 if ms.LoadMessageInfo() == nil { 3452 ms.StoreMessageInfo(mi) 3453 } 3454 return ms 3455 } 3456 return mi.MessageOf(x) 3457 } 3458 3459 // Deprecated: Use AddVrfRequest.ProtoReflect.Descriptor instead. 3460 func (*AddVrfRequest) Descriptor() ([]byte, []int) { 3461 return file_gobgp_proto_rawDescGZIP(), []int{35} 3462 } 3463 3464 func (x *AddVrfRequest) GetVrf() *Vrf { 3465 if x != nil { 3466 return x.Vrf 3467 } 3468 return nil 3469 } 3470 3471 type DeleteVrfRequest struct { 3472 state protoimpl.MessageState 3473 sizeCache protoimpl.SizeCache 3474 unknownFields protoimpl.UnknownFields 3475 3476 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 3477 } 3478 3479 func (x *DeleteVrfRequest) Reset() { 3480 *x = DeleteVrfRequest{} 3481 if protoimpl.UnsafeEnabled { 3482 mi := &file_gobgp_proto_msgTypes[36] 3483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3484 ms.StoreMessageInfo(mi) 3485 } 3486 } 3487 3488 func (x *DeleteVrfRequest) String() string { 3489 return protoimpl.X.MessageStringOf(x) 3490 } 3491 3492 func (*DeleteVrfRequest) ProtoMessage() {} 3493 3494 func (x *DeleteVrfRequest) ProtoReflect() protoreflect.Message { 3495 mi := &file_gobgp_proto_msgTypes[36] 3496 if protoimpl.UnsafeEnabled && x != nil { 3497 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3498 if ms.LoadMessageInfo() == nil { 3499 ms.StoreMessageInfo(mi) 3500 } 3501 return ms 3502 } 3503 return mi.MessageOf(x) 3504 } 3505 3506 // Deprecated: Use DeleteVrfRequest.ProtoReflect.Descriptor instead. 3507 func (*DeleteVrfRequest) Descriptor() ([]byte, []int) { 3508 return file_gobgp_proto_rawDescGZIP(), []int{36} 3509 } 3510 3511 func (x *DeleteVrfRequest) GetName() string { 3512 if x != nil { 3513 return x.Name 3514 } 3515 return "" 3516 } 3517 3518 type ListVrfRequest struct { 3519 state protoimpl.MessageState 3520 sizeCache protoimpl.SizeCache 3521 unknownFields protoimpl.UnknownFields 3522 3523 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 3524 } 3525 3526 func (x *ListVrfRequest) Reset() { 3527 *x = ListVrfRequest{} 3528 if protoimpl.UnsafeEnabled { 3529 mi := &file_gobgp_proto_msgTypes[37] 3530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3531 ms.StoreMessageInfo(mi) 3532 } 3533 } 3534 3535 func (x *ListVrfRequest) String() string { 3536 return protoimpl.X.MessageStringOf(x) 3537 } 3538 3539 func (*ListVrfRequest) ProtoMessage() {} 3540 3541 func (x *ListVrfRequest) ProtoReflect() protoreflect.Message { 3542 mi := &file_gobgp_proto_msgTypes[37] 3543 if protoimpl.UnsafeEnabled && x != nil { 3544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3545 if ms.LoadMessageInfo() == nil { 3546 ms.StoreMessageInfo(mi) 3547 } 3548 return ms 3549 } 3550 return mi.MessageOf(x) 3551 } 3552 3553 // Deprecated: Use ListVrfRequest.ProtoReflect.Descriptor instead. 3554 func (*ListVrfRequest) Descriptor() ([]byte, []int) { 3555 return file_gobgp_proto_rawDescGZIP(), []int{37} 3556 } 3557 3558 func (x *ListVrfRequest) GetName() string { 3559 if x != nil { 3560 return x.Name 3561 } 3562 return "" 3563 } 3564 3565 type ListVrfResponse struct { 3566 state protoimpl.MessageState 3567 sizeCache protoimpl.SizeCache 3568 unknownFields protoimpl.UnknownFields 3569 3570 Vrf *Vrf `protobuf:"bytes,1,opt,name=vrf,proto3" json:"vrf,omitempty"` 3571 } 3572 3573 func (x *ListVrfResponse) Reset() { 3574 *x = ListVrfResponse{} 3575 if protoimpl.UnsafeEnabled { 3576 mi := &file_gobgp_proto_msgTypes[38] 3577 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3578 ms.StoreMessageInfo(mi) 3579 } 3580 } 3581 3582 func (x *ListVrfResponse) String() string { 3583 return protoimpl.X.MessageStringOf(x) 3584 } 3585 3586 func (*ListVrfResponse) ProtoMessage() {} 3587 3588 func (x *ListVrfResponse) ProtoReflect() protoreflect.Message { 3589 mi := &file_gobgp_proto_msgTypes[38] 3590 if protoimpl.UnsafeEnabled && x != nil { 3591 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3592 if ms.LoadMessageInfo() == nil { 3593 ms.StoreMessageInfo(mi) 3594 } 3595 return ms 3596 } 3597 return mi.MessageOf(x) 3598 } 3599 3600 // Deprecated: Use ListVrfResponse.ProtoReflect.Descriptor instead. 3601 func (*ListVrfResponse) Descriptor() ([]byte, []int) { 3602 return file_gobgp_proto_rawDescGZIP(), []int{38} 3603 } 3604 3605 func (x *ListVrfResponse) GetVrf() *Vrf { 3606 if x != nil { 3607 return x.Vrf 3608 } 3609 return nil 3610 } 3611 3612 type AddPolicyRequest struct { 3613 state protoimpl.MessageState 3614 sizeCache protoimpl.SizeCache 3615 unknownFields protoimpl.UnknownFields 3616 3617 Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` 3618 // if this flag is set, gobgpd won't define new statements 3619 // but refer existing statements using statement's names in this arguments. 3620 ReferExistingStatements bool `protobuf:"varint,2,opt,name=refer_existing_statements,json=referExistingStatements,proto3" json:"refer_existing_statements,omitempty"` 3621 } 3622 3623 func (x *AddPolicyRequest) Reset() { 3624 *x = AddPolicyRequest{} 3625 if protoimpl.UnsafeEnabled { 3626 mi := &file_gobgp_proto_msgTypes[39] 3627 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3628 ms.StoreMessageInfo(mi) 3629 } 3630 } 3631 3632 func (x *AddPolicyRequest) String() string { 3633 return protoimpl.X.MessageStringOf(x) 3634 } 3635 3636 func (*AddPolicyRequest) ProtoMessage() {} 3637 3638 func (x *AddPolicyRequest) ProtoReflect() protoreflect.Message { 3639 mi := &file_gobgp_proto_msgTypes[39] 3640 if protoimpl.UnsafeEnabled && x != nil { 3641 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3642 if ms.LoadMessageInfo() == nil { 3643 ms.StoreMessageInfo(mi) 3644 } 3645 return ms 3646 } 3647 return mi.MessageOf(x) 3648 } 3649 3650 // Deprecated: Use AddPolicyRequest.ProtoReflect.Descriptor instead. 3651 func (*AddPolicyRequest) Descriptor() ([]byte, []int) { 3652 return file_gobgp_proto_rawDescGZIP(), []int{39} 3653 } 3654 3655 func (x *AddPolicyRequest) GetPolicy() *Policy { 3656 if x != nil { 3657 return x.Policy 3658 } 3659 return nil 3660 } 3661 3662 func (x *AddPolicyRequest) GetReferExistingStatements() bool { 3663 if x != nil { 3664 return x.ReferExistingStatements 3665 } 3666 return false 3667 } 3668 3669 type DeletePolicyRequest struct { 3670 state protoimpl.MessageState 3671 sizeCache protoimpl.SizeCache 3672 unknownFields protoimpl.UnknownFields 3673 3674 Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` 3675 // if this flag is set, gobgpd won't delete any statements 3676 // even if some statements get not used by any policy by this operation. 3677 PreserveStatements bool `protobuf:"varint,2,opt,name=preserve_statements,json=preserveStatements,proto3" json:"preserve_statements,omitempty"` 3678 All bool `protobuf:"varint,3,opt,name=all,proto3" json:"all,omitempty"` 3679 } 3680 3681 func (x *DeletePolicyRequest) Reset() { 3682 *x = DeletePolicyRequest{} 3683 if protoimpl.UnsafeEnabled { 3684 mi := &file_gobgp_proto_msgTypes[40] 3685 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3686 ms.StoreMessageInfo(mi) 3687 } 3688 } 3689 3690 func (x *DeletePolicyRequest) String() string { 3691 return protoimpl.X.MessageStringOf(x) 3692 } 3693 3694 func (*DeletePolicyRequest) ProtoMessage() {} 3695 3696 func (x *DeletePolicyRequest) ProtoReflect() protoreflect.Message { 3697 mi := &file_gobgp_proto_msgTypes[40] 3698 if protoimpl.UnsafeEnabled && x != nil { 3699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3700 if ms.LoadMessageInfo() == nil { 3701 ms.StoreMessageInfo(mi) 3702 } 3703 return ms 3704 } 3705 return mi.MessageOf(x) 3706 } 3707 3708 // Deprecated: Use DeletePolicyRequest.ProtoReflect.Descriptor instead. 3709 func (*DeletePolicyRequest) Descriptor() ([]byte, []int) { 3710 return file_gobgp_proto_rawDescGZIP(), []int{40} 3711 } 3712 3713 func (x *DeletePolicyRequest) GetPolicy() *Policy { 3714 if x != nil { 3715 return x.Policy 3716 } 3717 return nil 3718 } 3719 3720 func (x *DeletePolicyRequest) GetPreserveStatements() bool { 3721 if x != nil { 3722 return x.PreserveStatements 3723 } 3724 return false 3725 } 3726 3727 func (x *DeletePolicyRequest) GetAll() bool { 3728 if x != nil { 3729 return x.All 3730 } 3731 return false 3732 } 3733 3734 type ListPolicyRequest struct { 3735 state protoimpl.MessageState 3736 sizeCache protoimpl.SizeCache 3737 unknownFields protoimpl.UnknownFields 3738 3739 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 3740 } 3741 3742 func (x *ListPolicyRequest) Reset() { 3743 *x = ListPolicyRequest{} 3744 if protoimpl.UnsafeEnabled { 3745 mi := &file_gobgp_proto_msgTypes[41] 3746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3747 ms.StoreMessageInfo(mi) 3748 } 3749 } 3750 3751 func (x *ListPolicyRequest) String() string { 3752 return protoimpl.X.MessageStringOf(x) 3753 } 3754 3755 func (*ListPolicyRequest) ProtoMessage() {} 3756 3757 func (x *ListPolicyRequest) ProtoReflect() protoreflect.Message { 3758 mi := &file_gobgp_proto_msgTypes[41] 3759 if protoimpl.UnsafeEnabled && x != nil { 3760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3761 if ms.LoadMessageInfo() == nil { 3762 ms.StoreMessageInfo(mi) 3763 } 3764 return ms 3765 } 3766 return mi.MessageOf(x) 3767 } 3768 3769 // Deprecated: Use ListPolicyRequest.ProtoReflect.Descriptor instead. 3770 func (*ListPolicyRequest) Descriptor() ([]byte, []int) { 3771 return file_gobgp_proto_rawDescGZIP(), []int{41} 3772 } 3773 3774 func (x *ListPolicyRequest) GetName() string { 3775 if x != nil { 3776 return x.Name 3777 } 3778 return "" 3779 } 3780 3781 type ListPolicyResponse struct { 3782 state protoimpl.MessageState 3783 sizeCache protoimpl.SizeCache 3784 unknownFields protoimpl.UnknownFields 3785 3786 Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` 3787 } 3788 3789 func (x *ListPolicyResponse) Reset() { 3790 *x = ListPolicyResponse{} 3791 if protoimpl.UnsafeEnabled { 3792 mi := &file_gobgp_proto_msgTypes[42] 3793 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3794 ms.StoreMessageInfo(mi) 3795 } 3796 } 3797 3798 func (x *ListPolicyResponse) String() string { 3799 return protoimpl.X.MessageStringOf(x) 3800 } 3801 3802 func (*ListPolicyResponse) ProtoMessage() {} 3803 3804 func (x *ListPolicyResponse) ProtoReflect() protoreflect.Message { 3805 mi := &file_gobgp_proto_msgTypes[42] 3806 if protoimpl.UnsafeEnabled && x != nil { 3807 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3808 if ms.LoadMessageInfo() == nil { 3809 ms.StoreMessageInfo(mi) 3810 } 3811 return ms 3812 } 3813 return mi.MessageOf(x) 3814 } 3815 3816 // Deprecated: Use ListPolicyResponse.ProtoReflect.Descriptor instead. 3817 func (*ListPolicyResponse) Descriptor() ([]byte, []int) { 3818 return file_gobgp_proto_rawDescGZIP(), []int{42} 3819 } 3820 3821 func (x *ListPolicyResponse) GetPolicy() *Policy { 3822 if x != nil { 3823 return x.Policy 3824 } 3825 return nil 3826 } 3827 3828 type SetPoliciesRequest struct { 3829 state protoimpl.MessageState 3830 sizeCache protoimpl.SizeCache 3831 unknownFields protoimpl.UnknownFields 3832 3833 DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"` 3834 Policies []*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"` 3835 Assignments []*PolicyAssignment `protobuf:"bytes,3,rep,name=assignments,proto3" json:"assignments,omitempty"` 3836 } 3837 3838 func (x *SetPoliciesRequest) Reset() { 3839 *x = SetPoliciesRequest{} 3840 if protoimpl.UnsafeEnabled { 3841 mi := &file_gobgp_proto_msgTypes[43] 3842 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3843 ms.StoreMessageInfo(mi) 3844 } 3845 } 3846 3847 func (x *SetPoliciesRequest) String() string { 3848 return protoimpl.X.MessageStringOf(x) 3849 } 3850 3851 func (*SetPoliciesRequest) ProtoMessage() {} 3852 3853 func (x *SetPoliciesRequest) ProtoReflect() protoreflect.Message { 3854 mi := &file_gobgp_proto_msgTypes[43] 3855 if protoimpl.UnsafeEnabled && x != nil { 3856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3857 if ms.LoadMessageInfo() == nil { 3858 ms.StoreMessageInfo(mi) 3859 } 3860 return ms 3861 } 3862 return mi.MessageOf(x) 3863 } 3864 3865 // Deprecated: Use SetPoliciesRequest.ProtoReflect.Descriptor instead. 3866 func (*SetPoliciesRequest) Descriptor() ([]byte, []int) { 3867 return file_gobgp_proto_rawDescGZIP(), []int{43} 3868 } 3869 3870 func (x *SetPoliciesRequest) GetDefinedSets() []*DefinedSet { 3871 if x != nil { 3872 return x.DefinedSets 3873 } 3874 return nil 3875 } 3876 3877 func (x *SetPoliciesRequest) GetPolicies() []*Policy { 3878 if x != nil { 3879 return x.Policies 3880 } 3881 return nil 3882 } 3883 3884 func (x *SetPoliciesRequest) GetAssignments() []*PolicyAssignment { 3885 if x != nil { 3886 return x.Assignments 3887 } 3888 return nil 3889 } 3890 3891 type AddDefinedSetRequest struct { 3892 state protoimpl.MessageState 3893 sizeCache protoimpl.SizeCache 3894 unknownFields protoimpl.UnknownFields 3895 3896 DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` 3897 Replace bool `protobuf:"varint,2,opt,name=replace,proto3" json:"replace,omitempty"` 3898 } 3899 3900 func (x *AddDefinedSetRequest) Reset() { 3901 *x = AddDefinedSetRequest{} 3902 if protoimpl.UnsafeEnabled { 3903 mi := &file_gobgp_proto_msgTypes[44] 3904 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3905 ms.StoreMessageInfo(mi) 3906 } 3907 } 3908 3909 func (x *AddDefinedSetRequest) String() string { 3910 return protoimpl.X.MessageStringOf(x) 3911 } 3912 3913 func (*AddDefinedSetRequest) ProtoMessage() {} 3914 3915 func (x *AddDefinedSetRequest) ProtoReflect() protoreflect.Message { 3916 mi := &file_gobgp_proto_msgTypes[44] 3917 if protoimpl.UnsafeEnabled && x != nil { 3918 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3919 if ms.LoadMessageInfo() == nil { 3920 ms.StoreMessageInfo(mi) 3921 } 3922 return ms 3923 } 3924 return mi.MessageOf(x) 3925 } 3926 3927 // Deprecated: Use AddDefinedSetRequest.ProtoReflect.Descriptor instead. 3928 func (*AddDefinedSetRequest) Descriptor() ([]byte, []int) { 3929 return file_gobgp_proto_rawDescGZIP(), []int{44} 3930 } 3931 3932 func (x *AddDefinedSetRequest) GetDefinedSet() *DefinedSet { 3933 if x != nil { 3934 return x.DefinedSet 3935 } 3936 return nil 3937 } 3938 3939 func (x *AddDefinedSetRequest) GetReplace() bool { 3940 if x != nil { 3941 return x.Replace 3942 } 3943 return false 3944 } 3945 3946 type DeleteDefinedSetRequest struct { 3947 state protoimpl.MessageState 3948 sizeCache protoimpl.SizeCache 3949 unknownFields protoimpl.UnknownFields 3950 3951 DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` 3952 All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` 3953 } 3954 3955 func (x *DeleteDefinedSetRequest) Reset() { 3956 *x = DeleteDefinedSetRequest{} 3957 if protoimpl.UnsafeEnabled { 3958 mi := &file_gobgp_proto_msgTypes[45] 3959 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3960 ms.StoreMessageInfo(mi) 3961 } 3962 } 3963 3964 func (x *DeleteDefinedSetRequest) String() string { 3965 return protoimpl.X.MessageStringOf(x) 3966 } 3967 3968 func (*DeleteDefinedSetRequest) ProtoMessage() {} 3969 3970 func (x *DeleteDefinedSetRequest) ProtoReflect() protoreflect.Message { 3971 mi := &file_gobgp_proto_msgTypes[45] 3972 if protoimpl.UnsafeEnabled && x != nil { 3973 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3974 if ms.LoadMessageInfo() == nil { 3975 ms.StoreMessageInfo(mi) 3976 } 3977 return ms 3978 } 3979 return mi.MessageOf(x) 3980 } 3981 3982 // Deprecated: Use DeleteDefinedSetRequest.ProtoReflect.Descriptor instead. 3983 func (*DeleteDefinedSetRequest) Descriptor() ([]byte, []int) { 3984 return file_gobgp_proto_rawDescGZIP(), []int{45} 3985 } 3986 3987 func (x *DeleteDefinedSetRequest) GetDefinedSet() *DefinedSet { 3988 if x != nil { 3989 return x.DefinedSet 3990 } 3991 return nil 3992 } 3993 3994 func (x *DeleteDefinedSetRequest) GetAll() bool { 3995 if x != nil { 3996 return x.All 3997 } 3998 return false 3999 } 4000 4001 type ListDefinedSetRequest struct { 4002 state protoimpl.MessageState 4003 sizeCache protoimpl.SizeCache 4004 unknownFields protoimpl.UnknownFields 4005 4006 DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=apipb.DefinedType" json:"defined_type,omitempty"` 4007 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 4008 } 4009 4010 func (x *ListDefinedSetRequest) Reset() { 4011 *x = ListDefinedSetRequest{} 4012 if protoimpl.UnsafeEnabled { 4013 mi := &file_gobgp_proto_msgTypes[46] 4014 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4015 ms.StoreMessageInfo(mi) 4016 } 4017 } 4018 4019 func (x *ListDefinedSetRequest) String() string { 4020 return protoimpl.X.MessageStringOf(x) 4021 } 4022 4023 func (*ListDefinedSetRequest) ProtoMessage() {} 4024 4025 func (x *ListDefinedSetRequest) ProtoReflect() protoreflect.Message { 4026 mi := &file_gobgp_proto_msgTypes[46] 4027 if protoimpl.UnsafeEnabled && x != nil { 4028 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4029 if ms.LoadMessageInfo() == nil { 4030 ms.StoreMessageInfo(mi) 4031 } 4032 return ms 4033 } 4034 return mi.MessageOf(x) 4035 } 4036 4037 // Deprecated: Use ListDefinedSetRequest.ProtoReflect.Descriptor instead. 4038 func (*ListDefinedSetRequest) Descriptor() ([]byte, []int) { 4039 return file_gobgp_proto_rawDescGZIP(), []int{46} 4040 } 4041 4042 func (x *ListDefinedSetRequest) GetDefinedType() DefinedType { 4043 if x != nil { 4044 return x.DefinedType 4045 } 4046 return DefinedType_PREFIX 4047 } 4048 4049 func (x *ListDefinedSetRequest) GetName() string { 4050 if x != nil { 4051 return x.Name 4052 } 4053 return "" 4054 } 4055 4056 type ListDefinedSetResponse struct { 4057 state protoimpl.MessageState 4058 sizeCache protoimpl.SizeCache 4059 unknownFields protoimpl.UnknownFields 4060 4061 DefinedSet *DefinedSet `protobuf:"bytes,1,opt,name=defined_set,json=definedSet,proto3" json:"defined_set,omitempty"` 4062 } 4063 4064 func (x *ListDefinedSetResponse) Reset() { 4065 *x = ListDefinedSetResponse{} 4066 if protoimpl.UnsafeEnabled { 4067 mi := &file_gobgp_proto_msgTypes[47] 4068 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4069 ms.StoreMessageInfo(mi) 4070 } 4071 } 4072 4073 func (x *ListDefinedSetResponse) String() string { 4074 return protoimpl.X.MessageStringOf(x) 4075 } 4076 4077 func (*ListDefinedSetResponse) ProtoMessage() {} 4078 4079 func (x *ListDefinedSetResponse) ProtoReflect() protoreflect.Message { 4080 mi := &file_gobgp_proto_msgTypes[47] 4081 if protoimpl.UnsafeEnabled && x != nil { 4082 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4083 if ms.LoadMessageInfo() == nil { 4084 ms.StoreMessageInfo(mi) 4085 } 4086 return ms 4087 } 4088 return mi.MessageOf(x) 4089 } 4090 4091 // Deprecated: Use ListDefinedSetResponse.ProtoReflect.Descriptor instead. 4092 func (*ListDefinedSetResponse) Descriptor() ([]byte, []int) { 4093 return file_gobgp_proto_rawDescGZIP(), []int{47} 4094 } 4095 4096 func (x *ListDefinedSetResponse) GetDefinedSet() *DefinedSet { 4097 if x != nil { 4098 return x.DefinedSet 4099 } 4100 return nil 4101 } 4102 4103 type AddStatementRequest struct { 4104 state protoimpl.MessageState 4105 sizeCache protoimpl.SizeCache 4106 unknownFields protoimpl.UnknownFields 4107 4108 Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` 4109 } 4110 4111 func (x *AddStatementRequest) Reset() { 4112 *x = AddStatementRequest{} 4113 if protoimpl.UnsafeEnabled { 4114 mi := &file_gobgp_proto_msgTypes[48] 4115 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4116 ms.StoreMessageInfo(mi) 4117 } 4118 } 4119 4120 func (x *AddStatementRequest) String() string { 4121 return protoimpl.X.MessageStringOf(x) 4122 } 4123 4124 func (*AddStatementRequest) ProtoMessage() {} 4125 4126 func (x *AddStatementRequest) ProtoReflect() protoreflect.Message { 4127 mi := &file_gobgp_proto_msgTypes[48] 4128 if protoimpl.UnsafeEnabled && x != nil { 4129 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4130 if ms.LoadMessageInfo() == nil { 4131 ms.StoreMessageInfo(mi) 4132 } 4133 return ms 4134 } 4135 return mi.MessageOf(x) 4136 } 4137 4138 // Deprecated: Use AddStatementRequest.ProtoReflect.Descriptor instead. 4139 func (*AddStatementRequest) Descriptor() ([]byte, []int) { 4140 return file_gobgp_proto_rawDescGZIP(), []int{48} 4141 } 4142 4143 func (x *AddStatementRequest) GetStatement() *Statement { 4144 if x != nil { 4145 return x.Statement 4146 } 4147 return nil 4148 } 4149 4150 type DeleteStatementRequest struct { 4151 state protoimpl.MessageState 4152 sizeCache protoimpl.SizeCache 4153 unknownFields protoimpl.UnknownFields 4154 4155 Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` 4156 All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` 4157 } 4158 4159 func (x *DeleteStatementRequest) Reset() { 4160 *x = DeleteStatementRequest{} 4161 if protoimpl.UnsafeEnabled { 4162 mi := &file_gobgp_proto_msgTypes[49] 4163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4164 ms.StoreMessageInfo(mi) 4165 } 4166 } 4167 4168 func (x *DeleteStatementRequest) String() string { 4169 return protoimpl.X.MessageStringOf(x) 4170 } 4171 4172 func (*DeleteStatementRequest) ProtoMessage() {} 4173 4174 func (x *DeleteStatementRequest) ProtoReflect() protoreflect.Message { 4175 mi := &file_gobgp_proto_msgTypes[49] 4176 if protoimpl.UnsafeEnabled && x != nil { 4177 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4178 if ms.LoadMessageInfo() == nil { 4179 ms.StoreMessageInfo(mi) 4180 } 4181 return ms 4182 } 4183 return mi.MessageOf(x) 4184 } 4185 4186 // Deprecated: Use DeleteStatementRequest.ProtoReflect.Descriptor instead. 4187 func (*DeleteStatementRequest) Descriptor() ([]byte, []int) { 4188 return file_gobgp_proto_rawDescGZIP(), []int{49} 4189 } 4190 4191 func (x *DeleteStatementRequest) GetStatement() *Statement { 4192 if x != nil { 4193 return x.Statement 4194 } 4195 return nil 4196 } 4197 4198 func (x *DeleteStatementRequest) GetAll() bool { 4199 if x != nil { 4200 return x.All 4201 } 4202 return false 4203 } 4204 4205 type ListStatementRequest struct { 4206 state protoimpl.MessageState 4207 sizeCache protoimpl.SizeCache 4208 unknownFields protoimpl.UnknownFields 4209 4210 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 4211 } 4212 4213 func (x *ListStatementRequest) Reset() { 4214 *x = ListStatementRequest{} 4215 if protoimpl.UnsafeEnabled { 4216 mi := &file_gobgp_proto_msgTypes[50] 4217 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4218 ms.StoreMessageInfo(mi) 4219 } 4220 } 4221 4222 func (x *ListStatementRequest) String() string { 4223 return protoimpl.X.MessageStringOf(x) 4224 } 4225 4226 func (*ListStatementRequest) ProtoMessage() {} 4227 4228 func (x *ListStatementRequest) ProtoReflect() protoreflect.Message { 4229 mi := &file_gobgp_proto_msgTypes[50] 4230 if protoimpl.UnsafeEnabled && x != nil { 4231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4232 if ms.LoadMessageInfo() == nil { 4233 ms.StoreMessageInfo(mi) 4234 } 4235 return ms 4236 } 4237 return mi.MessageOf(x) 4238 } 4239 4240 // Deprecated: Use ListStatementRequest.ProtoReflect.Descriptor instead. 4241 func (*ListStatementRequest) Descriptor() ([]byte, []int) { 4242 return file_gobgp_proto_rawDescGZIP(), []int{50} 4243 } 4244 4245 func (x *ListStatementRequest) GetName() string { 4246 if x != nil { 4247 return x.Name 4248 } 4249 return "" 4250 } 4251 4252 type ListStatementResponse struct { 4253 state protoimpl.MessageState 4254 sizeCache protoimpl.SizeCache 4255 unknownFields protoimpl.UnknownFields 4256 4257 Statement *Statement `protobuf:"bytes,1,opt,name=statement,proto3" json:"statement,omitempty"` 4258 } 4259 4260 func (x *ListStatementResponse) Reset() { 4261 *x = ListStatementResponse{} 4262 if protoimpl.UnsafeEnabled { 4263 mi := &file_gobgp_proto_msgTypes[51] 4264 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4265 ms.StoreMessageInfo(mi) 4266 } 4267 } 4268 4269 func (x *ListStatementResponse) String() string { 4270 return protoimpl.X.MessageStringOf(x) 4271 } 4272 4273 func (*ListStatementResponse) ProtoMessage() {} 4274 4275 func (x *ListStatementResponse) ProtoReflect() protoreflect.Message { 4276 mi := &file_gobgp_proto_msgTypes[51] 4277 if protoimpl.UnsafeEnabled && x != nil { 4278 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4279 if ms.LoadMessageInfo() == nil { 4280 ms.StoreMessageInfo(mi) 4281 } 4282 return ms 4283 } 4284 return mi.MessageOf(x) 4285 } 4286 4287 // Deprecated: Use ListStatementResponse.ProtoReflect.Descriptor instead. 4288 func (*ListStatementResponse) Descriptor() ([]byte, []int) { 4289 return file_gobgp_proto_rawDescGZIP(), []int{51} 4290 } 4291 4292 func (x *ListStatementResponse) GetStatement() *Statement { 4293 if x != nil { 4294 return x.Statement 4295 } 4296 return nil 4297 } 4298 4299 type AddPolicyAssignmentRequest struct { 4300 state protoimpl.MessageState 4301 sizeCache protoimpl.SizeCache 4302 unknownFields protoimpl.UnknownFields 4303 4304 Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` 4305 } 4306 4307 func (x *AddPolicyAssignmentRequest) Reset() { 4308 *x = AddPolicyAssignmentRequest{} 4309 if protoimpl.UnsafeEnabled { 4310 mi := &file_gobgp_proto_msgTypes[52] 4311 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4312 ms.StoreMessageInfo(mi) 4313 } 4314 } 4315 4316 func (x *AddPolicyAssignmentRequest) String() string { 4317 return protoimpl.X.MessageStringOf(x) 4318 } 4319 4320 func (*AddPolicyAssignmentRequest) ProtoMessage() {} 4321 4322 func (x *AddPolicyAssignmentRequest) ProtoReflect() protoreflect.Message { 4323 mi := &file_gobgp_proto_msgTypes[52] 4324 if protoimpl.UnsafeEnabled && x != nil { 4325 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4326 if ms.LoadMessageInfo() == nil { 4327 ms.StoreMessageInfo(mi) 4328 } 4329 return ms 4330 } 4331 return mi.MessageOf(x) 4332 } 4333 4334 // Deprecated: Use AddPolicyAssignmentRequest.ProtoReflect.Descriptor instead. 4335 func (*AddPolicyAssignmentRequest) Descriptor() ([]byte, []int) { 4336 return file_gobgp_proto_rawDescGZIP(), []int{52} 4337 } 4338 4339 func (x *AddPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { 4340 if x != nil { 4341 return x.Assignment 4342 } 4343 return nil 4344 } 4345 4346 type DeletePolicyAssignmentRequest struct { 4347 state protoimpl.MessageState 4348 sizeCache protoimpl.SizeCache 4349 unknownFields protoimpl.UnknownFields 4350 4351 Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` 4352 All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` 4353 } 4354 4355 func (x *DeletePolicyAssignmentRequest) Reset() { 4356 *x = DeletePolicyAssignmentRequest{} 4357 if protoimpl.UnsafeEnabled { 4358 mi := &file_gobgp_proto_msgTypes[53] 4359 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4360 ms.StoreMessageInfo(mi) 4361 } 4362 } 4363 4364 func (x *DeletePolicyAssignmentRequest) String() string { 4365 return protoimpl.X.MessageStringOf(x) 4366 } 4367 4368 func (*DeletePolicyAssignmentRequest) ProtoMessage() {} 4369 4370 func (x *DeletePolicyAssignmentRequest) ProtoReflect() protoreflect.Message { 4371 mi := &file_gobgp_proto_msgTypes[53] 4372 if protoimpl.UnsafeEnabled && x != nil { 4373 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4374 if ms.LoadMessageInfo() == nil { 4375 ms.StoreMessageInfo(mi) 4376 } 4377 return ms 4378 } 4379 return mi.MessageOf(x) 4380 } 4381 4382 // Deprecated: Use DeletePolicyAssignmentRequest.ProtoReflect.Descriptor instead. 4383 func (*DeletePolicyAssignmentRequest) Descriptor() ([]byte, []int) { 4384 return file_gobgp_proto_rawDescGZIP(), []int{53} 4385 } 4386 4387 func (x *DeletePolicyAssignmentRequest) GetAssignment() *PolicyAssignment { 4388 if x != nil { 4389 return x.Assignment 4390 } 4391 return nil 4392 } 4393 4394 func (x *DeletePolicyAssignmentRequest) GetAll() bool { 4395 if x != nil { 4396 return x.All 4397 } 4398 return false 4399 } 4400 4401 type ListPolicyAssignmentRequest struct { 4402 state protoimpl.MessageState 4403 sizeCache protoimpl.SizeCache 4404 unknownFields protoimpl.UnknownFields 4405 4406 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 4407 Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=apipb.PolicyDirection" json:"direction,omitempty"` 4408 } 4409 4410 func (x *ListPolicyAssignmentRequest) Reset() { 4411 *x = ListPolicyAssignmentRequest{} 4412 if protoimpl.UnsafeEnabled { 4413 mi := &file_gobgp_proto_msgTypes[54] 4414 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4415 ms.StoreMessageInfo(mi) 4416 } 4417 } 4418 4419 func (x *ListPolicyAssignmentRequest) String() string { 4420 return protoimpl.X.MessageStringOf(x) 4421 } 4422 4423 func (*ListPolicyAssignmentRequest) ProtoMessage() {} 4424 4425 func (x *ListPolicyAssignmentRequest) ProtoReflect() protoreflect.Message { 4426 mi := &file_gobgp_proto_msgTypes[54] 4427 if protoimpl.UnsafeEnabled && x != nil { 4428 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4429 if ms.LoadMessageInfo() == nil { 4430 ms.StoreMessageInfo(mi) 4431 } 4432 return ms 4433 } 4434 return mi.MessageOf(x) 4435 } 4436 4437 // Deprecated: Use ListPolicyAssignmentRequest.ProtoReflect.Descriptor instead. 4438 func (*ListPolicyAssignmentRequest) Descriptor() ([]byte, []int) { 4439 return file_gobgp_proto_rawDescGZIP(), []int{54} 4440 } 4441 4442 func (x *ListPolicyAssignmentRequest) GetName() string { 4443 if x != nil { 4444 return x.Name 4445 } 4446 return "" 4447 } 4448 4449 func (x *ListPolicyAssignmentRequest) GetDirection() PolicyDirection { 4450 if x != nil { 4451 return x.Direction 4452 } 4453 return PolicyDirection_UNKNOWN 4454 } 4455 4456 type ListPolicyAssignmentResponse struct { 4457 state protoimpl.MessageState 4458 sizeCache protoimpl.SizeCache 4459 unknownFields protoimpl.UnknownFields 4460 4461 Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` 4462 } 4463 4464 func (x *ListPolicyAssignmentResponse) Reset() { 4465 *x = ListPolicyAssignmentResponse{} 4466 if protoimpl.UnsafeEnabled { 4467 mi := &file_gobgp_proto_msgTypes[55] 4468 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4469 ms.StoreMessageInfo(mi) 4470 } 4471 } 4472 4473 func (x *ListPolicyAssignmentResponse) String() string { 4474 return protoimpl.X.MessageStringOf(x) 4475 } 4476 4477 func (*ListPolicyAssignmentResponse) ProtoMessage() {} 4478 4479 func (x *ListPolicyAssignmentResponse) ProtoReflect() protoreflect.Message { 4480 mi := &file_gobgp_proto_msgTypes[55] 4481 if protoimpl.UnsafeEnabled && x != nil { 4482 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4483 if ms.LoadMessageInfo() == nil { 4484 ms.StoreMessageInfo(mi) 4485 } 4486 return ms 4487 } 4488 return mi.MessageOf(x) 4489 } 4490 4491 // Deprecated: Use ListPolicyAssignmentResponse.ProtoReflect.Descriptor instead. 4492 func (*ListPolicyAssignmentResponse) Descriptor() ([]byte, []int) { 4493 return file_gobgp_proto_rawDescGZIP(), []int{55} 4494 } 4495 4496 func (x *ListPolicyAssignmentResponse) GetAssignment() *PolicyAssignment { 4497 if x != nil { 4498 return x.Assignment 4499 } 4500 return nil 4501 } 4502 4503 type SetPolicyAssignmentRequest struct { 4504 state protoimpl.MessageState 4505 sizeCache protoimpl.SizeCache 4506 unknownFields protoimpl.UnknownFields 4507 4508 Assignment *PolicyAssignment `protobuf:"bytes,1,opt,name=assignment,proto3" json:"assignment,omitempty"` 4509 } 4510 4511 func (x *SetPolicyAssignmentRequest) Reset() { 4512 *x = SetPolicyAssignmentRequest{} 4513 if protoimpl.UnsafeEnabled { 4514 mi := &file_gobgp_proto_msgTypes[56] 4515 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4516 ms.StoreMessageInfo(mi) 4517 } 4518 } 4519 4520 func (x *SetPolicyAssignmentRequest) String() string { 4521 return protoimpl.X.MessageStringOf(x) 4522 } 4523 4524 func (*SetPolicyAssignmentRequest) ProtoMessage() {} 4525 4526 func (x *SetPolicyAssignmentRequest) ProtoReflect() protoreflect.Message { 4527 mi := &file_gobgp_proto_msgTypes[56] 4528 if protoimpl.UnsafeEnabled && x != nil { 4529 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4530 if ms.LoadMessageInfo() == nil { 4531 ms.StoreMessageInfo(mi) 4532 } 4533 return ms 4534 } 4535 return mi.MessageOf(x) 4536 } 4537 4538 // Deprecated: Use SetPolicyAssignmentRequest.ProtoReflect.Descriptor instead. 4539 func (*SetPolicyAssignmentRequest) Descriptor() ([]byte, []int) { 4540 return file_gobgp_proto_rawDescGZIP(), []int{56} 4541 } 4542 4543 func (x *SetPolicyAssignmentRequest) GetAssignment() *PolicyAssignment { 4544 if x != nil { 4545 return x.Assignment 4546 } 4547 return nil 4548 } 4549 4550 type AddRpkiRequest struct { 4551 state protoimpl.MessageState 4552 sizeCache protoimpl.SizeCache 4553 unknownFields protoimpl.UnknownFields 4554 4555 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 4556 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 4557 Lifetime int64 `protobuf:"varint,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"` 4558 } 4559 4560 func (x *AddRpkiRequest) Reset() { 4561 *x = AddRpkiRequest{} 4562 if protoimpl.UnsafeEnabled { 4563 mi := &file_gobgp_proto_msgTypes[57] 4564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4565 ms.StoreMessageInfo(mi) 4566 } 4567 } 4568 4569 func (x *AddRpkiRequest) String() string { 4570 return protoimpl.X.MessageStringOf(x) 4571 } 4572 4573 func (*AddRpkiRequest) ProtoMessage() {} 4574 4575 func (x *AddRpkiRequest) ProtoReflect() protoreflect.Message { 4576 mi := &file_gobgp_proto_msgTypes[57] 4577 if protoimpl.UnsafeEnabled && x != nil { 4578 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4579 if ms.LoadMessageInfo() == nil { 4580 ms.StoreMessageInfo(mi) 4581 } 4582 return ms 4583 } 4584 return mi.MessageOf(x) 4585 } 4586 4587 // Deprecated: Use AddRpkiRequest.ProtoReflect.Descriptor instead. 4588 func (*AddRpkiRequest) Descriptor() ([]byte, []int) { 4589 return file_gobgp_proto_rawDescGZIP(), []int{57} 4590 } 4591 4592 func (x *AddRpkiRequest) GetAddress() string { 4593 if x != nil { 4594 return x.Address 4595 } 4596 return "" 4597 } 4598 4599 func (x *AddRpkiRequest) GetPort() uint32 { 4600 if x != nil { 4601 return x.Port 4602 } 4603 return 0 4604 } 4605 4606 func (x *AddRpkiRequest) GetLifetime() int64 { 4607 if x != nil { 4608 return x.Lifetime 4609 } 4610 return 0 4611 } 4612 4613 type DeleteRpkiRequest struct { 4614 state protoimpl.MessageState 4615 sizeCache protoimpl.SizeCache 4616 unknownFields protoimpl.UnknownFields 4617 4618 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 4619 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 4620 } 4621 4622 func (x *DeleteRpkiRequest) Reset() { 4623 *x = DeleteRpkiRequest{} 4624 if protoimpl.UnsafeEnabled { 4625 mi := &file_gobgp_proto_msgTypes[58] 4626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4627 ms.StoreMessageInfo(mi) 4628 } 4629 } 4630 4631 func (x *DeleteRpkiRequest) String() string { 4632 return protoimpl.X.MessageStringOf(x) 4633 } 4634 4635 func (*DeleteRpkiRequest) ProtoMessage() {} 4636 4637 func (x *DeleteRpkiRequest) ProtoReflect() protoreflect.Message { 4638 mi := &file_gobgp_proto_msgTypes[58] 4639 if protoimpl.UnsafeEnabled && x != nil { 4640 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4641 if ms.LoadMessageInfo() == nil { 4642 ms.StoreMessageInfo(mi) 4643 } 4644 return ms 4645 } 4646 return mi.MessageOf(x) 4647 } 4648 4649 // Deprecated: Use DeleteRpkiRequest.ProtoReflect.Descriptor instead. 4650 func (*DeleteRpkiRequest) Descriptor() ([]byte, []int) { 4651 return file_gobgp_proto_rawDescGZIP(), []int{58} 4652 } 4653 4654 func (x *DeleteRpkiRequest) GetAddress() string { 4655 if x != nil { 4656 return x.Address 4657 } 4658 return "" 4659 } 4660 4661 func (x *DeleteRpkiRequest) GetPort() uint32 { 4662 if x != nil { 4663 return x.Port 4664 } 4665 return 0 4666 } 4667 4668 type ListRpkiRequest struct { 4669 state protoimpl.MessageState 4670 sizeCache protoimpl.SizeCache 4671 unknownFields protoimpl.UnknownFields 4672 4673 Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` 4674 } 4675 4676 func (x *ListRpkiRequest) Reset() { 4677 *x = ListRpkiRequest{} 4678 if protoimpl.UnsafeEnabled { 4679 mi := &file_gobgp_proto_msgTypes[59] 4680 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4681 ms.StoreMessageInfo(mi) 4682 } 4683 } 4684 4685 func (x *ListRpkiRequest) String() string { 4686 return protoimpl.X.MessageStringOf(x) 4687 } 4688 4689 func (*ListRpkiRequest) ProtoMessage() {} 4690 4691 func (x *ListRpkiRequest) ProtoReflect() protoreflect.Message { 4692 mi := &file_gobgp_proto_msgTypes[59] 4693 if protoimpl.UnsafeEnabled && x != nil { 4694 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4695 if ms.LoadMessageInfo() == nil { 4696 ms.StoreMessageInfo(mi) 4697 } 4698 return ms 4699 } 4700 return mi.MessageOf(x) 4701 } 4702 4703 // Deprecated: Use ListRpkiRequest.ProtoReflect.Descriptor instead. 4704 func (*ListRpkiRequest) Descriptor() ([]byte, []int) { 4705 return file_gobgp_proto_rawDescGZIP(), []int{59} 4706 } 4707 4708 func (x *ListRpkiRequest) GetFamily() *Family { 4709 if x != nil { 4710 return x.Family 4711 } 4712 return nil 4713 } 4714 4715 type ListRpkiResponse struct { 4716 state protoimpl.MessageState 4717 sizeCache protoimpl.SizeCache 4718 unknownFields protoimpl.UnknownFields 4719 4720 Server *Rpki `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` 4721 } 4722 4723 func (x *ListRpkiResponse) Reset() { 4724 *x = ListRpkiResponse{} 4725 if protoimpl.UnsafeEnabled { 4726 mi := &file_gobgp_proto_msgTypes[60] 4727 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4728 ms.StoreMessageInfo(mi) 4729 } 4730 } 4731 4732 func (x *ListRpkiResponse) String() string { 4733 return protoimpl.X.MessageStringOf(x) 4734 } 4735 4736 func (*ListRpkiResponse) ProtoMessage() {} 4737 4738 func (x *ListRpkiResponse) ProtoReflect() protoreflect.Message { 4739 mi := &file_gobgp_proto_msgTypes[60] 4740 if protoimpl.UnsafeEnabled && x != nil { 4741 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4742 if ms.LoadMessageInfo() == nil { 4743 ms.StoreMessageInfo(mi) 4744 } 4745 return ms 4746 } 4747 return mi.MessageOf(x) 4748 } 4749 4750 // Deprecated: Use ListRpkiResponse.ProtoReflect.Descriptor instead. 4751 func (*ListRpkiResponse) Descriptor() ([]byte, []int) { 4752 return file_gobgp_proto_rawDescGZIP(), []int{60} 4753 } 4754 4755 func (x *ListRpkiResponse) GetServer() *Rpki { 4756 if x != nil { 4757 return x.Server 4758 } 4759 return nil 4760 } 4761 4762 type EnableRpkiRequest struct { 4763 state protoimpl.MessageState 4764 sizeCache protoimpl.SizeCache 4765 unknownFields protoimpl.UnknownFields 4766 4767 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 4768 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 4769 } 4770 4771 func (x *EnableRpkiRequest) Reset() { 4772 *x = EnableRpkiRequest{} 4773 if protoimpl.UnsafeEnabled { 4774 mi := &file_gobgp_proto_msgTypes[61] 4775 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4776 ms.StoreMessageInfo(mi) 4777 } 4778 } 4779 4780 func (x *EnableRpkiRequest) String() string { 4781 return protoimpl.X.MessageStringOf(x) 4782 } 4783 4784 func (*EnableRpkiRequest) ProtoMessage() {} 4785 4786 func (x *EnableRpkiRequest) ProtoReflect() protoreflect.Message { 4787 mi := &file_gobgp_proto_msgTypes[61] 4788 if protoimpl.UnsafeEnabled && x != nil { 4789 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4790 if ms.LoadMessageInfo() == nil { 4791 ms.StoreMessageInfo(mi) 4792 } 4793 return ms 4794 } 4795 return mi.MessageOf(x) 4796 } 4797 4798 // Deprecated: Use EnableRpkiRequest.ProtoReflect.Descriptor instead. 4799 func (*EnableRpkiRequest) Descriptor() ([]byte, []int) { 4800 return file_gobgp_proto_rawDescGZIP(), []int{61} 4801 } 4802 4803 func (x *EnableRpkiRequest) GetAddress() string { 4804 if x != nil { 4805 return x.Address 4806 } 4807 return "" 4808 } 4809 4810 func (x *EnableRpkiRequest) GetPort() uint32 { 4811 if x != nil { 4812 return x.Port 4813 } 4814 return 0 4815 } 4816 4817 type DisableRpkiRequest struct { 4818 state protoimpl.MessageState 4819 sizeCache protoimpl.SizeCache 4820 unknownFields protoimpl.UnknownFields 4821 4822 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 4823 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 4824 } 4825 4826 func (x *DisableRpkiRequest) Reset() { 4827 *x = DisableRpkiRequest{} 4828 if protoimpl.UnsafeEnabled { 4829 mi := &file_gobgp_proto_msgTypes[62] 4830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4831 ms.StoreMessageInfo(mi) 4832 } 4833 } 4834 4835 func (x *DisableRpkiRequest) String() string { 4836 return protoimpl.X.MessageStringOf(x) 4837 } 4838 4839 func (*DisableRpkiRequest) ProtoMessage() {} 4840 4841 func (x *DisableRpkiRequest) ProtoReflect() protoreflect.Message { 4842 mi := &file_gobgp_proto_msgTypes[62] 4843 if protoimpl.UnsafeEnabled && x != nil { 4844 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4845 if ms.LoadMessageInfo() == nil { 4846 ms.StoreMessageInfo(mi) 4847 } 4848 return ms 4849 } 4850 return mi.MessageOf(x) 4851 } 4852 4853 // Deprecated: Use DisableRpkiRequest.ProtoReflect.Descriptor instead. 4854 func (*DisableRpkiRequest) Descriptor() ([]byte, []int) { 4855 return file_gobgp_proto_rawDescGZIP(), []int{62} 4856 } 4857 4858 func (x *DisableRpkiRequest) GetAddress() string { 4859 if x != nil { 4860 return x.Address 4861 } 4862 return "" 4863 } 4864 4865 func (x *DisableRpkiRequest) GetPort() uint32 { 4866 if x != nil { 4867 return x.Port 4868 } 4869 return 0 4870 } 4871 4872 type ResetRpkiRequest struct { 4873 state protoimpl.MessageState 4874 sizeCache protoimpl.SizeCache 4875 unknownFields protoimpl.UnknownFields 4876 4877 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 4878 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 4879 Soft bool `protobuf:"varint,3,opt,name=soft,proto3" json:"soft,omitempty"` 4880 } 4881 4882 func (x *ResetRpkiRequest) Reset() { 4883 *x = ResetRpkiRequest{} 4884 if protoimpl.UnsafeEnabled { 4885 mi := &file_gobgp_proto_msgTypes[63] 4886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4887 ms.StoreMessageInfo(mi) 4888 } 4889 } 4890 4891 func (x *ResetRpkiRequest) String() string { 4892 return protoimpl.X.MessageStringOf(x) 4893 } 4894 4895 func (*ResetRpkiRequest) ProtoMessage() {} 4896 4897 func (x *ResetRpkiRequest) ProtoReflect() protoreflect.Message { 4898 mi := &file_gobgp_proto_msgTypes[63] 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 ResetRpkiRequest.ProtoReflect.Descriptor instead. 4910 func (*ResetRpkiRequest) Descriptor() ([]byte, []int) { 4911 return file_gobgp_proto_rawDescGZIP(), []int{63} 4912 } 4913 4914 func (x *ResetRpkiRequest) GetAddress() string { 4915 if x != nil { 4916 return x.Address 4917 } 4918 return "" 4919 } 4920 4921 func (x *ResetRpkiRequest) GetPort() uint32 { 4922 if x != nil { 4923 return x.Port 4924 } 4925 return 0 4926 } 4927 4928 func (x *ResetRpkiRequest) GetSoft() bool { 4929 if x != nil { 4930 return x.Soft 4931 } 4932 return false 4933 } 4934 4935 type ListRpkiTableRequest struct { 4936 state protoimpl.MessageState 4937 sizeCache protoimpl.SizeCache 4938 unknownFields protoimpl.UnknownFields 4939 4940 Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` 4941 } 4942 4943 func (x *ListRpkiTableRequest) Reset() { 4944 *x = ListRpkiTableRequest{} 4945 if protoimpl.UnsafeEnabled { 4946 mi := &file_gobgp_proto_msgTypes[64] 4947 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4948 ms.StoreMessageInfo(mi) 4949 } 4950 } 4951 4952 func (x *ListRpkiTableRequest) String() string { 4953 return protoimpl.X.MessageStringOf(x) 4954 } 4955 4956 func (*ListRpkiTableRequest) ProtoMessage() {} 4957 4958 func (x *ListRpkiTableRequest) ProtoReflect() protoreflect.Message { 4959 mi := &file_gobgp_proto_msgTypes[64] 4960 if protoimpl.UnsafeEnabled && x != nil { 4961 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4962 if ms.LoadMessageInfo() == nil { 4963 ms.StoreMessageInfo(mi) 4964 } 4965 return ms 4966 } 4967 return mi.MessageOf(x) 4968 } 4969 4970 // Deprecated: Use ListRpkiTableRequest.ProtoReflect.Descriptor instead. 4971 func (*ListRpkiTableRequest) Descriptor() ([]byte, []int) { 4972 return file_gobgp_proto_rawDescGZIP(), []int{64} 4973 } 4974 4975 func (x *ListRpkiTableRequest) GetFamily() *Family { 4976 if x != nil { 4977 return x.Family 4978 } 4979 return nil 4980 } 4981 4982 type ListRpkiTableResponse struct { 4983 state protoimpl.MessageState 4984 sizeCache protoimpl.SizeCache 4985 unknownFields protoimpl.UnknownFields 4986 4987 Roa *Roa `protobuf:"bytes,1,opt,name=roa,proto3" json:"roa,omitempty"` 4988 } 4989 4990 func (x *ListRpkiTableResponse) Reset() { 4991 *x = ListRpkiTableResponse{} 4992 if protoimpl.UnsafeEnabled { 4993 mi := &file_gobgp_proto_msgTypes[65] 4994 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4995 ms.StoreMessageInfo(mi) 4996 } 4997 } 4998 4999 func (x *ListRpkiTableResponse) String() string { 5000 return protoimpl.X.MessageStringOf(x) 5001 } 5002 5003 func (*ListRpkiTableResponse) ProtoMessage() {} 5004 5005 func (x *ListRpkiTableResponse) ProtoReflect() protoreflect.Message { 5006 mi := &file_gobgp_proto_msgTypes[65] 5007 if protoimpl.UnsafeEnabled && x != nil { 5008 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5009 if ms.LoadMessageInfo() == nil { 5010 ms.StoreMessageInfo(mi) 5011 } 5012 return ms 5013 } 5014 return mi.MessageOf(x) 5015 } 5016 5017 // Deprecated: Use ListRpkiTableResponse.ProtoReflect.Descriptor instead. 5018 func (*ListRpkiTableResponse) Descriptor() ([]byte, []int) { 5019 return file_gobgp_proto_rawDescGZIP(), []int{65} 5020 } 5021 5022 func (x *ListRpkiTableResponse) GetRoa() *Roa { 5023 if x != nil { 5024 return x.Roa 5025 } 5026 return nil 5027 } 5028 5029 type EnableZebraRequest struct { 5030 state protoimpl.MessageState 5031 sizeCache protoimpl.SizeCache 5032 unknownFields protoimpl.UnknownFields 5033 5034 Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` 5035 RouteTypes []string `protobuf:"bytes,2,rep,name=route_types,json=routeTypes,proto3" json:"route_types,omitempty"` 5036 Version uint32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"` 5037 NexthopTriggerEnable bool `protobuf:"varint,4,opt,name=nexthop_trigger_enable,json=nexthopTriggerEnable,proto3" json:"nexthop_trigger_enable,omitempty"` 5038 NexthopTriggerDelay uint32 `protobuf:"varint,5,opt,name=nexthop_trigger_delay,json=nexthopTriggerDelay,proto3" json:"nexthop_trigger_delay,omitempty"` 5039 MplsLabelRangeSize uint32 `protobuf:"varint,6,opt,name=mpls_label_range_size,json=mplsLabelRangeSize,proto3" json:"mpls_label_range_size,omitempty"` 5040 SoftwareName string `protobuf:"bytes,7,opt,name=software_name,json=softwareName,proto3" json:"software_name,omitempty"` 5041 } 5042 5043 func (x *EnableZebraRequest) Reset() { 5044 *x = EnableZebraRequest{} 5045 if protoimpl.UnsafeEnabled { 5046 mi := &file_gobgp_proto_msgTypes[66] 5047 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5048 ms.StoreMessageInfo(mi) 5049 } 5050 } 5051 5052 func (x *EnableZebraRequest) String() string { 5053 return protoimpl.X.MessageStringOf(x) 5054 } 5055 5056 func (*EnableZebraRequest) ProtoMessage() {} 5057 5058 func (x *EnableZebraRequest) ProtoReflect() protoreflect.Message { 5059 mi := &file_gobgp_proto_msgTypes[66] 5060 if protoimpl.UnsafeEnabled && x != nil { 5061 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5062 if ms.LoadMessageInfo() == nil { 5063 ms.StoreMessageInfo(mi) 5064 } 5065 return ms 5066 } 5067 return mi.MessageOf(x) 5068 } 5069 5070 // Deprecated: Use EnableZebraRequest.ProtoReflect.Descriptor instead. 5071 func (*EnableZebraRequest) Descriptor() ([]byte, []int) { 5072 return file_gobgp_proto_rawDescGZIP(), []int{66} 5073 } 5074 5075 func (x *EnableZebraRequest) GetUrl() string { 5076 if x != nil { 5077 return x.Url 5078 } 5079 return "" 5080 } 5081 5082 func (x *EnableZebraRequest) GetRouteTypes() []string { 5083 if x != nil { 5084 return x.RouteTypes 5085 } 5086 return nil 5087 } 5088 5089 func (x *EnableZebraRequest) GetVersion() uint32 { 5090 if x != nil { 5091 return x.Version 5092 } 5093 return 0 5094 } 5095 5096 func (x *EnableZebraRequest) GetNexthopTriggerEnable() bool { 5097 if x != nil { 5098 return x.NexthopTriggerEnable 5099 } 5100 return false 5101 } 5102 5103 func (x *EnableZebraRequest) GetNexthopTriggerDelay() uint32 { 5104 if x != nil { 5105 return x.NexthopTriggerDelay 5106 } 5107 return 0 5108 } 5109 5110 func (x *EnableZebraRequest) GetMplsLabelRangeSize() uint32 { 5111 if x != nil { 5112 return x.MplsLabelRangeSize 5113 } 5114 return 0 5115 } 5116 5117 func (x *EnableZebraRequest) GetSoftwareName() string { 5118 if x != nil { 5119 return x.SoftwareName 5120 } 5121 return "" 5122 } 5123 5124 type EnableMrtRequest struct { 5125 state protoimpl.MessageState 5126 sizeCache protoimpl.SizeCache 5127 unknownFields protoimpl.UnknownFields 5128 5129 Type EnableMrtRequest_DumpType `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.EnableMrtRequest_DumpType" json:"type,omitempty"` 5130 Filename string `protobuf:"bytes,2,opt,name=filename,proto3" json:"filename,omitempty"` 5131 DumpInterval uint64 `protobuf:"varint,3,opt,name=dump_interval,json=dumpInterval,proto3" json:"dump_interval,omitempty"` 5132 RotationInterval uint64 `protobuf:"varint,4,opt,name=rotation_interval,json=rotationInterval,proto3" json:"rotation_interval,omitempty"` 5133 } 5134 5135 func (x *EnableMrtRequest) Reset() { 5136 *x = EnableMrtRequest{} 5137 if protoimpl.UnsafeEnabled { 5138 mi := &file_gobgp_proto_msgTypes[67] 5139 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5140 ms.StoreMessageInfo(mi) 5141 } 5142 } 5143 5144 func (x *EnableMrtRequest) String() string { 5145 return protoimpl.X.MessageStringOf(x) 5146 } 5147 5148 func (*EnableMrtRequest) ProtoMessage() {} 5149 5150 func (x *EnableMrtRequest) ProtoReflect() protoreflect.Message { 5151 mi := &file_gobgp_proto_msgTypes[67] 5152 if protoimpl.UnsafeEnabled && x != nil { 5153 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5154 if ms.LoadMessageInfo() == nil { 5155 ms.StoreMessageInfo(mi) 5156 } 5157 return ms 5158 } 5159 return mi.MessageOf(x) 5160 } 5161 5162 // Deprecated: Use EnableMrtRequest.ProtoReflect.Descriptor instead. 5163 func (*EnableMrtRequest) Descriptor() ([]byte, []int) { 5164 return file_gobgp_proto_rawDescGZIP(), []int{67} 5165 } 5166 5167 func (x *EnableMrtRequest) GetType() EnableMrtRequest_DumpType { 5168 if x != nil { 5169 return x.Type 5170 } 5171 return EnableMrtRequest_UPDATES 5172 } 5173 5174 func (x *EnableMrtRequest) GetFilename() string { 5175 if x != nil { 5176 return x.Filename 5177 } 5178 return "" 5179 } 5180 5181 func (x *EnableMrtRequest) GetDumpInterval() uint64 { 5182 if x != nil { 5183 return x.DumpInterval 5184 } 5185 return 0 5186 } 5187 5188 func (x *EnableMrtRequest) GetRotationInterval() uint64 { 5189 if x != nil { 5190 return x.RotationInterval 5191 } 5192 return 0 5193 } 5194 5195 type DisableMrtRequest struct { 5196 state protoimpl.MessageState 5197 sizeCache protoimpl.SizeCache 5198 unknownFields protoimpl.UnknownFields 5199 5200 Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"` 5201 } 5202 5203 func (x *DisableMrtRequest) Reset() { 5204 *x = DisableMrtRequest{} 5205 if protoimpl.UnsafeEnabled { 5206 mi := &file_gobgp_proto_msgTypes[68] 5207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5208 ms.StoreMessageInfo(mi) 5209 } 5210 } 5211 5212 func (x *DisableMrtRequest) String() string { 5213 return protoimpl.X.MessageStringOf(x) 5214 } 5215 5216 func (*DisableMrtRequest) ProtoMessage() {} 5217 5218 func (x *DisableMrtRequest) ProtoReflect() protoreflect.Message { 5219 mi := &file_gobgp_proto_msgTypes[68] 5220 if protoimpl.UnsafeEnabled && x != nil { 5221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5222 if ms.LoadMessageInfo() == nil { 5223 ms.StoreMessageInfo(mi) 5224 } 5225 return ms 5226 } 5227 return mi.MessageOf(x) 5228 } 5229 5230 // Deprecated: Use DisableMrtRequest.ProtoReflect.Descriptor instead. 5231 func (*DisableMrtRequest) Descriptor() ([]byte, []int) { 5232 return file_gobgp_proto_rawDescGZIP(), []int{68} 5233 } 5234 5235 func (x *DisableMrtRequest) GetFilename() string { 5236 if x != nil { 5237 return x.Filename 5238 } 5239 return "" 5240 } 5241 5242 type AddBmpRequest struct { 5243 state protoimpl.MessageState 5244 sizeCache protoimpl.SizeCache 5245 unknownFields protoimpl.UnknownFields 5246 5247 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 5248 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 5249 Policy AddBmpRequest_MonitoringPolicy `protobuf:"varint,3,opt,name=policy,proto3,enum=apipb.AddBmpRequest_MonitoringPolicy" json:"policy,omitempty"` 5250 StatisticsTimeout int32 `protobuf:"varint,4,opt,name=StatisticsTimeout,proto3" json:"StatisticsTimeout,omitempty"` 5251 SysName string `protobuf:"bytes,5,opt,name=SysName,proto3" json:"SysName,omitempty"` 5252 SysDescr string `protobuf:"bytes,6,opt,name=SysDescr,proto3" json:"SysDescr,omitempty"` 5253 } 5254 5255 func (x *AddBmpRequest) Reset() { 5256 *x = AddBmpRequest{} 5257 if protoimpl.UnsafeEnabled { 5258 mi := &file_gobgp_proto_msgTypes[69] 5259 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5260 ms.StoreMessageInfo(mi) 5261 } 5262 } 5263 5264 func (x *AddBmpRequest) String() string { 5265 return protoimpl.X.MessageStringOf(x) 5266 } 5267 5268 func (*AddBmpRequest) ProtoMessage() {} 5269 5270 func (x *AddBmpRequest) ProtoReflect() protoreflect.Message { 5271 mi := &file_gobgp_proto_msgTypes[69] 5272 if protoimpl.UnsafeEnabled && x != nil { 5273 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5274 if ms.LoadMessageInfo() == nil { 5275 ms.StoreMessageInfo(mi) 5276 } 5277 return ms 5278 } 5279 return mi.MessageOf(x) 5280 } 5281 5282 // Deprecated: Use AddBmpRequest.ProtoReflect.Descriptor instead. 5283 func (*AddBmpRequest) Descriptor() ([]byte, []int) { 5284 return file_gobgp_proto_rawDescGZIP(), []int{69} 5285 } 5286 5287 func (x *AddBmpRequest) GetAddress() string { 5288 if x != nil { 5289 return x.Address 5290 } 5291 return "" 5292 } 5293 5294 func (x *AddBmpRequest) GetPort() uint32 { 5295 if x != nil { 5296 return x.Port 5297 } 5298 return 0 5299 } 5300 5301 func (x *AddBmpRequest) GetPolicy() AddBmpRequest_MonitoringPolicy { 5302 if x != nil { 5303 return x.Policy 5304 } 5305 return AddBmpRequest_PRE 5306 } 5307 5308 func (x *AddBmpRequest) GetStatisticsTimeout() int32 { 5309 if x != nil { 5310 return x.StatisticsTimeout 5311 } 5312 return 0 5313 } 5314 5315 func (x *AddBmpRequest) GetSysName() string { 5316 if x != nil { 5317 return x.SysName 5318 } 5319 return "" 5320 } 5321 5322 func (x *AddBmpRequest) GetSysDescr() string { 5323 if x != nil { 5324 return x.SysDescr 5325 } 5326 return "" 5327 } 5328 5329 type DeleteBmpRequest struct { 5330 state protoimpl.MessageState 5331 sizeCache protoimpl.SizeCache 5332 unknownFields protoimpl.UnknownFields 5333 5334 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 5335 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 5336 } 5337 5338 func (x *DeleteBmpRequest) Reset() { 5339 *x = DeleteBmpRequest{} 5340 if protoimpl.UnsafeEnabled { 5341 mi := &file_gobgp_proto_msgTypes[70] 5342 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5343 ms.StoreMessageInfo(mi) 5344 } 5345 } 5346 5347 func (x *DeleteBmpRequest) String() string { 5348 return protoimpl.X.MessageStringOf(x) 5349 } 5350 5351 func (*DeleteBmpRequest) ProtoMessage() {} 5352 5353 func (x *DeleteBmpRequest) ProtoReflect() protoreflect.Message { 5354 mi := &file_gobgp_proto_msgTypes[70] 5355 if protoimpl.UnsafeEnabled && x != nil { 5356 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5357 if ms.LoadMessageInfo() == nil { 5358 ms.StoreMessageInfo(mi) 5359 } 5360 return ms 5361 } 5362 return mi.MessageOf(x) 5363 } 5364 5365 // Deprecated: Use DeleteBmpRequest.ProtoReflect.Descriptor instead. 5366 func (*DeleteBmpRequest) Descriptor() ([]byte, []int) { 5367 return file_gobgp_proto_rawDescGZIP(), []int{70} 5368 } 5369 5370 func (x *DeleteBmpRequest) GetAddress() string { 5371 if x != nil { 5372 return x.Address 5373 } 5374 return "" 5375 } 5376 5377 func (x *DeleteBmpRequest) GetPort() uint32 { 5378 if x != nil { 5379 return x.Port 5380 } 5381 return 0 5382 } 5383 5384 type ListBmpRequest struct { 5385 state protoimpl.MessageState 5386 sizeCache protoimpl.SizeCache 5387 unknownFields protoimpl.UnknownFields 5388 } 5389 5390 func (x *ListBmpRequest) Reset() { 5391 *x = ListBmpRequest{} 5392 if protoimpl.UnsafeEnabled { 5393 mi := &file_gobgp_proto_msgTypes[71] 5394 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5395 ms.StoreMessageInfo(mi) 5396 } 5397 } 5398 5399 func (x *ListBmpRequest) String() string { 5400 return protoimpl.X.MessageStringOf(x) 5401 } 5402 5403 func (*ListBmpRequest) ProtoMessage() {} 5404 5405 func (x *ListBmpRequest) ProtoReflect() protoreflect.Message { 5406 mi := &file_gobgp_proto_msgTypes[71] 5407 if protoimpl.UnsafeEnabled && x != nil { 5408 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5409 if ms.LoadMessageInfo() == nil { 5410 ms.StoreMessageInfo(mi) 5411 } 5412 return ms 5413 } 5414 return mi.MessageOf(x) 5415 } 5416 5417 // Deprecated: Use ListBmpRequest.ProtoReflect.Descriptor instead. 5418 func (*ListBmpRequest) Descriptor() ([]byte, []int) { 5419 return file_gobgp_proto_rawDescGZIP(), []int{71} 5420 } 5421 5422 type ListBmpResponse struct { 5423 state protoimpl.MessageState 5424 sizeCache protoimpl.SizeCache 5425 unknownFields protoimpl.UnknownFields 5426 5427 Station *ListBmpResponse_BmpStation `protobuf:"bytes,1,opt,name=station,proto3" json:"station,omitempty"` 5428 } 5429 5430 func (x *ListBmpResponse) Reset() { 5431 *x = ListBmpResponse{} 5432 if protoimpl.UnsafeEnabled { 5433 mi := &file_gobgp_proto_msgTypes[72] 5434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5435 ms.StoreMessageInfo(mi) 5436 } 5437 } 5438 5439 func (x *ListBmpResponse) String() string { 5440 return protoimpl.X.MessageStringOf(x) 5441 } 5442 5443 func (*ListBmpResponse) ProtoMessage() {} 5444 5445 func (x *ListBmpResponse) ProtoReflect() protoreflect.Message { 5446 mi := &file_gobgp_proto_msgTypes[72] 5447 if protoimpl.UnsafeEnabled && x != nil { 5448 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5449 if ms.LoadMessageInfo() == nil { 5450 ms.StoreMessageInfo(mi) 5451 } 5452 return ms 5453 } 5454 return mi.MessageOf(x) 5455 } 5456 5457 // Deprecated: Use ListBmpResponse.ProtoReflect.Descriptor instead. 5458 func (*ListBmpResponse) Descriptor() ([]byte, []int) { 5459 return file_gobgp_proto_rawDescGZIP(), []int{72} 5460 } 5461 5462 func (x *ListBmpResponse) GetStation() *ListBmpResponse_BmpStation { 5463 if x != nil { 5464 return x.Station 5465 } 5466 return nil 5467 } 5468 5469 type Family struct { 5470 state protoimpl.MessageState 5471 sizeCache protoimpl.SizeCache 5472 unknownFields protoimpl.UnknownFields 5473 5474 Afi Family_Afi `protobuf:"varint,1,opt,name=afi,proto3,enum=apipb.Family_Afi" json:"afi,omitempty"` 5475 Safi Family_Safi `protobuf:"varint,2,opt,name=safi,proto3,enum=apipb.Family_Safi" json:"safi,omitempty"` 5476 } 5477 5478 func (x *Family) Reset() { 5479 *x = Family{} 5480 if protoimpl.UnsafeEnabled { 5481 mi := &file_gobgp_proto_msgTypes[73] 5482 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5483 ms.StoreMessageInfo(mi) 5484 } 5485 } 5486 5487 func (x *Family) String() string { 5488 return protoimpl.X.MessageStringOf(x) 5489 } 5490 5491 func (*Family) ProtoMessage() {} 5492 5493 func (x *Family) ProtoReflect() protoreflect.Message { 5494 mi := &file_gobgp_proto_msgTypes[73] 5495 if protoimpl.UnsafeEnabled && x != nil { 5496 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5497 if ms.LoadMessageInfo() == nil { 5498 ms.StoreMessageInfo(mi) 5499 } 5500 return ms 5501 } 5502 return mi.MessageOf(x) 5503 } 5504 5505 // Deprecated: Use Family.ProtoReflect.Descriptor instead. 5506 func (*Family) Descriptor() ([]byte, []int) { 5507 return file_gobgp_proto_rawDescGZIP(), []int{73} 5508 } 5509 5510 func (x *Family) GetAfi() Family_Afi { 5511 if x != nil { 5512 return x.Afi 5513 } 5514 return Family_AFI_UNKNOWN 5515 } 5516 5517 func (x *Family) GetSafi() Family_Safi { 5518 if x != nil { 5519 return x.Safi 5520 } 5521 return Family_SAFI_UNKNOWN 5522 } 5523 5524 type Validation struct { 5525 state protoimpl.MessageState 5526 sizeCache protoimpl.SizeCache 5527 unknownFields protoimpl.UnknownFields 5528 5529 State Validation_State `protobuf:"varint,1,opt,name=state,proto3,enum=apipb.Validation_State" json:"state,omitempty"` 5530 Reason Validation_Reason `protobuf:"varint,2,opt,name=reason,proto3,enum=apipb.Validation_Reason" json:"reason,omitempty"` 5531 Matched []*Roa `protobuf:"bytes,3,rep,name=matched,proto3" json:"matched,omitempty"` 5532 UnmatchedAsn []*Roa `protobuf:"bytes,4,rep,name=unmatched_asn,json=unmatchedAsn,proto3" json:"unmatched_asn,omitempty"` 5533 UnmatchedLength []*Roa `protobuf:"bytes,5,rep,name=unmatched_length,json=unmatchedLength,proto3" json:"unmatched_length,omitempty"` 5534 } 5535 5536 func (x *Validation) Reset() { 5537 *x = Validation{} 5538 if protoimpl.UnsafeEnabled { 5539 mi := &file_gobgp_proto_msgTypes[74] 5540 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5541 ms.StoreMessageInfo(mi) 5542 } 5543 } 5544 5545 func (x *Validation) String() string { 5546 return protoimpl.X.MessageStringOf(x) 5547 } 5548 5549 func (*Validation) ProtoMessage() {} 5550 5551 func (x *Validation) ProtoReflect() protoreflect.Message { 5552 mi := &file_gobgp_proto_msgTypes[74] 5553 if protoimpl.UnsafeEnabled && x != nil { 5554 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5555 if ms.LoadMessageInfo() == nil { 5556 ms.StoreMessageInfo(mi) 5557 } 5558 return ms 5559 } 5560 return mi.MessageOf(x) 5561 } 5562 5563 // Deprecated: Use Validation.ProtoReflect.Descriptor instead. 5564 func (*Validation) Descriptor() ([]byte, []int) { 5565 return file_gobgp_proto_rawDescGZIP(), []int{74} 5566 } 5567 5568 func (x *Validation) GetState() Validation_State { 5569 if x != nil { 5570 return x.State 5571 } 5572 return Validation_STATE_NONE 5573 } 5574 5575 func (x *Validation) GetReason() Validation_Reason { 5576 if x != nil { 5577 return x.Reason 5578 } 5579 return Validation_REASON_NONE 5580 } 5581 5582 func (x *Validation) GetMatched() []*Roa { 5583 if x != nil { 5584 return x.Matched 5585 } 5586 return nil 5587 } 5588 5589 func (x *Validation) GetUnmatchedAsn() []*Roa { 5590 if x != nil { 5591 return x.UnmatchedAsn 5592 } 5593 return nil 5594 } 5595 5596 func (x *Validation) GetUnmatchedLength() []*Roa { 5597 if x != nil { 5598 return x.UnmatchedLength 5599 } 5600 return nil 5601 } 5602 5603 type Path struct { 5604 state protoimpl.MessageState 5605 sizeCache protoimpl.SizeCache 5606 unknownFields protoimpl.UnknownFields 5607 5608 // One of the following defined in "api/attribute.proto": 5609 // - IPAddressPrefix 5610 // - LabeledIPAddressPrefix 5611 // - EncapsulationNLRI 5612 // - VPLSNLRI 5613 // - EVPNEthernetAutoDiscoveryRoute 5614 // - EVPNMACIPAdvertisementRoute 5615 // - EVPNInclusiveMulticastEthernetTagRoute 5616 // - EVPNEthernetSegmentRoute 5617 // - EVPNIPPrefixRoute 5618 // - EVPNIPMSIRoute 5619 // - LabeledVPNIPAddressPrefix 5620 // - RouteTargetMembershipNLRI 5621 // - FlowSpecNLRI 5622 // - VPNFlowSpecNLRI 5623 // - OpaqueNLRI 5624 // - LsAddrPrefix 5625 // - SRPolicyNLRI 5626 // - MUPInterworkSegmentDiscoveryRoute 5627 // - MUPDirectSegmentDiscoveryRoute 5628 // - MUPType1SessionTransformedRoute 5629 // - MUPType2SessionTransformedRoute 5630 Nlri *anypb.Any `protobuf:"bytes,1,opt,name=nlri,proto3" json:"nlri,omitempty"` 5631 // Each attribute must be one of *Attribute defined in 5632 // "api/attribute.proto". 5633 Pattrs []*anypb.Any `protobuf:"bytes,2,rep,name=pattrs,proto3" json:"pattrs,omitempty"` 5634 Age *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=age,proto3" json:"age,omitempty"` 5635 Best bool `protobuf:"varint,4,opt,name=best,proto3" json:"best,omitempty"` 5636 IsWithdraw bool `protobuf:"varint,5,opt,name=is_withdraw,json=isWithdraw,proto3" json:"is_withdraw,omitempty"` 5637 Validation *Validation `protobuf:"bytes,7,opt,name=validation,proto3" json:"validation,omitempty"` 5638 NoImplicitWithdraw bool `protobuf:"varint,8,opt,name=no_implicit_withdraw,json=noImplicitWithdraw,proto3" json:"no_implicit_withdraw,omitempty"` 5639 Family *Family `protobuf:"bytes,9,opt,name=family,proto3" json:"family,omitempty"` 5640 SourceAsn uint32 `protobuf:"varint,10,opt,name=source_asn,json=sourceAsn,proto3" json:"source_asn,omitempty"` 5641 SourceId string `protobuf:"bytes,11,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` 5642 Filtered bool `protobuf:"varint,12,opt,name=filtered,proto3" json:"filtered,omitempty"` 5643 Stale bool `protobuf:"varint,13,opt,name=stale,proto3" json:"stale,omitempty"` 5644 IsFromExternal bool `protobuf:"varint,14,opt,name=is_from_external,json=isFromExternal,proto3" json:"is_from_external,omitempty"` 5645 NeighborIp string `protobuf:"bytes,15,opt,name=neighbor_ip,json=neighborIp,proto3" json:"neighbor_ip,omitempty"` 5646 Uuid []byte `protobuf:"bytes,16,opt,name=uuid,proto3" json:"uuid,omitempty"` // only paths installed by AddPath API have this 5647 IsNexthopInvalid bool `protobuf:"varint,17,opt,name=is_nexthop_invalid,json=isNexthopInvalid,proto3" json:"is_nexthop_invalid,omitempty"` 5648 Identifier uint32 `protobuf:"varint,18,opt,name=identifier,proto3" json:"identifier,omitempty"` 5649 LocalIdentifier uint32 `protobuf:"varint,19,opt,name=local_identifier,json=localIdentifier,proto3" json:"local_identifier,omitempty"` 5650 NlriBinary []byte `protobuf:"bytes,20,opt,name=nlri_binary,json=nlriBinary,proto3" json:"nlri_binary,omitempty"` 5651 PattrsBinary [][]byte `protobuf:"bytes,21,rep,name=pattrs_binary,json=pattrsBinary,proto3" json:"pattrs_binary,omitempty"` 5652 SendMaxFiltered bool `protobuf:"varint,22,opt,name=send_max_filtered,json=sendMaxFiltered,proto3" json:"send_max_filtered,omitempty"` 5653 } 5654 5655 func (x *Path) Reset() { 5656 *x = Path{} 5657 if protoimpl.UnsafeEnabled { 5658 mi := &file_gobgp_proto_msgTypes[75] 5659 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5660 ms.StoreMessageInfo(mi) 5661 } 5662 } 5663 5664 func (x *Path) String() string { 5665 return protoimpl.X.MessageStringOf(x) 5666 } 5667 5668 func (*Path) ProtoMessage() {} 5669 5670 func (x *Path) ProtoReflect() protoreflect.Message { 5671 mi := &file_gobgp_proto_msgTypes[75] 5672 if protoimpl.UnsafeEnabled && x != nil { 5673 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5674 if ms.LoadMessageInfo() == nil { 5675 ms.StoreMessageInfo(mi) 5676 } 5677 return ms 5678 } 5679 return mi.MessageOf(x) 5680 } 5681 5682 // Deprecated: Use Path.ProtoReflect.Descriptor instead. 5683 func (*Path) Descriptor() ([]byte, []int) { 5684 return file_gobgp_proto_rawDescGZIP(), []int{75} 5685 } 5686 5687 func (x *Path) GetNlri() *anypb.Any { 5688 if x != nil { 5689 return x.Nlri 5690 } 5691 return nil 5692 } 5693 5694 func (x *Path) GetPattrs() []*anypb.Any { 5695 if x != nil { 5696 return x.Pattrs 5697 } 5698 return nil 5699 } 5700 5701 func (x *Path) GetAge() *timestamppb.Timestamp { 5702 if x != nil { 5703 return x.Age 5704 } 5705 return nil 5706 } 5707 5708 func (x *Path) GetBest() bool { 5709 if x != nil { 5710 return x.Best 5711 } 5712 return false 5713 } 5714 5715 func (x *Path) GetIsWithdraw() bool { 5716 if x != nil { 5717 return x.IsWithdraw 5718 } 5719 return false 5720 } 5721 5722 func (x *Path) GetValidation() *Validation { 5723 if x != nil { 5724 return x.Validation 5725 } 5726 return nil 5727 } 5728 5729 func (x *Path) GetNoImplicitWithdraw() bool { 5730 if x != nil { 5731 return x.NoImplicitWithdraw 5732 } 5733 return false 5734 } 5735 5736 func (x *Path) GetFamily() *Family { 5737 if x != nil { 5738 return x.Family 5739 } 5740 return nil 5741 } 5742 5743 func (x *Path) GetSourceAsn() uint32 { 5744 if x != nil { 5745 return x.SourceAsn 5746 } 5747 return 0 5748 } 5749 5750 func (x *Path) GetSourceId() string { 5751 if x != nil { 5752 return x.SourceId 5753 } 5754 return "" 5755 } 5756 5757 func (x *Path) GetFiltered() bool { 5758 if x != nil { 5759 return x.Filtered 5760 } 5761 return false 5762 } 5763 5764 func (x *Path) GetStale() bool { 5765 if x != nil { 5766 return x.Stale 5767 } 5768 return false 5769 } 5770 5771 func (x *Path) GetIsFromExternal() bool { 5772 if x != nil { 5773 return x.IsFromExternal 5774 } 5775 return false 5776 } 5777 5778 func (x *Path) GetNeighborIp() string { 5779 if x != nil { 5780 return x.NeighborIp 5781 } 5782 return "" 5783 } 5784 5785 func (x *Path) GetUuid() []byte { 5786 if x != nil { 5787 return x.Uuid 5788 } 5789 return nil 5790 } 5791 5792 func (x *Path) GetIsNexthopInvalid() bool { 5793 if x != nil { 5794 return x.IsNexthopInvalid 5795 } 5796 return false 5797 } 5798 5799 func (x *Path) GetIdentifier() uint32 { 5800 if x != nil { 5801 return x.Identifier 5802 } 5803 return 0 5804 } 5805 5806 func (x *Path) GetLocalIdentifier() uint32 { 5807 if x != nil { 5808 return x.LocalIdentifier 5809 } 5810 return 0 5811 } 5812 5813 func (x *Path) GetNlriBinary() []byte { 5814 if x != nil { 5815 return x.NlriBinary 5816 } 5817 return nil 5818 } 5819 5820 func (x *Path) GetPattrsBinary() [][]byte { 5821 if x != nil { 5822 return x.PattrsBinary 5823 } 5824 return nil 5825 } 5826 5827 func (x *Path) GetSendMaxFiltered() bool { 5828 if x != nil { 5829 return x.SendMaxFiltered 5830 } 5831 return false 5832 } 5833 5834 type Destination struct { 5835 state protoimpl.MessageState 5836 sizeCache protoimpl.SizeCache 5837 unknownFields protoimpl.UnknownFields 5838 5839 Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` 5840 Paths []*Path `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` 5841 } 5842 5843 func (x *Destination) Reset() { 5844 *x = Destination{} 5845 if protoimpl.UnsafeEnabled { 5846 mi := &file_gobgp_proto_msgTypes[76] 5847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5848 ms.StoreMessageInfo(mi) 5849 } 5850 } 5851 5852 func (x *Destination) String() string { 5853 return protoimpl.X.MessageStringOf(x) 5854 } 5855 5856 func (*Destination) ProtoMessage() {} 5857 5858 func (x *Destination) ProtoReflect() protoreflect.Message { 5859 mi := &file_gobgp_proto_msgTypes[76] 5860 if protoimpl.UnsafeEnabled && x != nil { 5861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5862 if ms.LoadMessageInfo() == nil { 5863 ms.StoreMessageInfo(mi) 5864 } 5865 return ms 5866 } 5867 return mi.MessageOf(x) 5868 } 5869 5870 // Deprecated: Use Destination.ProtoReflect.Descriptor instead. 5871 func (*Destination) Descriptor() ([]byte, []int) { 5872 return file_gobgp_proto_rawDescGZIP(), []int{76} 5873 } 5874 5875 func (x *Destination) GetPrefix() string { 5876 if x != nil { 5877 return x.Prefix 5878 } 5879 return "" 5880 } 5881 5882 func (x *Destination) GetPaths() []*Path { 5883 if x != nil { 5884 return x.Paths 5885 } 5886 return nil 5887 } 5888 5889 type Peer struct { 5890 state protoimpl.MessageState 5891 sizeCache protoimpl.SizeCache 5892 unknownFields protoimpl.UnknownFields 5893 5894 ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` 5895 Conf *PeerConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` 5896 EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"` 5897 RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"` 5898 State *PeerState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` 5899 Timers *Timers `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"` 5900 Transport *Transport `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"` 5901 RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"` 5902 GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` 5903 AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"` 5904 TtlSecurity *TtlSecurity `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"` 5905 } 5906 5907 func (x *Peer) Reset() { 5908 *x = Peer{} 5909 if protoimpl.UnsafeEnabled { 5910 mi := &file_gobgp_proto_msgTypes[77] 5911 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5912 ms.StoreMessageInfo(mi) 5913 } 5914 } 5915 5916 func (x *Peer) String() string { 5917 return protoimpl.X.MessageStringOf(x) 5918 } 5919 5920 func (*Peer) ProtoMessage() {} 5921 5922 func (x *Peer) ProtoReflect() protoreflect.Message { 5923 mi := &file_gobgp_proto_msgTypes[77] 5924 if protoimpl.UnsafeEnabled && x != nil { 5925 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5926 if ms.LoadMessageInfo() == nil { 5927 ms.StoreMessageInfo(mi) 5928 } 5929 return ms 5930 } 5931 return mi.MessageOf(x) 5932 } 5933 5934 // Deprecated: Use Peer.ProtoReflect.Descriptor instead. 5935 func (*Peer) Descriptor() ([]byte, []int) { 5936 return file_gobgp_proto_rawDescGZIP(), []int{77} 5937 } 5938 5939 func (x *Peer) GetApplyPolicy() *ApplyPolicy { 5940 if x != nil { 5941 return x.ApplyPolicy 5942 } 5943 return nil 5944 } 5945 5946 func (x *Peer) GetConf() *PeerConf { 5947 if x != nil { 5948 return x.Conf 5949 } 5950 return nil 5951 } 5952 5953 func (x *Peer) GetEbgpMultihop() *EbgpMultihop { 5954 if x != nil { 5955 return x.EbgpMultihop 5956 } 5957 return nil 5958 } 5959 5960 func (x *Peer) GetRouteReflector() *RouteReflector { 5961 if x != nil { 5962 return x.RouteReflector 5963 } 5964 return nil 5965 } 5966 5967 func (x *Peer) GetState() *PeerState { 5968 if x != nil { 5969 return x.State 5970 } 5971 return nil 5972 } 5973 5974 func (x *Peer) GetTimers() *Timers { 5975 if x != nil { 5976 return x.Timers 5977 } 5978 return nil 5979 } 5980 5981 func (x *Peer) GetTransport() *Transport { 5982 if x != nil { 5983 return x.Transport 5984 } 5985 return nil 5986 } 5987 5988 func (x *Peer) GetRouteServer() *RouteServer { 5989 if x != nil { 5990 return x.RouteServer 5991 } 5992 return nil 5993 } 5994 5995 func (x *Peer) GetGracefulRestart() *GracefulRestart { 5996 if x != nil { 5997 return x.GracefulRestart 5998 } 5999 return nil 6000 } 6001 6002 func (x *Peer) GetAfiSafis() []*AfiSafi { 6003 if x != nil { 6004 return x.AfiSafis 6005 } 6006 return nil 6007 } 6008 6009 func (x *Peer) GetTtlSecurity() *TtlSecurity { 6010 if x != nil { 6011 return x.TtlSecurity 6012 } 6013 return nil 6014 } 6015 6016 type PeerGroup struct { 6017 state protoimpl.MessageState 6018 sizeCache protoimpl.SizeCache 6019 unknownFields protoimpl.UnknownFields 6020 6021 ApplyPolicy *ApplyPolicy `protobuf:"bytes,1,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` 6022 Conf *PeerGroupConf `protobuf:"bytes,2,opt,name=conf,proto3" json:"conf,omitempty"` 6023 EbgpMultihop *EbgpMultihop `protobuf:"bytes,3,opt,name=ebgp_multihop,json=ebgpMultihop,proto3" json:"ebgp_multihop,omitempty"` 6024 RouteReflector *RouteReflector `protobuf:"bytes,4,opt,name=route_reflector,json=routeReflector,proto3" json:"route_reflector,omitempty"` 6025 Info *PeerGroupState `protobuf:"bytes,5,opt,name=info,proto3" json:"info,omitempty"` 6026 Timers *Timers `protobuf:"bytes,6,opt,name=timers,proto3" json:"timers,omitempty"` 6027 Transport *Transport `protobuf:"bytes,7,opt,name=transport,proto3" json:"transport,omitempty"` 6028 RouteServer *RouteServer `protobuf:"bytes,8,opt,name=route_server,json=routeServer,proto3" json:"route_server,omitempty"` 6029 GracefulRestart *GracefulRestart `protobuf:"bytes,9,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` 6030 AfiSafis []*AfiSafi `protobuf:"bytes,10,rep,name=afi_safis,json=afiSafis,proto3" json:"afi_safis,omitempty"` 6031 TtlSecurity *TtlSecurity `protobuf:"bytes,11,opt,name=ttl_security,json=ttlSecurity,proto3" json:"ttl_security,omitempty"` 6032 } 6033 6034 func (x *PeerGroup) Reset() { 6035 *x = PeerGroup{} 6036 if protoimpl.UnsafeEnabled { 6037 mi := &file_gobgp_proto_msgTypes[78] 6038 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6039 ms.StoreMessageInfo(mi) 6040 } 6041 } 6042 6043 func (x *PeerGroup) String() string { 6044 return protoimpl.X.MessageStringOf(x) 6045 } 6046 6047 func (*PeerGroup) ProtoMessage() {} 6048 6049 func (x *PeerGroup) ProtoReflect() protoreflect.Message { 6050 mi := &file_gobgp_proto_msgTypes[78] 6051 if protoimpl.UnsafeEnabled && x != nil { 6052 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6053 if ms.LoadMessageInfo() == nil { 6054 ms.StoreMessageInfo(mi) 6055 } 6056 return ms 6057 } 6058 return mi.MessageOf(x) 6059 } 6060 6061 // Deprecated: Use PeerGroup.ProtoReflect.Descriptor instead. 6062 func (*PeerGroup) Descriptor() ([]byte, []int) { 6063 return file_gobgp_proto_rawDescGZIP(), []int{78} 6064 } 6065 6066 func (x *PeerGroup) GetApplyPolicy() *ApplyPolicy { 6067 if x != nil { 6068 return x.ApplyPolicy 6069 } 6070 return nil 6071 } 6072 6073 func (x *PeerGroup) GetConf() *PeerGroupConf { 6074 if x != nil { 6075 return x.Conf 6076 } 6077 return nil 6078 } 6079 6080 func (x *PeerGroup) GetEbgpMultihop() *EbgpMultihop { 6081 if x != nil { 6082 return x.EbgpMultihop 6083 } 6084 return nil 6085 } 6086 6087 func (x *PeerGroup) GetRouteReflector() *RouteReflector { 6088 if x != nil { 6089 return x.RouteReflector 6090 } 6091 return nil 6092 } 6093 6094 func (x *PeerGroup) GetInfo() *PeerGroupState { 6095 if x != nil { 6096 return x.Info 6097 } 6098 return nil 6099 } 6100 6101 func (x *PeerGroup) GetTimers() *Timers { 6102 if x != nil { 6103 return x.Timers 6104 } 6105 return nil 6106 } 6107 6108 func (x *PeerGroup) GetTransport() *Transport { 6109 if x != nil { 6110 return x.Transport 6111 } 6112 return nil 6113 } 6114 6115 func (x *PeerGroup) GetRouteServer() *RouteServer { 6116 if x != nil { 6117 return x.RouteServer 6118 } 6119 return nil 6120 } 6121 6122 func (x *PeerGroup) GetGracefulRestart() *GracefulRestart { 6123 if x != nil { 6124 return x.GracefulRestart 6125 } 6126 return nil 6127 } 6128 6129 func (x *PeerGroup) GetAfiSafis() []*AfiSafi { 6130 if x != nil { 6131 return x.AfiSafis 6132 } 6133 return nil 6134 } 6135 6136 func (x *PeerGroup) GetTtlSecurity() *TtlSecurity { 6137 if x != nil { 6138 return x.TtlSecurity 6139 } 6140 return nil 6141 } 6142 6143 type DynamicNeighbor struct { 6144 state protoimpl.MessageState 6145 sizeCache protoimpl.SizeCache 6146 unknownFields protoimpl.UnknownFields 6147 6148 Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"` 6149 PeerGroup string `protobuf:"bytes,2,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 6150 } 6151 6152 func (x *DynamicNeighbor) Reset() { 6153 *x = DynamicNeighbor{} 6154 if protoimpl.UnsafeEnabled { 6155 mi := &file_gobgp_proto_msgTypes[79] 6156 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6157 ms.StoreMessageInfo(mi) 6158 } 6159 } 6160 6161 func (x *DynamicNeighbor) String() string { 6162 return protoimpl.X.MessageStringOf(x) 6163 } 6164 6165 func (*DynamicNeighbor) ProtoMessage() {} 6166 6167 func (x *DynamicNeighbor) ProtoReflect() protoreflect.Message { 6168 mi := &file_gobgp_proto_msgTypes[79] 6169 if protoimpl.UnsafeEnabled && x != nil { 6170 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6171 if ms.LoadMessageInfo() == nil { 6172 ms.StoreMessageInfo(mi) 6173 } 6174 return ms 6175 } 6176 return mi.MessageOf(x) 6177 } 6178 6179 // Deprecated: Use DynamicNeighbor.ProtoReflect.Descriptor instead. 6180 func (*DynamicNeighbor) Descriptor() ([]byte, []int) { 6181 return file_gobgp_proto_rawDescGZIP(), []int{79} 6182 } 6183 6184 func (x *DynamicNeighbor) GetPrefix() string { 6185 if x != nil { 6186 return x.Prefix 6187 } 6188 return "" 6189 } 6190 6191 func (x *DynamicNeighbor) GetPeerGroup() string { 6192 if x != nil { 6193 return x.PeerGroup 6194 } 6195 return "" 6196 } 6197 6198 type ApplyPolicy struct { 6199 state protoimpl.MessageState 6200 sizeCache protoimpl.SizeCache 6201 unknownFields protoimpl.UnknownFields 6202 6203 InPolicy *PolicyAssignment `protobuf:"bytes,1,opt,name=in_policy,json=inPolicy,proto3" json:"in_policy,omitempty"` 6204 ExportPolicy *PolicyAssignment `protobuf:"bytes,2,opt,name=export_policy,json=exportPolicy,proto3" json:"export_policy,omitempty"` 6205 ImportPolicy *PolicyAssignment `protobuf:"bytes,3,opt,name=import_policy,json=importPolicy,proto3" json:"import_policy,omitempty"` 6206 } 6207 6208 func (x *ApplyPolicy) Reset() { 6209 *x = ApplyPolicy{} 6210 if protoimpl.UnsafeEnabled { 6211 mi := &file_gobgp_proto_msgTypes[80] 6212 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6213 ms.StoreMessageInfo(mi) 6214 } 6215 } 6216 6217 func (x *ApplyPolicy) String() string { 6218 return protoimpl.X.MessageStringOf(x) 6219 } 6220 6221 func (*ApplyPolicy) ProtoMessage() {} 6222 6223 func (x *ApplyPolicy) ProtoReflect() protoreflect.Message { 6224 mi := &file_gobgp_proto_msgTypes[80] 6225 if protoimpl.UnsafeEnabled && x != nil { 6226 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6227 if ms.LoadMessageInfo() == nil { 6228 ms.StoreMessageInfo(mi) 6229 } 6230 return ms 6231 } 6232 return mi.MessageOf(x) 6233 } 6234 6235 // Deprecated: Use ApplyPolicy.ProtoReflect.Descriptor instead. 6236 func (*ApplyPolicy) Descriptor() ([]byte, []int) { 6237 return file_gobgp_proto_rawDescGZIP(), []int{80} 6238 } 6239 6240 func (x *ApplyPolicy) GetInPolicy() *PolicyAssignment { 6241 if x != nil { 6242 return x.InPolicy 6243 } 6244 return nil 6245 } 6246 6247 func (x *ApplyPolicy) GetExportPolicy() *PolicyAssignment { 6248 if x != nil { 6249 return x.ExportPolicy 6250 } 6251 return nil 6252 } 6253 6254 func (x *ApplyPolicy) GetImportPolicy() *PolicyAssignment { 6255 if x != nil { 6256 return x.ImportPolicy 6257 } 6258 return nil 6259 } 6260 6261 type PrefixLimit struct { 6262 state protoimpl.MessageState 6263 sizeCache protoimpl.SizeCache 6264 unknownFields protoimpl.UnknownFields 6265 6266 Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` 6267 MaxPrefixes uint32 `protobuf:"varint,2,opt,name=max_prefixes,json=maxPrefixes,proto3" json:"max_prefixes,omitempty"` 6268 ShutdownThresholdPct uint32 `protobuf:"varint,3,opt,name=shutdown_threshold_pct,json=shutdownThresholdPct,proto3" json:"shutdown_threshold_pct,omitempty"` 6269 } 6270 6271 func (x *PrefixLimit) Reset() { 6272 *x = PrefixLimit{} 6273 if protoimpl.UnsafeEnabled { 6274 mi := &file_gobgp_proto_msgTypes[81] 6275 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6276 ms.StoreMessageInfo(mi) 6277 } 6278 } 6279 6280 func (x *PrefixLimit) String() string { 6281 return protoimpl.X.MessageStringOf(x) 6282 } 6283 6284 func (*PrefixLimit) ProtoMessage() {} 6285 6286 func (x *PrefixLimit) ProtoReflect() protoreflect.Message { 6287 mi := &file_gobgp_proto_msgTypes[81] 6288 if protoimpl.UnsafeEnabled && x != nil { 6289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6290 if ms.LoadMessageInfo() == nil { 6291 ms.StoreMessageInfo(mi) 6292 } 6293 return ms 6294 } 6295 return mi.MessageOf(x) 6296 } 6297 6298 // Deprecated: Use PrefixLimit.ProtoReflect.Descriptor instead. 6299 func (*PrefixLimit) Descriptor() ([]byte, []int) { 6300 return file_gobgp_proto_rawDescGZIP(), []int{81} 6301 } 6302 6303 func (x *PrefixLimit) GetFamily() *Family { 6304 if x != nil { 6305 return x.Family 6306 } 6307 return nil 6308 } 6309 6310 func (x *PrefixLimit) GetMaxPrefixes() uint32 { 6311 if x != nil { 6312 return x.MaxPrefixes 6313 } 6314 return 0 6315 } 6316 6317 func (x *PrefixLimit) GetShutdownThresholdPct() uint32 { 6318 if x != nil { 6319 return x.ShutdownThresholdPct 6320 } 6321 return 0 6322 } 6323 6324 type PeerConf struct { 6325 state protoimpl.MessageState 6326 sizeCache protoimpl.SizeCache 6327 unknownFields protoimpl.UnknownFields 6328 6329 AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` 6330 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 6331 LocalAsn uint32 `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"` 6332 NeighborAddress string `protobuf:"bytes,4,opt,name=neighbor_address,json=neighborAddress,proto3" json:"neighbor_address,omitempty"` 6333 PeerAsn uint32 `protobuf:"varint,5,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"` 6334 PeerGroup string `protobuf:"bytes,6,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 6335 Type PeerType `protobuf:"varint,7,opt,name=type,proto3,enum=apipb.PeerType" json:"type,omitempty"` 6336 RemovePrivate RemovePrivate `protobuf:"varint,8,opt,name=remove_private,json=removePrivate,proto3,enum=apipb.RemovePrivate" json:"remove_private,omitempty"` 6337 RouteFlapDamping bool `protobuf:"varint,9,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` 6338 SendCommunity uint32 `protobuf:"varint,10,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` 6339 NeighborInterface string `protobuf:"bytes,11,opt,name=neighbor_interface,json=neighborInterface,proto3" json:"neighbor_interface,omitempty"` 6340 Vrf string `protobuf:"bytes,12,opt,name=vrf,proto3" json:"vrf,omitempty"` 6341 AllowOwnAsn uint32 `protobuf:"varint,13,opt,name=allow_own_asn,json=allowOwnAsn,proto3" json:"allow_own_asn,omitempty"` 6342 ReplacePeerAsn bool `protobuf:"varint,14,opt,name=replace_peer_asn,json=replacePeerAsn,proto3" json:"replace_peer_asn,omitempty"` 6343 AdminDown bool `protobuf:"varint,15,opt,name=admin_down,json=adminDown,proto3" json:"admin_down,omitempty"` 6344 SendSoftwareVersion bool `protobuf:"varint,16,opt,name=send_software_version,json=sendSoftwareVersion,proto3" json:"send_software_version,omitempty"` 6345 } 6346 6347 func (x *PeerConf) Reset() { 6348 *x = PeerConf{} 6349 if protoimpl.UnsafeEnabled { 6350 mi := &file_gobgp_proto_msgTypes[82] 6351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6352 ms.StoreMessageInfo(mi) 6353 } 6354 } 6355 6356 func (x *PeerConf) String() string { 6357 return protoimpl.X.MessageStringOf(x) 6358 } 6359 6360 func (*PeerConf) ProtoMessage() {} 6361 6362 func (x *PeerConf) ProtoReflect() protoreflect.Message { 6363 mi := &file_gobgp_proto_msgTypes[82] 6364 if protoimpl.UnsafeEnabled && x != nil { 6365 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6366 if ms.LoadMessageInfo() == nil { 6367 ms.StoreMessageInfo(mi) 6368 } 6369 return ms 6370 } 6371 return mi.MessageOf(x) 6372 } 6373 6374 // Deprecated: Use PeerConf.ProtoReflect.Descriptor instead. 6375 func (*PeerConf) Descriptor() ([]byte, []int) { 6376 return file_gobgp_proto_rawDescGZIP(), []int{82} 6377 } 6378 6379 func (x *PeerConf) GetAuthPassword() string { 6380 if x != nil { 6381 return x.AuthPassword 6382 } 6383 return "" 6384 } 6385 6386 func (x *PeerConf) GetDescription() string { 6387 if x != nil { 6388 return x.Description 6389 } 6390 return "" 6391 } 6392 6393 func (x *PeerConf) GetLocalAsn() uint32 { 6394 if x != nil { 6395 return x.LocalAsn 6396 } 6397 return 0 6398 } 6399 6400 func (x *PeerConf) GetNeighborAddress() string { 6401 if x != nil { 6402 return x.NeighborAddress 6403 } 6404 return "" 6405 } 6406 6407 func (x *PeerConf) GetPeerAsn() uint32 { 6408 if x != nil { 6409 return x.PeerAsn 6410 } 6411 return 0 6412 } 6413 6414 func (x *PeerConf) GetPeerGroup() string { 6415 if x != nil { 6416 return x.PeerGroup 6417 } 6418 return "" 6419 } 6420 6421 func (x *PeerConf) GetType() PeerType { 6422 if x != nil { 6423 return x.Type 6424 } 6425 return PeerType_INTERNAL 6426 } 6427 6428 func (x *PeerConf) GetRemovePrivate() RemovePrivate { 6429 if x != nil { 6430 return x.RemovePrivate 6431 } 6432 return RemovePrivate_REMOVE_NONE 6433 } 6434 6435 func (x *PeerConf) GetRouteFlapDamping() bool { 6436 if x != nil { 6437 return x.RouteFlapDamping 6438 } 6439 return false 6440 } 6441 6442 func (x *PeerConf) GetSendCommunity() uint32 { 6443 if x != nil { 6444 return x.SendCommunity 6445 } 6446 return 0 6447 } 6448 6449 func (x *PeerConf) GetNeighborInterface() string { 6450 if x != nil { 6451 return x.NeighborInterface 6452 } 6453 return "" 6454 } 6455 6456 func (x *PeerConf) GetVrf() string { 6457 if x != nil { 6458 return x.Vrf 6459 } 6460 return "" 6461 } 6462 6463 func (x *PeerConf) GetAllowOwnAsn() uint32 { 6464 if x != nil { 6465 return x.AllowOwnAsn 6466 } 6467 return 0 6468 } 6469 6470 func (x *PeerConf) GetReplacePeerAsn() bool { 6471 if x != nil { 6472 return x.ReplacePeerAsn 6473 } 6474 return false 6475 } 6476 6477 func (x *PeerConf) GetAdminDown() bool { 6478 if x != nil { 6479 return x.AdminDown 6480 } 6481 return false 6482 } 6483 6484 func (x *PeerConf) GetSendSoftwareVersion() bool { 6485 if x != nil { 6486 return x.SendSoftwareVersion 6487 } 6488 return false 6489 } 6490 6491 type PeerGroupConf struct { 6492 state protoimpl.MessageState 6493 sizeCache protoimpl.SizeCache 6494 unknownFields protoimpl.UnknownFields 6495 6496 AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` 6497 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 6498 LocalAsn uint32 `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"` 6499 PeerAsn uint32 `protobuf:"varint,4,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"` 6500 PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` 6501 Type PeerType `protobuf:"varint,6,opt,name=type,proto3,enum=apipb.PeerType" json:"type,omitempty"` 6502 RemovePrivate RemovePrivate `protobuf:"varint,7,opt,name=remove_private,json=removePrivate,proto3,enum=apipb.RemovePrivate" json:"remove_private,omitempty"` 6503 RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` 6504 SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` 6505 SendSoftwareVersion bool `protobuf:"varint,10,opt,name=send_software_version,json=sendSoftwareVersion,proto3" json:"send_software_version,omitempty"` 6506 } 6507 6508 func (x *PeerGroupConf) Reset() { 6509 *x = PeerGroupConf{} 6510 if protoimpl.UnsafeEnabled { 6511 mi := &file_gobgp_proto_msgTypes[83] 6512 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6513 ms.StoreMessageInfo(mi) 6514 } 6515 } 6516 6517 func (x *PeerGroupConf) String() string { 6518 return protoimpl.X.MessageStringOf(x) 6519 } 6520 6521 func (*PeerGroupConf) ProtoMessage() {} 6522 6523 func (x *PeerGroupConf) ProtoReflect() protoreflect.Message { 6524 mi := &file_gobgp_proto_msgTypes[83] 6525 if protoimpl.UnsafeEnabled && x != nil { 6526 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6527 if ms.LoadMessageInfo() == nil { 6528 ms.StoreMessageInfo(mi) 6529 } 6530 return ms 6531 } 6532 return mi.MessageOf(x) 6533 } 6534 6535 // Deprecated: Use PeerGroupConf.ProtoReflect.Descriptor instead. 6536 func (*PeerGroupConf) Descriptor() ([]byte, []int) { 6537 return file_gobgp_proto_rawDescGZIP(), []int{83} 6538 } 6539 6540 func (x *PeerGroupConf) GetAuthPassword() string { 6541 if x != nil { 6542 return x.AuthPassword 6543 } 6544 return "" 6545 } 6546 6547 func (x *PeerGroupConf) GetDescription() string { 6548 if x != nil { 6549 return x.Description 6550 } 6551 return "" 6552 } 6553 6554 func (x *PeerGroupConf) GetLocalAsn() uint32 { 6555 if x != nil { 6556 return x.LocalAsn 6557 } 6558 return 0 6559 } 6560 6561 func (x *PeerGroupConf) GetPeerAsn() uint32 { 6562 if x != nil { 6563 return x.PeerAsn 6564 } 6565 return 0 6566 } 6567 6568 func (x *PeerGroupConf) GetPeerGroupName() string { 6569 if x != nil { 6570 return x.PeerGroupName 6571 } 6572 return "" 6573 } 6574 6575 func (x *PeerGroupConf) GetType() PeerType { 6576 if x != nil { 6577 return x.Type 6578 } 6579 return PeerType_INTERNAL 6580 } 6581 6582 func (x *PeerGroupConf) GetRemovePrivate() RemovePrivate { 6583 if x != nil { 6584 return x.RemovePrivate 6585 } 6586 return RemovePrivate_REMOVE_NONE 6587 } 6588 6589 func (x *PeerGroupConf) GetRouteFlapDamping() bool { 6590 if x != nil { 6591 return x.RouteFlapDamping 6592 } 6593 return false 6594 } 6595 6596 func (x *PeerGroupConf) GetSendCommunity() uint32 { 6597 if x != nil { 6598 return x.SendCommunity 6599 } 6600 return 0 6601 } 6602 6603 func (x *PeerGroupConf) GetSendSoftwareVersion() bool { 6604 if x != nil { 6605 return x.SendSoftwareVersion 6606 } 6607 return false 6608 } 6609 6610 type PeerGroupState struct { 6611 state protoimpl.MessageState 6612 sizeCache protoimpl.SizeCache 6613 unknownFields protoimpl.UnknownFields 6614 6615 AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` 6616 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 6617 LocalAsn uint32 `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"` 6618 PeerAsn uint32 `protobuf:"varint,4,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"` 6619 PeerGroupName string `protobuf:"bytes,5,opt,name=peer_group_name,json=peerGroupName,proto3" json:"peer_group_name,omitempty"` 6620 Type PeerType `protobuf:"varint,6,opt,name=type,proto3,enum=apipb.PeerType" json:"type,omitempty"` 6621 RemovePrivate RemovePrivate `protobuf:"varint,7,opt,name=remove_private,json=removePrivate,proto3,enum=apipb.RemovePrivate" json:"remove_private,omitempty"` 6622 RouteFlapDamping bool `protobuf:"varint,8,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` 6623 SendCommunity uint32 `protobuf:"varint,9,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` 6624 TotalPaths uint32 `protobuf:"varint,10,opt,name=total_paths,json=totalPaths,proto3" json:"total_paths,omitempty"` 6625 TotalPrefixes uint32 `protobuf:"varint,11,opt,name=total_prefixes,json=totalPrefixes,proto3" json:"total_prefixes,omitempty"` 6626 } 6627 6628 func (x *PeerGroupState) Reset() { 6629 *x = PeerGroupState{} 6630 if protoimpl.UnsafeEnabled { 6631 mi := &file_gobgp_proto_msgTypes[84] 6632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6633 ms.StoreMessageInfo(mi) 6634 } 6635 } 6636 6637 func (x *PeerGroupState) String() string { 6638 return protoimpl.X.MessageStringOf(x) 6639 } 6640 6641 func (*PeerGroupState) ProtoMessage() {} 6642 6643 func (x *PeerGroupState) ProtoReflect() protoreflect.Message { 6644 mi := &file_gobgp_proto_msgTypes[84] 6645 if protoimpl.UnsafeEnabled && x != nil { 6646 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6647 if ms.LoadMessageInfo() == nil { 6648 ms.StoreMessageInfo(mi) 6649 } 6650 return ms 6651 } 6652 return mi.MessageOf(x) 6653 } 6654 6655 // Deprecated: Use PeerGroupState.ProtoReflect.Descriptor instead. 6656 func (*PeerGroupState) Descriptor() ([]byte, []int) { 6657 return file_gobgp_proto_rawDescGZIP(), []int{84} 6658 } 6659 6660 func (x *PeerGroupState) GetAuthPassword() string { 6661 if x != nil { 6662 return x.AuthPassword 6663 } 6664 return "" 6665 } 6666 6667 func (x *PeerGroupState) GetDescription() string { 6668 if x != nil { 6669 return x.Description 6670 } 6671 return "" 6672 } 6673 6674 func (x *PeerGroupState) GetLocalAsn() uint32 { 6675 if x != nil { 6676 return x.LocalAsn 6677 } 6678 return 0 6679 } 6680 6681 func (x *PeerGroupState) GetPeerAsn() uint32 { 6682 if x != nil { 6683 return x.PeerAsn 6684 } 6685 return 0 6686 } 6687 6688 func (x *PeerGroupState) GetPeerGroupName() string { 6689 if x != nil { 6690 return x.PeerGroupName 6691 } 6692 return "" 6693 } 6694 6695 func (x *PeerGroupState) GetType() PeerType { 6696 if x != nil { 6697 return x.Type 6698 } 6699 return PeerType_INTERNAL 6700 } 6701 6702 func (x *PeerGroupState) GetRemovePrivate() RemovePrivate { 6703 if x != nil { 6704 return x.RemovePrivate 6705 } 6706 return RemovePrivate_REMOVE_NONE 6707 } 6708 6709 func (x *PeerGroupState) GetRouteFlapDamping() bool { 6710 if x != nil { 6711 return x.RouteFlapDamping 6712 } 6713 return false 6714 } 6715 6716 func (x *PeerGroupState) GetSendCommunity() uint32 { 6717 if x != nil { 6718 return x.SendCommunity 6719 } 6720 return 0 6721 } 6722 6723 func (x *PeerGroupState) GetTotalPaths() uint32 { 6724 if x != nil { 6725 return x.TotalPaths 6726 } 6727 return 0 6728 } 6729 6730 func (x *PeerGroupState) GetTotalPrefixes() uint32 { 6731 if x != nil { 6732 return x.TotalPrefixes 6733 } 6734 return 0 6735 } 6736 6737 type TtlSecurity struct { 6738 state protoimpl.MessageState 6739 sizeCache protoimpl.SizeCache 6740 unknownFields protoimpl.UnknownFields 6741 6742 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 6743 TtlMin uint32 `protobuf:"varint,2,opt,name=ttl_min,json=ttlMin,proto3" json:"ttl_min,omitempty"` 6744 } 6745 6746 func (x *TtlSecurity) Reset() { 6747 *x = TtlSecurity{} 6748 if protoimpl.UnsafeEnabled { 6749 mi := &file_gobgp_proto_msgTypes[85] 6750 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6751 ms.StoreMessageInfo(mi) 6752 } 6753 } 6754 6755 func (x *TtlSecurity) String() string { 6756 return protoimpl.X.MessageStringOf(x) 6757 } 6758 6759 func (*TtlSecurity) ProtoMessage() {} 6760 6761 func (x *TtlSecurity) ProtoReflect() protoreflect.Message { 6762 mi := &file_gobgp_proto_msgTypes[85] 6763 if protoimpl.UnsafeEnabled && x != nil { 6764 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6765 if ms.LoadMessageInfo() == nil { 6766 ms.StoreMessageInfo(mi) 6767 } 6768 return ms 6769 } 6770 return mi.MessageOf(x) 6771 } 6772 6773 // Deprecated: Use TtlSecurity.ProtoReflect.Descriptor instead. 6774 func (*TtlSecurity) Descriptor() ([]byte, []int) { 6775 return file_gobgp_proto_rawDescGZIP(), []int{85} 6776 } 6777 6778 func (x *TtlSecurity) GetEnabled() bool { 6779 if x != nil { 6780 return x.Enabled 6781 } 6782 return false 6783 } 6784 6785 func (x *TtlSecurity) GetTtlMin() uint32 { 6786 if x != nil { 6787 return x.TtlMin 6788 } 6789 return 0 6790 } 6791 6792 type EbgpMultihop struct { 6793 state protoimpl.MessageState 6794 sizeCache protoimpl.SizeCache 6795 unknownFields protoimpl.UnknownFields 6796 6797 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 6798 MultihopTtl uint32 `protobuf:"varint,2,opt,name=multihop_ttl,json=multihopTtl,proto3" json:"multihop_ttl,omitempty"` 6799 } 6800 6801 func (x *EbgpMultihop) Reset() { 6802 *x = EbgpMultihop{} 6803 if protoimpl.UnsafeEnabled { 6804 mi := &file_gobgp_proto_msgTypes[86] 6805 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6806 ms.StoreMessageInfo(mi) 6807 } 6808 } 6809 6810 func (x *EbgpMultihop) String() string { 6811 return protoimpl.X.MessageStringOf(x) 6812 } 6813 6814 func (*EbgpMultihop) ProtoMessage() {} 6815 6816 func (x *EbgpMultihop) ProtoReflect() protoreflect.Message { 6817 mi := &file_gobgp_proto_msgTypes[86] 6818 if protoimpl.UnsafeEnabled && x != nil { 6819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6820 if ms.LoadMessageInfo() == nil { 6821 ms.StoreMessageInfo(mi) 6822 } 6823 return ms 6824 } 6825 return mi.MessageOf(x) 6826 } 6827 6828 // Deprecated: Use EbgpMultihop.ProtoReflect.Descriptor instead. 6829 func (*EbgpMultihop) Descriptor() ([]byte, []int) { 6830 return file_gobgp_proto_rawDescGZIP(), []int{86} 6831 } 6832 6833 func (x *EbgpMultihop) GetEnabled() bool { 6834 if x != nil { 6835 return x.Enabled 6836 } 6837 return false 6838 } 6839 6840 func (x *EbgpMultihop) GetMultihopTtl() uint32 { 6841 if x != nil { 6842 return x.MultihopTtl 6843 } 6844 return 0 6845 } 6846 6847 type RouteReflector struct { 6848 state protoimpl.MessageState 6849 sizeCache protoimpl.SizeCache 6850 unknownFields protoimpl.UnknownFields 6851 6852 RouteReflectorClient bool `protobuf:"varint,1,opt,name=route_reflector_client,json=routeReflectorClient,proto3" json:"route_reflector_client,omitempty"` 6853 RouteReflectorClusterId string `protobuf:"bytes,2,opt,name=route_reflector_cluster_id,json=routeReflectorClusterId,proto3" json:"route_reflector_cluster_id,omitempty"` 6854 } 6855 6856 func (x *RouteReflector) Reset() { 6857 *x = RouteReflector{} 6858 if protoimpl.UnsafeEnabled { 6859 mi := &file_gobgp_proto_msgTypes[87] 6860 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6861 ms.StoreMessageInfo(mi) 6862 } 6863 } 6864 6865 func (x *RouteReflector) String() string { 6866 return protoimpl.X.MessageStringOf(x) 6867 } 6868 6869 func (*RouteReflector) ProtoMessage() {} 6870 6871 func (x *RouteReflector) ProtoReflect() protoreflect.Message { 6872 mi := &file_gobgp_proto_msgTypes[87] 6873 if protoimpl.UnsafeEnabled && x != nil { 6874 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6875 if ms.LoadMessageInfo() == nil { 6876 ms.StoreMessageInfo(mi) 6877 } 6878 return ms 6879 } 6880 return mi.MessageOf(x) 6881 } 6882 6883 // Deprecated: Use RouteReflector.ProtoReflect.Descriptor instead. 6884 func (*RouteReflector) Descriptor() ([]byte, []int) { 6885 return file_gobgp_proto_rawDescGZIP(), []int{87} 6886 } 6887 6888 func (x *RouteReflector) GetRouteReflectorClient() bool { 6889 if x != nil { 6890 return x.RouteReflectorClient 6891 } 6892 return false 6893 } 6894 6895 func (x *RouteReflector) GetRouteReflectorClusterId() string { 6896 if x != nil { 6897 return x.RouteReflectorClusterId 6898 } 6899 return "" 6900 } 6901 6902 type PeerState struct { 6903 state protoimpl.MessageState 6904 sizeCache protoimpl.SizeCache 6905 unknownFields protoimpl.UnknownFields 6906 6907 AuthPassword string `protobuf:"bytes,1,opt,name=auth_password,json=authPassword,proto3" json:"auth_password,omitempty"` 6908 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 6909 LocalAsn uint32 `protobuf:"varint,3,opt,name=local_asn,json=localAsn,proto3" json:"local_asn,omitempty"` 6910 Messages *Messages `protobuf:"bytes,4,opt,name=messages,proto3" json:"messages,omitempty"` 6911 NeighborAddress string `protobuf:"bytes,5,opt,name=neighbor_address,json=neighborAddress,proto3" json:"neighbor_address,omitempty"` 6912 PeerAsn uint32 `protobuf:"varint,6,opt,name=peer_asn,json=peerAsn,proto3" json:"peer_asn,omitempty"` 6913 PeerGroup string `protobuf:"bytes,7,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 6914 Type PeerType `protobuf:"varint,8,opt,name=type,proto3,enum=apipb.PeerType" json:"type,omitempty"` 6915 Queues *Queues `protobuf:"bytes,9,opt,name=queues,proto3" json:"queues,omitempty"` 6916 RemovePrivate RemovePrivate `protobuf:"varint,10,opt,name=remove_private,json=removePrivate,proto3,enum=apipb.RemovePrivate" json:"remove_private,omitempty"` 6917 RouteFlapDamping bool `protobuf:"varint,11,opt,name=route_flap_damping,json=routeFlapDamping,proto3" json:"route_flap_damping,omitempty"` 6918 SendCommunity uint32 `protobuf:"varint,12,opt,name=send_community,json=sendCommunity,proto3" json:"send_community,omitempty"` 6919 SessionState PeerState_SessionState `protobuf:"varint,13,opt,name=session_state,json=sessionState,proto3,enum=apipb.PeerState_SessionState" json:"session_state,omitempty"` 6920 AdminState PeerState_AdminState `protobuf:"varint,15,opt,name=admin_state,json=adminState,proto3,enum=apipb.PeerState_AdminState" json:"admin_state,omitempty"` 6921 OutQ uint32 `protobuf:"varint,16,opt,name=out_q,json=outQ,proto3" json:"out_q,omitempty"` 6922 Flops uint32 `protobuf:"varint,17,opt,name=flops,proto3" json:"flops,omitempty"` 6923 // Each attribute must be one of *Capability defined in 6924 // "api/capability.proto". 6925 RemoteCap []*anypb.Any `protobuf:"bytes,18,rep,name=remote_cap,json=remoteCap,proto3" json:"remote_cap,omitempty"` 6926 LocalCap []*anypb.Any `protobuf:"bytes,19,rep,name=local_cap,json=localCap,proto3" json:"local_cap,omitempty"` 6927 RouterId string `protobuf:"bytes,20,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` 6928 } 6929 6930 func (x *PeerState) Reset() { 6931 *x = PeerState{} 6932 if protoimpl.UnsafeEnabled { 6933 mi := &file_gobgp_proto_msgTypes[88] 6934 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6935 ms.StoreMessageInfo(mi) 6936 } 6937 } 6938 6939 func (x *PeerState) String() string { 6940 return protoimpl.X.MessageStringOf(x) 6941 } 6942 6943 func (*PeerState) ProtoMessage() {} 6944 6945 func (x *PeerState) ProtoReflect() protoreflect.Message { 6946 mi := &file_gobgp_proto_msgTypes[88] 6947 if protoimpl.UnsafeEnabled && x != nil { 6948 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6949 if ms.LoadMessageInfo() == nil { 6950 ms.StoreMessageInfo(mi) 6951 } 6952 return ms 6953 } 6954 return mi.MessageOf(x) 6955 } 6956 6957 // Deprecated: Use PeerState.ProtoReflect.Descriptor instead. 6958 func (*PeerState) Descriptor() ([]byte, []int) { 6959 return file_gobgp_proto_rawDescGZIP(), []int{88} 6960 } 6961 6962 func (x *PeerState) GetAuthPassword() string { 6963 if x != nil { 6964 return x.AuthPassword 6965 } 6966 return "" 6967 } 6968 6969 func (x *PeerState) GetDescription() string { 6970 if x != nil { 6971 return x.Description 6972 } 6973 return "" 6974 } 6975 6976 func (x *PeerState) GetLocalAsn() uint32 { 6977 if x != nil { 6978 return x.LocalAsn 6979 } 6980 return 0 6981 } 6982 6983 func (x *PeerState) GetMessages() *Messages { 6984 if x != nil { 6985 return x.Messages 6986 } 6987 return nil 6988 } 6989 6990 func (x *PeerState) GetNeighborAddress() string { 6991 if x != nil { 6992 return x.NeighborAddress 6993 } 6994 return "" 6995 } 6996 6997 func (x *PeerState) GetPeerAsn() uint32 { 6998 if x != nil { 6999 return x.PeerAsn 7000 } 7001 return 0 7002 } 7003 7004 func (x *PeerState) GetPeerGroup() string { 7005 if x != nil { 7006 return x.PeerGroup 7007 } 7008 return "" 7009 } 7010 7011 func (x *PeerState) GetType() PeerType { 7012 if x != nil { 7013 return x.Type 7014 } 7015 return PeerType_INTERNAL 7016 } 7017 7018 func (x *PeerState) GetQueues() *Queues { 7019 if x != nil { 7020 return x.Queues 7021 } 7022 return nil 7023 } 7024 7025 func (x *PeerState) GetRemovePrivate() RemovePrivate { 7026 if x != nil { 7027 return x.RemovePrivate 7028 } 7029 return RemovePrivate_REMOVE_NONE 7030 } 7031 7032 func (x *PeerState) GetRouteFlapDamping() bool { 7033 if x != nil { 7034 return x.RouteFlapDamping 7035 } 7036 return false 7037 } 7038 7039 func (x *PeerState) GetSendCommunity() uint32 { 7040 if x != nil { 7041 return x.SendCommunity 7042 } 7043 return 0 7044 } 7045 7046 func (x *PeerState) GetSessionState() PeerState_SessionState { 7047 if x != nil { 7048 return x.SessionState 7049 } 7050 return PeerState_UNKNOWN 7051 } 7052 7053 func (x *PeerState) GetAdminState() PeerState_AdminState { 7054 if x != nil { 7055 return x.AdminState 7056 } 7057 return PeerState_UP 7058 } 7059 7060 func (x *PeerState) GetOutQ() uint32 { 7061 if x != nil { 7062 return x.OutQ 7063 } 7064 return 0 7065 } 7066 7067 func (x *PeerState) GetFlops() uint32 { 7068 if x != nil { 7069 return x.Flops 7070 } 7071 return 0 7072 } 7073 7074 func (x *PeerState) GetRemoteCap() []*anypb.Any { 7075 if x != nil { 7076 return x.RemoteCap 7077 } 7078 return nil 7079 } 7080 7081 func (x *PeerState) GetLocalCap() []*anypb.Any { 7082 if x != nil { 7083 return x.LocalCap 7084 } 7085 return nil 7086 } 7087 7088 func (x *PeerState) GetRouterId() string { 7089 if x != nil { 7090 return x.RouterId 7091 } 7092 return "" 7093 } 7094 7095 type Messages struct { 7096 state protoimpl.MessageState 7097 sizeCache protoimpl.SizeCache 7098 unknownFields protoimpl.UnknownFields 7099 7100 Received *Message `protobuf:"bytes,1,opt,name=received,proto3" json:"received,omitempty"` 7101 Sent *Message `protobuf:"bytes,2,opt,name=sent,proto3" json:"sent,omitempty"` 7102 } 7103 7104 func (x *Messages) Reset() { 7105 *x = Messages{} 7106 if protoimpl.UnsafeEnabled { 7107 mi := &file_gobgp_proto_msgTypes[89] 7108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7109 ms.StoreMessageInfo(mi) 7110 } 7111 } 7112 7113 func (x *Messages) String() string { 7114 return protoimpl.X.MessageStringOf(x) 7115 } 7116 7117 func (*Messages) ProtoMessage() {} 7118 7119 func (x *Messages) ProtoReflect() protoreflect.Message { 7120 mi := &file_gobgp_proto_msgTypes[89] 7121 if protoimpl.UnsafeEnabled && x != nil { 7122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7123 if ms.LoadMessageInfo() == nil { 7124 ms.StoreMessageInfo(mi) 7125 } 7126 return ms 7127 } 7128 return mi.MessageOf(x) 7129 } 7130 7131 // Deprecated: Use Messages.ProtoReflect.Descriptor instead. 7132 func (*Messages) Descriptor() ([]byte, []int) { 7133 return file_gobgp_proto_rawDescGZIP(), []int{89} 7134 } 7135 7136 func (x *Messages) GetReceived() *Message { 7137 if x != nil { 7138 return x.Received 7139 } 7140 return nil 7141 } 7142 7143 func (x *Messages) GetSent() *Message { 7144 if x != nil { 7145 return x.Sent 7146 } 7147 return nil 7148 } 7149 7150 type Message struct { 7151 state protoimpl.MessageState 7152 sizeCache protoimpl.SizeCache 7153 unknownFields protoimpl.UnknownFields 7154 7155 Notification uint64 `protobuf:"varint,1,opt,name=notification,proto3" json:"notification,omitempty"` 7156 Update uint64 `protobuf:"varint,2,opt,name=update,proto3" json:"update,omitempty"` 7157 Open uint64 `protobuf:"varint,3,opt,name=open,proto3" json:"open,omitempty"` 7158 Keepalive uint64 `protobuf:"varint,4,opt,name=keepalive,proto3" json:"keepalive,omitempty"` 7159 Refresh uint64 `protobuf:"varint,5,opt,name=refresh,proto3" json:"refresh,omitempty"` 7160 Discarded uint64 `protobuf:"varint,6,opt,name=discarded,proto3" json:"discarded,omitempty"` 7161 Total uint64 `protobuf:"varint,7,opt,name=total,proto3" json:"total,omitempty"` 7162 WithdrawUpdate uint64 `protobuf:"varint,8,opt,name=withdraw_update,json=withdrawUpdate,proto3" json:"withdraw_update,omitempty"` 7163 WithdrawPrefix uint64 `protobuf:"varint,9,opt,name=withdraw_prefix,json=withdrawPrefix,proto3" json:"withdraw_prefix,omitempty"` 7164 } 7165 7166 func (x *Message) Reset() { 7167 *x = Message{} 7168 if protoimpl.UnsafeEnabled { 7169 mi := &file_gobgp_proto_msgTypes[90] 7170 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7171 ms.StoreMessageInfo(mi) 7172 } 7173 } 7174 7175 func (x *Message) String() string { 7176 return protoimpl.X.MessageStringOf(x) 7177 } 7178 7179 func (*Message) ProtoMessage() {} 7180 7181 func (x *Message) ProtoReflect() protoreflect.Message { 7182 mi := &file_gobgp_proto_msgTypes[90] 7183 if protoimpl.UnsafeEnabled && x != nil { 7184 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7185 if ms.LoadMessageInfo() == nil { 7186 ms.StoreMessageInfo(mi) 7187 } 7188 return ms 7189 } 7190 return mi.MessageOf(x) 7191 } 7192 7193 // Deprecated: Use Message.ProtoReflect.Descriptor instead. 7194 func (*Message) Descriptor() ([]byte, []int) { 7195 return file_gobgp_proto_rawDescGZIP(), []int{90} 7196 } 7197 7198 func (x *Message) GetNotification() uint64 { 7199 if x != nil { 7200 return x.Notification 7201 } 7202 return 0 7203 } 7204 7205 func (x *Message) GetUpdate() uint64 { 7206 if x != nil { 7207 return x.Update 7208 } 7209 return 0 7210 } 7211 7212 func (x *Message) GetOpen() uint64 { 7213 if x != nil { 7214 return x.Open 7215 } 7216 return 0 7217 } 7218 7219 func (x *Message) GetKeepalive() uint64 { 7220 if x != nil { 7221 return x.Keepalive 7222 } 7223 return 0 7224 } 7225 7226 func (x *Message) GetRefresh() uint64 { 7227 if x != nil { 7228 return x.Refresh 7229 } 7230 return 0 7231 } 7232 7233 func (x *Message) GetDiscarded() uint64 { 7234 if x != nil { 7235 return x.Discarded 7236 } 7237 return 0 7238 } 7239 7240 func (x *Message) GetTotal() uint64 { 7241 if x != nil { 7242 return x.Total 7243 } 7244 return 0 7245 } 7246 7247 func (x *Message) GetWithdrawUpdate() uint64 { 7248 if x != nil { 7249 return x.WithdrawUpdate 7250 } 7251 return 0 7252 } 7253 7254 func (x *Message) GetWithdrawPrefix() uint64 { 7255 if x != nil { 7256 return x.WithdrawPrefix 7257 } 7258 return 0 7259 } 7260 7261 type Queues struct { 7262 state protoimpl.MessageState 7263 sizeCache protoimpl.SizeCache 7264 unknownFields protoimpl.UnknownFields 7265 7266 Input uint32 `protobuf:"varint,1,opt,name=input,proto3" json:"input,omitempty"` 7267 Output uint32 `protobuf:"varint,2,opt,name=output,proto3" json:"output,omitempty"` 7268 } 7269 7270 func (x *Queues) Reset() { 7271 *x = Queues{} 7272 if protoimpl.UnsafeEnabled { 7273 mi := &file_gobgp_proto_msgTypes[91] 7274 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7275 ms.StoreMessageInfo(mi) 7276 } 7277 } 7278 7279 func (x *Queues) String() string { 7280 return protoimpl.X.MessageStringOf(x) 7281 } 7282 7283 func (*Queues) ProtoMessage() {} 7284 7285 func (x *Queues) ProtoReflect() protoreflect.Message { 7286 mi := &file_gobgp_proto_msgTypes[91] 7287 if protoimpl.UnsafeEnabled && x != nil { 7288 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7289 if ms.LoadMessageInfo() == nil { 7290 ms.StoreMessageInfo(mi) 7291 } 7292 return ms 7293 } 7294 return mi.MessageOf(x) 7295 } 7296 7297 // Deprecated: Use Queues.ProtoReflect.Descriptor instead. 7298 func (*Queues) Descriptor() ([]byte, []int) { 7299 return file_gobgp_proto_rawDescGZIP(), []int{91} 7300 } 7301 7302 func (x *Queues) GetInput() uint32 { 7303 if x != nil { 7304 return x.Input 7305 } 7306 return 0 7307 } 7308 7309 func (x *Queues) GetOutput() uint32 { 7310 if x != nil { 7311 return x.Output 7312 } 7313 return 0 7314 } 7315 7316 type Timers struct { 7317 state protoimpl.MessageState 7318 sizeCache protoimpl.SizeCache 7319 unknownFields protoimpl.UnknownFields 7320 7321 Config *TimersConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 7322 State *TimersState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 7323 } 7324 7325 func (x *Timers) Reset() { 7326 *x = Timers{} 7327 if protoimpl.UnsafeEnabled { 7328 mi := &file_gobgp_proto_msgTypes[92] 7329 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7330 ms.StoreMessageInfo(mi) 7331 } 7332 } 7333 7334 func (x *Timers) String() string { 7335 return protoimpl.X.MessageStringOf(x) 7336 } 7337 7338 func (*Timers) ProtoMessage() {} 7339 7340 func (x *Timers) ProtoReflect() protoreflect.Message { 7341 mi := &file_gobgp_proto_msgTypes[92] 7342 if protoimpl.UnsafeEnabled && x != nil { 7343 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7344 if ms.LoadMessageInfo() == nil { 7345 ms.StoreMessageInfo(mi) 7346 } 7347 return ms 7348 } 7349 return mi.MessageOf(x) 7350 } 7351 7352 // Deprecated: Use Timers.ProtoReflect.Descriptor instead. 7353 func (*Timers) Descriptor() ([]byte, []int) { 7354 return file_gobgp_proto_rawDescGZIP(), []int{92} 7355 } 7356 7357 func (x *Timers) GetConfig() *TimersConfig { 7358 if x != nil { 7359 return x.Config 7360 } 7361 return nil 7362 } 7363 7364 func (x *Timers) GetState() *TimersState { 7365 if x != nil { 7366 return x.State 7367 } 7368 return nil 7369 } 7370 7371 type TimersConfig struct { 7372 state protoimpl.MessageState 7373 sizeCache protoimpl.SizeCache 7374 unknownFields protoimpl.UnknownFields 7375 7376 ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"` 7377 HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` 7378 KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` 7379 MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"` 7380 IdleHoldTimeAfterReset uint64 `protobuf:"varint,5,opt,name=idle_hold_time_after_reset,json=idleHoldTimeAfterReset,proto3" json:"idle_hold_time_after_reset,omitempty"` 7381 } 7382 7383 func (x *TimersConfig) Reset() { 7384 *x = TimersConfig{} 7385 if protoimpl.UnsafeEnabled { 7386 mi := &file_gobgp_proto_msgTypes[93] 7387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7388 ms.StoreMessageInfo(mi) 7389 } 7390 } 7391 7392 func (x *TimersConfig) String() string { 7393 return protoimpl.X.MessageStringOf(x) 7394 } 7395 7396 func (*TimersConfig) ProtoMessage() {} 7397 7398 func (x *TimersConfig) ProtoReflect() protoreflect.Message { 7399 mi := &file_gobgp_proto_msgTypes[93] 7400 if protoimpl.UnsafeEnabled && x != nil { 7401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7402 if ms.LoadMessageInfo() == nil { 7403 ms.StoreMessageInfo(mi) 7404 } 7405 return ms 7406 } 7407 return mi.MessageOf(x) 7408 } 7409 7410 // Deprecated: Use TimersConfig.ProtoReflect.Descriptor instead. 7411 func (*TimersConfig) Descriptor() ([]byte, []int) { 7412 return file_gobgp_proto_rawDescGZIP(), []int{93} 7413 } 7414 7415 func (x *TimersConfig) GetConnectRetry() uint64 { 7416 if x != nil { 7417 return x.ConnectRetry 7418 } 7419 return 0 7420 } 7421 7422 func (x *TimersConfig) GetHoldTime() uint64 { 7423 if x != nil { 7424 return x.HoldTime 7425 } 7426 return 0 7427 } 7428 7429 func (x *TimersConfig) GetKeepaliveInterval() uint64 { 7430 if x != nil { 7431 return x.KeepaliveInterval 7432 } 7433 return 0 7434 } 7435 7436 func (x *TimersConfig) GetMinimumAdvertisementInterval() uint64 { 7437 if x != nil { 7438 return x.MinimumAdvertisementInterval 7439 } 7440 return 0 7441 } 7442 7443 func (x *TimersConfig) GetIdleHoldTimeAfterReset() uint64 { 7444 if x != nil { 7445 return x.IdleHoldTimeAfterReset 7446 } 7447 return 0 7448 } 7449 7450 type TimersState struct { 7451 state protoimpl.MessageState 7452 sizeCache protoimpl.SizeCache 7453 unknownFields protoimpl.UnknownFields 7454 7455 ConnectRetry uint64 `protobuf:"varint,1,opt,name=connect_retry,json=connectRetry,proto3" json:"connect_retry,omitempty"` 7456 HoldTime uint64 `protobuf:"varint,2,opt,name=hold_time,json=holdTime,proto3" json:"hold_time,omitempty"` 7457 KeepaliveInterval uint64 `protobuf:"varint,3,opt,name=keepalive_interval,json=keepaliveInterval,proto3" json:"keepalive_interval,omitempty"` 7458 MinimumAdvertisementInterval uint64 `protobuf:"varint,4,opt,name=minimum_advertisement_interval,json=minimumAdvertisementInterval,proto3" json:"minimum_advertisement_interval,omitempty"` 7459 NegotiatedHoldTime uint64 `protobuf:"varint,5,opt,name=negotiated_hold_time,json=negotiatedHoldTime,proto3" json:"negotiated_hold_time,omitempty"` 7460 Uptime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=uptime,proto3" json:"uptime,omitempty"` 7461 Downtime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=downtime,proto3" json:"downtime,omitempty"` 7462 } 7463 7464 func (x *TimersState) Reset() { 7465 *x = TimersState{} 7466 if protoimpl.UnsafeEnabled { 7467 mi := &file_gobgp_proto_msgTypes[94] 7468 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7469 ms.StoreMessageInfo(mi) 7470 } 7471 } 7472 7473 func (x *TimersState) String() string { 7474 return protoimpl.X.MessageStringOf(x) 7475 } 7476 7477 func (*TimersState) ProtoMessage() {} 7478 7479 func (x *TimersState) ProtoReflect() protoreflect.Message { 7480 mi := &file_gobgp_proto_msgTypes[94] 7481 if protoimpl.UnsafeEnabled && x != nil { 7482 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7483 if ms.LoadMessageInfo() == nil { 7484 ms.StoreMessageInfo(mi) 7485 } 7486 return ms 7487 } 7488 return mi.MessageOf(x) 7489 } 7490 7491 // Deprecated: Use TimersState.ProtoReflect.Descriptor instead. 7492 func (*TimersState) Descriptor() ([]byte, []int) { 7493 return file_gobgp_proto_rawDescGZIP(), []int{94} 7494 } 7495 7496 func (x *TimersState) GetConnectRetry() uint64 { 7497 if x != nil { 7498 return x.ConnectRetry 7499 } 7500 return 0 7501 } 7502 7503 func (x *TimersState) GetHoldTime() uint64 { 7504 if x != nil { 7505 return x.HoldTime 7506 } 7507 return 0 7508 } 7509 7510 func (x *TimersState) GetKeepaliveInterval() uint64 { 7511 if x != nil { 7512 return x.KeepaliveInterval 7513 } 7514 return 0 7515 } 7516 7517 func (x *TimersState) GetMinimumAdvertisementInterval() uint64 { 7518 if x != nil { 7519 return x.MinimumAdvertisementInterval 7520 } 7521 return 0 7522 } 7523 7524 func (x *TimersState) GetNegotiatedHoldTime() uint64 { 7525 if x != nil { 7526 return x.NegotiatedHoldTime 7527 } 7528 return 0 7529 } 7530 7531 func (x *TimersState) GetUptime() *timestamppb.Timestamp { 7532 if x != nil { 7533 return x.Uptime 7534 } 7535 return nil 7536 } 7537 7538 func (x *TimersState) GetDowntime() *timestamppb.Timestamp { 7539 if x != nil { 7540 return x.Downtime 7541 } 7542 return nil 7543 } 7544 7545 type Transport struct { 7546 state protoimpl.MessageState 7547 sizeCache protoimpl.SizeCache 7548 unknownFields protoimpl.UnknownFields 7549 7550 LocalAddress string `protobuf:"bytes,1,opt,name=local_address,json=localAddress,proto3" json:"local_address,omitempty"` 7551 LocalPort uint32 `protobuf:"varint,2,opt,name=local_port,json=localPort,proto3" json:"local_port,omitempty"` 7552 MtuDiscovery bool `protobuf:"varint,3,opt,name=mtu_discovery,json=mtuDiscovery,proto3" json:"mtu_discovery,omitempty"` 7553 PassiveMode bool `protobuf:"varint,4,opt,name=passive_mode,json=passiveMode,proto3" json:"passive_mode,omitempty"` 7554 RemoteAddress string `protobuf:"bytes,5,opt,name=remote_address,json=remoteAddress,proto3" json:"remote_address,omitempty"` 7555 RemotePort uint32 `protobuf:"varint,6,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"` 7556 TcpMss uint32 `protobuf:"varint,7,opt,name=tcp_mss,json=tcpMss,proto3" json:"tcp_mss,omitempty"` 7557 BindInterface string `protobuf:"bytes,8,opt,name=bind_interface,json=bindInterface,proto3" json:"bind_interface,omitempty"` 7558 } 7559 7560 func (x *Transport) Reset() { 7561 *x = Transport{} 7562 if protoimpl.UnsafeEnabled { 7563 mi := &file_gobgp_proto_msgTypes[95] 7564 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7565 ms.StoreMessageInfo(mi) 7566 } 7567 } 7568 7569 func (x *Transport) String() string { 7570 return protoimpl.X.MessageStringOf(x) 7571 } 7572 7573 func (*Transport) ProtoMessage() {} 7574 7575 func (x *Transport) ProtoReflect() protoreflect.Message { 7576 mi := &file_gobgp_proto_msgTypes[95] 7577 if protoimpl.UnsafeEnabled && x != nil { 7578 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7579 if ms.LoadMessageInfo() == nil { 7580 ms.StoreMessageInfo(mi) 7581 } 7582 return ms 7583 } 7584 return mi.MessageOf(x) 7585 } 7586 7587 // Deprecated: Use Transport.ProtoReflect.Descriptor instead. 7588 func (*Transport) Descriptor() ([]byte, []int) { 7589 return file_gobgp_proto_rawDescGZIP(), []int{95} 7590 } 7591 7592 func (x *Transport) GetLocalAddress() string { 7593 if x != nil { 7594 return x.LocalAddress 7595 } 7596 return "" 7597 } 7598 7599 func (x *Transport) GetLocalPort() uint32 { 7600 if x != nil { 7601 return x.LocalPort 7602 } 7603 return 0 7604 } 7605 7606 func (x *Transport) GetMtuDiscovery() bool { 7607 if x != nil { 7608 return x.MtuDiscovery 7609 } 7610 return false 7611 } 7612 7613 func (x *Transport) GetPassiveMode() bool { 7614 if x != nil { 7615 return x.PassiveMode 7616 } 7617 return false 7618 } 7619 7620 func (x *Transport) GetRemoteAddress() string { 7621 if x != nil { 7622 return x.RemoteAddress 7623 } 7624 return "" 7625 } 7626 7627 func (x *Transport) GetRemotePort() uint32 { 7628 if x != nil { 7629 return x.RemotePort 7630 } 7631 return 0 7632 } 7633 7634 func (x *Transport) GetTcpMss() uint32 { 7635 if x != nil { 7636 return x.TcpMss 7637 } 7638 return 0 7639 } 7640 7641 func (x *Transport) GetBindInterface() string { 7642 if x != nil { 7643 return x.BindInterface 7644 } 7645 return "" 7646 } 7647 7648 type RouteServer struct { 7649 state protoimpl.MessageState 7650 sizeCache protoimpl.SizeCache 7651 unknownFields protoimpl.UnknownFields 7652 7653 RouteServerClient bool `protobuf:"varint,1,opt,name=route_server_client,json=routeServerClient,proto3" json:"route_server_client,omitempty"` 7654 SecondaryRoute bool `protobuf:"varint,2,opt,name=secondary_route,json=secondaryRoute,proto3" json:"secondary_route,omitempty"` 7655 } 7656 7657 func (x *RouteServer) Reset() { 7658 *x = RouteServer{} 7659 if protoimpl.UnsafeEnabled { 7660 mi := &file_gobgp_proto_msgTypes[96] 7661 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7662 ms.StoreMessageInfo(mi) 7663 } 7664 } 7665 7666 func (x *RouteServer) String() string { 7667 return protoimpl.X.MessageStringOf(x) 7668 } 7669 7670 func (*RouteServer) ProtoMessage() {} 7671 7672 func (x *RouteServer) ProtoReflect() protoreflect.Message { 7673 mi := &file_gobgp_proto_msgTypes[96] 7674 if protoimpl.UnsafeEnabled && x != nil { 7675 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7676 if ms.LoadMessageInfo() == nil { 7677 ms.StoreMessageInfo(mi) 7678 } 7679 return ms 7680 } 7681 return mi.MessageOf(x) 7682 } 7683 7684 // Deprecated: Use RouteServer.ProtoReflect.Descriptor instead. 7685 func (*RouteServer) Descriptor() ([]byte, []int) { 7686 return file_gobgp_proto_rawDescGZIP(), []int{96} 7687 } 7688 7689 func (x *RouteServer) GetRouteServerClient() bool { 7690 if x != nil { 7691 return x.RouteServerClient 7692 } 7693 return false 7694 } 7695 7696 func (x *RouteServer) GetSecondaryRoute() bool { 7697 if x != nil { 7698 return x.SecondaryRoute 7699 } 7700 return false 7701 } 7702 7703 type GracefulRestart struct { 7704 state protoimpl.MessageState 7705 sizeCache protoimpl.SizeCache 7706 unknownFields protoimpl.UnknownFields 7707 7708 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 7709 RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"` 7710 HelperOnly bool `protobuf:"varint,3,opt,name=helper_only,json=helperOnly,proto3" json:"helper_only,omitempty"` 7711 DeferralTime uint32 `protobuf:"varint,4,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` 7712 NotificationEnabled bool `protobuf:"varint,5,opt,name=notification_enabled,json=notificationEnabled,proto3" json:"notification_enabled,omitempty"` 7713 LonglivedEnabled bool `protobuf:"varint,6,opt,name=longlived_enabled,json=longlivedEnabled,proto3" json:"longlived_enabled,omitempty"` 7714 StaleRoutesTime uint32 `protobuf:"varint,7,opt,name=stale_routes_time,json=staleRoutesTime,proto3" json:"stale_routes_time,omitempty"` 7715 PeerRestartTime uint32 `protobuf:"varint,8,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"` 7716 PeerRestarting bool `protobuf:"varint,9,opt,name=peer_restarting,json=peerRestarting,proto3" json:"peer_restarting,omitempty"` 7717 LocalRestarting bool `protobuf:"varint,10,opt,name=local_restarting,json=localRestarting,proto3" json:"local_restarting,omitempty"` 7718 Mode string `protobuf:"bytes,11,opt,name=mode,proto3" json:"mode,omitempty"` 7719 } 7720 7721 func (x *GracefulRestart) Reset() { 7722 *x = GracefulRestart{} 7723 if protoimpl.UnsafeEnabled { 7724 mi := &file_gobgp_proto_msgTypes[97] 7725 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7726 ms.StoreMessageInfo(mi) 7727 } 7728 } 7729 7730 func (x *GracefulRestart) String() string { 7731 return protoimpl.X.MessageStringOf(x) 7732 } 7733 7734 func (*GracefulRestart) ProtoMessage() {} 7735 7736 func (x *GracefulRestart) ProtoReflect() protoreflect.Message { 7737 mi := &file_gobgp_proto_msgTypes[97] 7738 if protoimpl.UnsafeEnabled && x != nil { 7739 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7740 if ms.LoadMessageInfo() == nil { 7741 ms.StoreMessageInfo(mi) 7742 } 7743 return ms 7744 } 7745 return mi.MessageOf(x) 7746 } 7747 7748 // Deprecated: Use GracefulRestart.ProtoReflect.Descriptor instead. 7749 func (*GracefulRestart) Descriptor() ([]byte, []int) { 7750 return file_gobgp_proto_rawDescGZIP(), []int{97} 7751 } 7752 7753 func (x *GracefulRestart) GetEnabled() bool { 7754 if x != nil { 7755 return x.Enabled 7756 } 7757 return false 7758 } 7759 7760 func (x *GracefulRestart) GetRestartTime() uint32 { 7761 if x != nil { 7762 return x.RestartTime 7763 } 7764 return 0 7765 } 7766 7767 func (x *GracefulRestart) GetHelperOnly() bool { 7768 if x != nil { 7769 return x.HelperOnly 7770 } 7771 return false 7772 } 7773 7774 func (x *GracefulRestart) GetDeferralTime() uint32 { 7775 if x != nil { 7776 return x.DeferralTime 7777 } 7778 return 0 7779 } 7780 7781 func (x *GracefulRestart) GetNotificationEnabled() bool { 7782 if x != nil { 7783 return x.NotificationEnabled 7784 } 7785 return false 7786 } 7787 7788 func (x *GracefulRestart) GetLonglivedEnabled() bool { 7789 if x != nil { 7790 return x.LonglivedEnabled 7791 } 7792 return false 7793 } 7794 7795 func (x *GracefulRestart) GetStaleRoutesTime() uint32 { 7796 if x != nil { 7797 return x.StaleRoutesTime 7798 } 7799 return 0 7800 } 7801 7802 func (x *GracefulRestart) GetPeerRestartTime() uint32 { 7803 if x != nil { 7804 return x.PeerRestartTime 7805 } 7806 return 0 7807 } 7808 7809 func (x *GracefulRestart) GetPeerRestarting() bool { 7810 if x != nil { 7811 return x.PeerRestarting 7812 } 7813 return false 7814 } 7815 7816 func (x *GracefulRestart) GetLocalRestarting() bool { 7817 if x != nil { 7818 return x.LocalRestarting 7819 } 7820 return false 7821 } 7822 7823 func (x *GracefulRestart) GetMode() string { 7824 if x != nil { 7825 return x.Mode 7826 } 7827 return "" 7828 } 7829 7830 type MpGracefulRestartConfig struct { 7831 state protoimpl.MessageState 7832 sizeCache protoimpl.SizeCache 7833 unknownFields protoimpl.UnknownFields 7834 7835 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 7836 } 7837 7838 func (x *MpGracefulRestartConfig) Reset() { 7839 *x = MpGracefulRestartConfig{} 7840 if protoimpl.UnsafeEnabled { 7841 mi := &file_gobgp_proto_msgTypes[98] 7842 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7843 ms.StoreMessageInfo(mi) 7844 } 7845 } 7846 7847 func (x *MpGracefulRestartConfig) String() string { 7848 return protoimpl.X.MessageStringOf(x) 7849 } 7850 7851 func (*MpGracefulRestartConfig) ProtoMessage() {} 7852 7853 func (x *MpGracefulRestartConfig) ProtoReflect() protoreflect.Message { 7854 mi := &file_gobgp_proto_msgTypes[98] 7855 if protoimpl.UnsafeEnabled && x != nil { 7856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7857 if ms.LoadMessageInfo() == nil { 7858 ms.StoreMessageInfo(mi) 7859 } 7860 return ms 7861 } 7862 return mi.MessageOf(x) 7863 } 7864 7865 // Deprecated: Use MpGracefulRestartConfig.ProtoReflect.Descriptor instead. 7866 func (*MpGracefulRestartConfig) Descriptor() ([]byte, []int) { 7867 return file_gobgp_proto_rawDescGZIP(), []int{98} 7868 } 7869 7870 func (x *MpGracefulRestartConfig) GetEnabled() bool { 7871 if x != nil { 7872 return x.Enabled 7873 } 7874 return false 7875 } 7876 7877 type MpGracefulRestartState struct { 7878 state protoimpl.MessageState 7879 sizeCache protoimpl.SizeCache 7880 unknownFields protoimpl.UnknownFields 7881 7882 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 7883 Received bool `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"` 7884 Advertised bool `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"` 7885 EndOfRibReceived bool `protobuf:"varint,4,opt,name=end_of_rib_received,json=endOfRibReceived,proto3" json:"end_of_rib_received,omitempty"` 7886 EndOfRibSent bool `protobuf:"varint,5,opt,name=end_of_rib_sent,json=endOfRibSent,proto3" json:"end_of_rib_sent,omitempty"` 7887 } 7888 7889 func (x *MpGracefulRestartState) Reset() { 7890 *x = MpGracefulRestartState{} 7891 if protoimpl.UnsafeEnabled { 7892 mi := &file_gobgp_proto_msgTypes[99] 7893 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7894 ms.StoreMessageInfo(mi) 7895 } 7896 } 7897 7898 func (x *MpGracefulRestartState) String() string { 7899 return protoimpl.X.MessageStringOf(x) 7900 } 7901 7902 func (*MpGracefulRestartState) ProtoMessage() {} 7903 7904 func (x *MpGracefulRestartState) ProtoReflect() protoreflect.Message { 7905 mi := &file_gobgp_proto_msgTypes[99] 7906 if protoimpl.UnsafeEnabled && x != nil { 7907 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7908 if ms.LoadMessageInfo() == nil { 7909 ms.StoreMessageInfo(mi) 7910 } 7911 return ms 7912 } 7913 return mi.MessageOf(x) 7914 } 7915 7916 // Deprecated: Use MpGracefulRestartState.ProtoReflect.Descriptor instead. 7917 func (*MpGracefulRestartState) Descriptor() ([]byte, []int) { 7918 return file_gobgp_proto_rawDescGZIP(), []int{99} 7919 } 7920 7921 func (x *MpGracefulRestartState) GetEnabled() bool { 7922 if x != nil { 7923 return x.Enabled 7924 } 7925 return false 7926 } 7927 7928 func (x *MpGracefulRestartState) GetReceived() bool { 7929 if x != nil { 7930 return x.Received 7931 } 7932 return false 7933 } 7934 7935 func (x *MpGracefulRestartState) GetAdvertised() bool { 7936 if x != nil { 7937 return x.Advertised 7938 } 7939 return false 7940 } 7941 7942 func (x *MpGracefulRestartState) GetEndOfRibReceived() bool { 7943 if x != nil { 7944 return x.EndOfRibReceived 7945 } 7946 return false 7947 } 7948 7949 func (x *MpGracefulRestartState) GetEndOfRibSent() bool { 7950 if x != nil { 7951 return x.EndOfRibSent 7952 } 7953 return false 7954 } 7955 7956 type MpGracefulRestart struct { 7957 state protoimpl.MessageState 7958 sizeCache protoimpl.SizeCache 7959 unknownFields protoimpl.UnknownFields 7960 7961 Config *MpGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 7962 State *MpGracefulRestartState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 7963 } 7964 7965 func (x *MpGracefulRestart) Reset() { 7966 *x = MpGracefulRestart{} 7967 if protoimpl.UnsafeEnabled { 7968 mi := &file_gobgp_proto_msgTypes[100] 7969 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7970 ms.StoreMessageInfo(mi) 7971 } 7972 } 7973 7974 func (x *MpGracefulRestart) String() string { 7975 return protoimpl.X.MessageStringOf(x) 7976 } 7977 7978 func (*MpGracefulRestart) ProtoMessage() {} 7979 7980 func (x *MpGracefulRestart) ProtoReflect() protoreflect.Message { 7981 mi := &file_gobgp_proto_msgTypes[100] 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 MpGracefulRestart.ProtoReflect.Descriptor instead. 7993 func (*MpGracefulRestart) Descriptor() ([]byte, []int) { 7994 return file_gobgp_proto_rawDescGZIP(), []int{100} 7995 } 7996 7997 func (x *MpGracefulRestart) GetConfig() *MpGracefulRestartConfig { 7998 if x != nil { 7999 return x.Config 8000 } 8001 return nil 8002 } 8003 8004 func (x *MpGracefulRestart) GetState() *MpGracefulRestartState { 8005 if x != nil { 8006 return x.State 8007 } 8008 return nil 8009 } 8010 8011 type AfiSafiConfig struct { 8012 state protoimpl.MessageState 8013 sizeCache protoimpl.SizeCache 8014 unknownFields protoimpl.UnknownFields 8015 8016 Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` 8017 Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` 8018 } 8019 8020 func (x *AfiSafiConfig) Reset() { 8021 *x = AfiSafiConfig{} 8022 if protoimpl.UnsafeEnabled { 8023 mi := &file_gobgp_proto_msgTypes[101] 8024 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8025 ms.StoreMessageInfo(mi) 8026 } 8027 } 8028 8029 func (x *AfiSafiConfig) String() string { 8030 return protoimpl.X.MessageStringOf(x) 8031 } 8032 8033 func (*AfiSafiConfig) ProtoMessage() {} 8034 8035 func (x *AfiSafiConfig) ProtoReflect() protoreflect.Message { 8036 mi := &file_gobgp_proto_msgTypes[101] 8037 if protoimpl.UnsafeEnabled && x != nil { 8038 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8039 if ms.LoadMessageInfo() == nil { 8040 ms.StoreMessageInfo(mi) 8041 } 8042 return ms 8043 } 8044 return mi.MessageOf(x) 8045 } 8046 8047 // Deprecated: Use AfiSafiConfig.ProtoReflect.Descriptor instead. 8048 func (*AfiSafiConfig) Descriptor() ([]byte, []int) { 8049 return file_gobgp_proto_rawDescGZIP(), []int{101} 8050 } 8051 8052 func (x *AfiSafiConfig) GetFamily() *Family { 8053 if x != nil { 8054 return x.Family 8055 } 8056 return nil 8057 } 8058 8059 func (x *AfiSafiConfig) GetEnabled() bool { 8060 if x != nil { 8061 return x.Enabled 8062 } 8063 return false 8064 } 8065 8066 type AfiSafiState struct { 8067 state protoimpl.MessageState 8068 sizeCache protoimpl.SizeCache 8069 unknownFields protoimpl.UnknownFields 8070 8071 Family *Family `protobuf:"bytes,1,opt,name=family,proto3" json:"family,omitempty"` 8072 Enabled bool `protobuf:"varint,2,opt,name=enabled,proto3" json:"enabled,omitempty"` 8073 Received uint64 `protobuf:"varint,3,opt,name=received,proto3" json:"received,omitempty"` 8074 Accepted uint64 `protobuf:"varint,4,opt,name=accepted,proto3" json:"accepted,omitempty"` 8075 Advertised uint64 `protobuf:"varint,5,opt,name=advertised,proto3" json:"advertised,omitempty"` 8076 } 8077 8078 func (x *AfiSafiState) Reset() { 8079 *x = AfiSafiState{} 8080 if protoimpl.UnsafeEnabled { 8081 mi := &file_gobgp_proto_msgTypes[102] 8082 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8083 ms.StoreMessageInfo(mi) 8084 } 8085 } 8086 8087 func (x *AfiSafiState) String() string { 8088 return protoimpl.X.MessageStringOf(x) 8089 } 8090 8091 func (*AfiSafiState) ProtoMessage() {} 8092 8093 func (x *AfiSafiState) ProtoReflect() protoreflect.Message { 8094 mi := &file_gobgp_proto_msgTypes[102] 8095 if protoimpl.UnsafeEnabled && x != nil { 8096 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8097 if ms.LoadMessageInfo() == nil { 8098 ms.StoreMessageInfo(mi) 8099 } 8100 return ms 8101 } 8102 return mi.MessageOf(x) 8103 } 8104 8105 // Deprecated: Use AfiSafiState.ProtoReflect.Descriptor instead. 8106 func (*AfiSafiState) Descriptor() ([]byte, []int) { 8107 return file_gobgp_proto_rawDescGZIP(), []int{102} 8108 } 8109 8110 func (x *AfiSafiState) GetFamily() *Family { 8111 if x != nil { 8112 return x.Family 8113 } 8114 return nil 8115 } 8116 8117 func (x *AfiSafiState) GetEnabled() bool { 8118 if x != nil { 8119 return x.Enabled 8120 } 8121 return false 8122 } 8123 8124 func (x *AfiSafiState) GetReceived() uint64 { 8125 if x != nil { 8126 return x.Received 8127 } 8128 return 0 8129 } 8130 8131 func (x *AfiSafiState) GetAccepted() uint64 { 8132 if x != nil { 8133 return x.Accepted 8134 } 8135 return 0 8136 } 8137 8138 func (x *AfiSafiState) GetAdvertised() uint64 { 8139 if x != nil { 8140 return x.Advertised 8141 } 8142 return 0 8143 } 8144 8145 type RouteSelectionOptionsConfig struct { 8146 state protoimpl.MessageState 8147 sizeCache protoimpl.SizeCache 8148 unknownFields protoimpl.UnknownFields 8149 8150 AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"` 8151 IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"` 8152 ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"` 8153 AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"` 8154 EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"` 8155 IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"` 8156 DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"` 8157 } 8158 8159 func (x *RouteSelectionOptionsConfig) Reset() { 8160 *x = RouteSelectionOptionsConfig{} 8161 if protoimpl.UnsafeEnabled { 8162 mi := &file_gobgp_proto_msgTypes[103] 8163 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8164 ms.StoreMessageInfo(mi) 8165 } 8166 } 8167 8168 func (x *RouteSelectionOptionsConfig) String() string { 8169 return protoimpl.X.MessageStringOf(x) 8170 } 8171 8172 func (*RouteSelectionOptionsConfig) ProtoMessage() {} 8173 8174 func (x *RouteSelectionOptionsConfig) ProtoReflect() protoreflect.Message { 8175 mi := &file_gobgp_proto_msgTypes[103] 8176 if protoimpl.UnsafeEnabled && x != nil { 8177 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8178 if ms.LoadMessageInfo() == nil { 8179 ms.StoreMessageInfo(mi) 8180 } 8181 return ms 8182 } 8183 return mi.MessageOf(x) 8184 } 8185 8186 // Deprecated: Use RouteSelectionOptionsConfig.ProtoReflect.Descriptor instead. 8187 func (*RouteSelectionOptionsConfig) Descriptor() ([]byte, []int) { 8188 return file_gobgp_proto_rawDescGZIP(), []int{103} 8189 } 8190 8191 func (x *RouteSelectionOptionsConfig) GetAlwaysCompareMed() bool { 8192 if x != nil { 8193 return x.AlwaysCompareMed 8194 } 8195 return false 8196 } 8197 8198 func (x *RouteSelectionOptionsConfig) GetIgnoreAsPathLength() bool { 8199 if x != nil { 8200 return x.IgnoreAsPathLength 8201 } 8202 return false 8203 } 8204 8205 func (x *RouteSelectionOptionsConfig) GetExternalCompareRouterId() bool { 8206 if x != nil { 8207 return x.ExternalCompareRouterId 8208 } 8209 return false 8210 } 8211 8212 func (x *RouteSelectionOptionsConfig) GetAdvertiseInactiveRoutes() bool { 8213 if x != nil { 8214 return x.AdvertiseInactiveRoutes 8215 } 8216 return false 8217 } 8218 8219 func (x *RouteSelectionOptionsConfig) GetEnableAigp() bool { 8220 if x != nil { 8221 return x.EnableAigp 8222 } 8223 return false 8224 } 8225 8226 func (x *RouteSelectionOptionsConfig) GetIgnoreNextHopIgpMetric() bool { 8227 if x != nil { 8228 return x.IgnoreNextHopIgpMetric 8229 } 8230 return false 8231 } 8232 8233 func (x *RouteSelectionOptionsConfig) GetDisableBestPathSelection() bool { 8234 if x != nil { 8235 return x.DisableBestPathSelection 8236 } 8237 return false 8238 } 8239 8240 type RouteSelectionOptionsState struct { 8241 state protoimpl.MessageState 8242 sizeCache protoimpl.SizeCache 8243 unknownFields protoimpl.UnknownFields 8244 8245 AlwaysCompareMed bool `protobuf:"varint,1,opt,name=always_compare_med,json=alwaysCompareMed,proto3" json:"always_compare_med,omitempty"` 8246 IgnoreAsPathLength bool `protobuf:"varint,2,opt,name=ignore_as_path_length,json=ignoreAsPathLength,proto3" json:"ignore_as_path_length,omitempty"` 8247 ExternalCompareRouterId bool `protobuf:"varint,3,opt,name=external_compare_router_id,json=externalCompareRouterId,proto3" json:"external_compare_router_id,omitempty"` 8248 AdvertiseInactiveRoutes bool `protobuf:"varint,4,opt,name=advertise_inactive_routes,json=advertiseInactiveRoutes,proto3" json:"advertise_inactive_routes,omitempty"` 8249 EnableAigp bool `protobuf:"varint,5,opt,name=enable_aigp,json=enableAigp,proto3" json:"enable_aigp,omitempty"` 8250 IgnoreNextHopIgpMetric bool `protobuf:"varint,6,opt,name=ignore_next_hop_igp_metric,json=ignoreNextHopIgpMetric,proto3" json:"ignore_next_hop_igp_metric,omitempty"` 8251 DisableBestPathSelection bool `protobuf:"varint,7,opt,name=disable_best_path_selection,json=disableBestPathSelection,proto3" json:"disable_best_path_selection,omitempty"` 8252 } 8253 8254 func (x *RouteSelectionOptionsState) Reset() { 8255 *x = RouteSelectionOptionsState{} 8256 if protoimpl.UnsafeEnabled { 8257 mi := &file_gobgp_proto_msgTypes[104] 8258 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8259 ms.StoreMessageInfo(mi) 8260 } 8261 } 8262 8263 func (x *RouteSelectionOptionsState) String() string { 8264 return protoimpl.X.MessageStringOf(x) 8265 } 8266 8267 func (*RouteSelectionOptionsState) ProtoMessage() {} 8268 8269 func (x *RouteSelectionOptionsState) ProtoReflect() protoreflect.Message { 8270 mi := &file_gobgp_proto_msgTypes[104] 8271 if protoimpl.UnsafeEnabled && x != nil { 8272 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8273 if ms.LoadMessageInfo() == nil { 8274 ms.StoreMessageInfo(mi) 8275 } 8276 return ms 8277 } 8278 return mi.MessageOf(x) 8279 } 8280 8281 // Deprecated: Use RouteSelectionOptionsState.ProtoReflect.Descriptor instead. 8282 func (*RouteSelectionOptionsState) Descriptor() ([]byte, []int) { 8283 return file_gobgp_proto_rawDescGZIP(), []int{104} 8284 } 8285 8286 func (x *RouteSelectionOptionsState) GetAlwaysCompareMed() bool { 8287 if x != nil { 8288 return x.AlwaysCompareMed 8289 } 8290 return false 8291 } 8292 8293 func (x *RouteSelectionOptionsState) GetIgnoreAsPathLength() bool { 8294 if x != nil { 8295 return x.IgnoreAsPathLength 8296 } 8297 return false 8298 } 8299 8300 func (x *RouteSelectionOptionsState) GetExternalCompareRouterId() bool { 8301 if x != nil { 8302 return x.ExternalCompareRouterId 8303 } 8304 return false 8305 } 8306 8307 func (x *RouteSelectionOptionsState) GetAdvertiseInactiveRoutes() bool { 8308 if x != nil { 8309 return x.AdvertiseInactiveRoutes 8310 } 8311 return false 8312 } 8313 8314 func (x *RouteSelectionOptionsState) GetEnableAigp() bool { 8315 if x != nil { 8316 return x.EnableAigp 8317 } 8318 return false 8319 } 8320 8321 func (x *RouteSelectionOptionsState) GetIgnoreNextHopIgpMetric() bool { 8322 if x != nil { 8323 return x.IgnoreNextHopIgpMetric 8324 } 8325 return false 8326 } 8327 8328 func (x *RouteSelectionOptionsState) GetDisableBestPathSelection() bool { 8329 if x != nil { 8330 return x.DisableBestPathSelection 8331 } 8332 return false 8333 } 8334 8335 type RouteSelectionOptions struct { 8336 state protoimpl.MessageState 8337 sizeCache protoimpl.SizeCache 8338 unknownFields protoimpl.UnknownFields 8339 8340 Config *RouteSelectionOptionsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 8341 State *RouteSelectionOptionsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 8342 } 8343 8344 func (x *RouteSelectionOptions) Reset() { 8345 *x = RouteSelectionOptions{} 8346 if protoimpl.UnsafeEnabled { 8347 mi := &file_gobgp_proto_msgTypes[105] 8348 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8349 ms.StoreMessageInfo(mi) 8350 } 8351 } 8352 8353 func (x *RouteSelectionOptions) String() string { 8354 return protoimpl.X.MessageStringOf(x) 8355 } 8356 8357 func (*RouteSelectionOptions) ProtoMessage() {} 8358 8359 func (x *RouteSelectionOptions) ProtoReflect() protoreflect.Message { 8360 mi := &file_gobgp_proto_msgTypes[105] 8361 if protoimpl.UnsafeEnabled && x != nil { 8362 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8363 if ms.LoadMessageInfo() == nil { 8364 ms.StoreMessageInfo(mi) 8365 } 8366 return ms 8367 } 8368 return mi.MessageOf(x) 8369 } 8370 8371 // Deprecated: Use RouteSelectionOptions.ProtoReflect.Descriptor instead. 8372 func (*RouteSelectionOptions) Descriptor() ([]byte, []int) { 8373 return file_gobgp_proto_rawDescGZIP(), []int{105} 8374 } 8375 8376 func (x *RouteSelectionOptions) GetConfig() *RouteSelectionOptionsConfig { 8377 if x != nil { 8378 return x.Config 8379 } 8380 return nil 8381 } 8382 8383 func (x *RouteSelectionOptions) GetState() *RouteSelectionOptionsState { 8384 if x != nil { 8385 return x.State 8386 } 8387 return nil 8388 } 8389 8390 type UseMultiplePathsConfig struct { 8391 state protoimpl.MessageState 8392 sizeCache protoimpl.SizeCache 8393 unknownFields protoimpl.UnknownFields 8394 8395 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 8396 } 8397 8398 func (x *UseMultiplePathsConfig) Reset() { 8399 *x = UseMultiplePathsConfig{} 8400 if protoimpl.UnsafeEnabled { 8401 mi := &file_gobgp_proto_msgTypes[106] 8402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8403 ms.StoreMessageInfo(mi) 8404 } 8405 } 8406 8407 func (x *UseMultiplePathsConfig) String() string { 8408 return protoimpl.X.MessageStringOf(x) 8409 } 8410 8411 func (*UseMultiplePathsConfig) ProtoMessage() {} 8412 8413 func (x *UseMultiplePathsConfig) ProtoReflect() protoreflect.Message { 8414 mi := &file_gobgp_proto_msgTypes[106] 8415 if protoimpl.UnsafeEnabled && x != nil { 8416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8417 if ms.LoadMessageInfo() == nil { 8418 ms.StoreMessageInfo(mi) 8419 } 8420 return ms 8421 } 8422 return mi.MessageOf(x) 8423 } 8424 8425 // Deprecated: Use UseMultiplePathsConfig.ProtoReflect.Descriptor instead. 8426 func (*UseMultiplePathsConfig) Descriptor() ([]byte, []int) { 8427 return file_gobgp_proto_rawDescGZIP(), []int{106} 8428 } 8429 8430 func (x *UseMultiplePathsConfig) GetEnabled() bool { 8431 if x != nil { 8432 return x.Enabled 8433 } 8434 return false 8435 } 8436 8437 type UseMultiplePathsState struct { 8438 state protoimpl.MessageState 8439 sizeCache protoimpl.SizeCache 8440 unknownFields protoimpl.UnknownFields 8441 8442 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 8443 } 8444 8445 func (x *UseMultiplePathsState) Reset() { 8446 *x = UseMultiplePathsState{} 8447 if protoimpl.UnsafeEnabled { 8448 mi := &file_gobgp_proto_msgTypes[107] 8449 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8450 ms.StoreMessageInfo(mi) 8451 } 8452 } 8453 8454 func (x *UseMultiplePathsState) String() string { 8455 return protoimpl.X.MessageStringOf(x) 8456 } 8457 8458 func (*UseMultiplePathsState) ProtoMessage() {} 8459 8460 func (x *UseMultiplePathsState) ProtoReflect() protoreflect.Message { 8461 mi := &file_gobgp_proto_msgTypes[107] 8462 if protoimpl.UnsafeEnabled && x != nil { 8463 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8464 if ms.LoadMessageInfo() == nil { 8465 ms.StoreMessageInfo(mi) 8466 } 8467 return ms 8468 } 8469 return mi.MessageOf(x) 8470 } 8471 8472 // Deprecated: Use UseMultiplePathsState.ProtoReflect.Descriptor instead. 8473 func (*UseMultiplePathsState) Descriptor() ([]byte, []int) { 8474 return file_gobgp_proto_rawDescGZIP(), []int{107} 8475 } 8476 8477 func (x *UseMultiplePathsState) GetEnabled() bool { 8478 if x != nil { 8479 return x.Enabled 8480 } 8481 return false 8482 } 8483 8484 type EbgpConfig struct { 8485 state protoimpl.MessageState 8486 sizeCache protoimpl.SizeCache 8487 unknownFields protoimpl.UnknownFields 8488 8489 AllowMultipleAsn bool `protobuf:"varint,1,opt,name=allow_multiple_asn,json=allowMultipleAsn,proto3" json:"allow_multiple_asn,omitempty"` 8490 MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` 8491 } 8492 8493 func (x *EbgpConfig) Reset() { 8494 *x = EbgpConfig{} 8495 if protoimpl.UnsafeEnabled { 8496 mi := &file_gobgp_proto_msgTypes[108] 8497 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8498 ms.StoreMessageInfo(mi) 8499 } 8500 } 8501 8502 func (x *EbgpConfig) String() string { 8503 return protoimpl.X.MessageStringOf(x) 8504 } 8505 8506 func (*EbgpConfig) ProtoMessage() {} 8507 8508 func (x *EbgpConfig) ProtoReflect() protoreflect.Message { 8509 mi := &file_gobgp_proto_msgTypes[108] 8510 if protoimpl.UnsafeEnabled && x != nil { 8511 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8512 if ms.LoadMessageInfo() == nil { 8513 ms.StoreMessageInfo(mi) 8514 } 8515 return ms 8516 } 8517 return mi.MessageOf(x) 8518 } 8519 8520 // Deprecated: Use EbgpConfig.ProtoReflect.Descriptor instead. 8521 func (*EbgpConfig) Descriptor() ([]byte, []int) { 8522 return file_gobgp_proto_rawDescGZIP(), []int{108} 8523 } 8524 8525 func (x *EbgpConfig) GetAllowMultipleAsn() bool { 8526 if x != nil { 8527 return x.AllowMultipleAsn 8528 } 8529 return false 8530 } 8531 8532 func (x *EbgpConfig) GetMaximumPaths() uint32 { 8533 if x != nil { 8534 return x.MaximumPaths 8535 } 8536 return 0 8537 } 8538 8539 type EbgpState struct { 8540 state protoimpl.MessageState 8541 sizeCache protoimpl.SizeCache 8542 unknownFields protoimpl.UnknownFields 8543 8544 AllowMultipleAsn bool `protobuf:"varint,1,opt,name=allow_multiple_asn,json=allowMultipleAsn,proto3" json:"allow_multiple_asn,omitempty"` 8545 MaximumPaths uint32 `protobuf:"varint,2,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` 8546 } 8547 8548 func (x *EbgpState) Reset() { 8549 *x = EbgpState{} 8550 if protoimpl.UnsafeEnabled { 8551 mi := &file_gobgp_proto_msgTypes[109] 8552 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8553 ms.StoreMessageInfo(mi) 8554 } 8555 } 8556 8557 func (x *EbgpState) String() string { 8558 return protoimpl.X.MessageStringOf(x) 8559 } 8560 8561 func (*EbgpState) ProtoMessage() {} 8562 8563 func (x *EbgpState) ProtoReflect() protoreflect.Message { 8564 mi := &file_gobgp_proto_msgTypes[109] 8565 if protoimpl.UnsafeEnabled && x != nil { 8566 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8567 if ms.LoadMessageInfo() == nil { 8568 ms.StoreMessageInfo(mi) 8569 } 8570 return ms 8571 } 8572 return mi.MessageOf(x) 8573 } 8574 8575 // Deprecated: Use EbgpState.ProtoReflect.Descriptor instead. 8576 func (*EbgpState) Descriptor() ([]byte, []int) { 8577 return file_gobgp_proto_rawDescGZIP(), []int{109} 8578 } 8579 8580 func (x *EbgpState) GetAllowMultipleAsn() bool { 8581 if x != nil { 8582 return x.AllowMultipleAsn 8583 } 8584 return false 8585 } 8586 8587 func (x *EbgpState) GetMaximumPaths() uint32 { 8588 if x != nil { 8589 return x.MaximumPaths 8590 } 8591 return 0 8592 } 8593 8594 type Ebgp struct { 8595 state protoimpl.MessageState 8596 sizeCache protoimpl.SizeCache 8597 unknownFields protoimpl.UnknownFields 8598 8599 Config *EbgpConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 8600 State *EbgpState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 8601 } 8602 8603 func (x *Ebgp) Reset() { 8604 *x = Ebgp{} 8605 if protoimpl.UnsafeEnabled { 8606 mi := &file_gobgp_proto_msgTypes[110] 8607 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8608 ms.StoreMessageInfo(mi) 8609 } 8610 } 8611 8612 func (x *Ebgp) String() string { 8613 return protoimpl.X.MessageStringOf(x) 8614 } 8615 8616 func (*Ebgp) ProtoMessage() {} 8617 8618 func (x *Ebgp) ProtoReflect() protoreflect.Message { 8619 mi := &file_gobgp_proto_msgTypes[110] 8620 if protoimpl.UnsafeEnabled && x != nil { 8621 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8622 if ms.LoadMessageInfo() == nil { 8623 ms.StoreMessageInfo(mi) 8624 } 8625 return ms 8626 } 8627 return mi.MessageOf(x) 8628 } 8629 8630 // Deprecated: Use Ebgp.ProtoReflect.Descriptor instead. 8631 func (*Ebgp) Descriptor() ([]byte, []int) { 8632 return file_gobgp_proto_rawDescGZIP(), []int{110} 8633 } 8634 8635 func (x *Ebgp) GetConfig() *EbgpConfig { 8636 if x != nil { 8637 return x.Config 8638 } 8639 return nil 8640 } 8641 8642 func (x *Ebgp) GetState() *EbgpState { 8643 if x != nil { 8644 return x.State 8645 } 8646 return nil 8647 } 8648 8649 type IbgpConfig struct { 8650 state protoimpl.MessageState 8651 sizeCache protoimpl.SizeCache 8652 unknownFields protoimpl.UnknownFields 8653 8654 MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` 8655 } 8656 8657 func (x *IbgpConfig) Reset() { 8658 *x = IbgpConfig{} 8659 if protoimpl.UnsafeEnabled { 8660 mi := &file_gobgp_proto_msgTypes[111] 8661 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8662 ms.StoreMessageInfo(mi) 8663 } 8664 } 8665 8666 func (x *IbgpConfig) String() string { 8667 return protoimpl.X.MessageStringOf(x) 8668 } 8669 8670 func (*IbgpConfig) ProtoMessage() {} 8671 8672 func (x *IbgpConfig) ProtoReflect() protoreflect.Message { 8673 mi := &file_gobgp_proto_msgTypes[111] 8674 if protoimpl.UnsafeEnabled && x != nil { 8675 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8676 if ms.LoadMessageInfo() == nil { 8677 ms.StoreMessageInfo(mi) 8678 } 8679 return ms 8680 } 8681 return mi.MessageOf(x) 8682 } 8683 8684 // Deprecated: Use IbgpConfig.ProtoReflect.Descriptor instead. 8685 func (*IbgpConfig) Descriptor() ([]byte, []int) { 8686 return file_gobgp_proto_rawDescGZIP(), []int{111} 8687 } 8688 8689 func (x *IbgpConfig) GetMaximumPaths() uint32 { 8690 if x != nil { 8691 return x.MaximumPaths 8692 } 8693 return 0 8694 } 8695 8696 type IbgpState struct { 8697 state protoimpl.MessageState 8698 sizeCache protoimpl.SizeCache 8699 unknownFields protoimpl.UnknownFields 8700 8701 MaximumPaths uint32 `protobuf:"varint,1,opt,name=maximum_paths,json=maximumPaths,proto3" json:"maximum_paths,omitempty"` 8702 } 8703 8704 func (x *IbgpState) Reset() { 8705 *x = IbgpState{} 8706 if protoimpl.UnsafeEnabled { 8707 mi := &file_gobgp_proto_msgTypes[112] 8708 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8709 ms.StoreMessageInfo(mi) 8710 } 8711 } 8712 8713 func (x *IbgpState) String() string { 8714 return protoimpl.X.MessageStringOf(x) 8715 } 8716 8717 func (*IbgpState) ProtoMessage() {} 8718 8719 func (x *IbgpState) ProtoReflect() protoreflect.Message { 8720 mi := &file_gobgp_proto_msgTypes[112] 8721 if protoimpl.UnsafeEnabled && x != nil { 8722 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8723 if ms.LoadMessageInfo() == nil { 8724 ms.StoreMessageInfo(mi) 8725 } 8726 return ms 8727 } 8728 return mi.MessageOf(x) 8729 } 8730 8731 // Deprecated: Use IbgpState.ProtoReflect.Descriptor instead. 8732 func (*IbgpState) Descriptor() ([]byte, []int) { 8733 return file_gobgp_proto_rawDescGZIP(), []int{112} 8734 } 8735 8736 func (x *IbgpState) GetMaximumPaths() uint32 { 8737 if x != nil { 8738 return x.MaximumPaths 8739 } 8740 return 0 8741 } 8742 8743 type Ibgp struct { 8744 state protoimpl.MessageState 8745 sizeCache protoimpl.SizeCache 8746 unknownFields protoimpl.UnknownFields 8747 8748 Config *IbgpConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 8749 State *IbgpState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 8750 } 8751 8752 func (x *Ibgp) Reset() { 8753 *x = Ibgp{} 8754 if protoimpl.UnsafeEnabled { 8755 mi := &file_gobgp_proto_msgTypes[113] 8756 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8757 ms.StoreMessageInfo(mi) 8758 } 8759 } 8760 8761 func (x *Ibgp) String() string { 8762 return protoimpl.X.MessageStringOf(x) 8763 } 8764 8765 func (*Ibgp) ProtoMessage() {} 8766 8767 func (x *Ibgp) ProtoReflect() protoreflect.Message { 8768 mi := &file_gobgp_proto_msgTypes[113] 8769 if protoimpl.UnsafeEnabled && x != nil { 8770 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8771 if ms.LoadMessageInfo() == nil { 8772 ms.StoreMessageInfo(mi) 8773 } 8774 return ms 8775 } 8776 return mi.MessageOf(x) 8777 } 8778 8779 // Deprecated: Use Ibgp.ProtoReflect.Descriptor instead. 8780 func (*Ibgp) Descriptor() ([]byte, []int) { 8781 return file_gobgp_proto_rawDescGZIP(), []int{113} 8782 } 8783 8784 func (x *Ibgp) GetConfig() *IbgpConfig { 8785 if x != nil { 8786 return x.Config 8787 } 8788 return nil 8789 } 8790 8791 func (x *Ibgp) GetState() *IbgpState { 8792 if x != nil { 8793 return x.State 8794 } 8795 return nil 8796 } 8797 8798 type UseMultiplePaths struct { 8799 state protoimpl.MessageState 8800 sizeCache protoimpl.SizeCache 8801 unknownFields protoimpl.UnknownFields 8802 8803 Config *UseMultiplePathsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 8804 State *UseMultiplePathsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 8805 Ebgp *Ebgp `protobuf:"bytes,3,opt,name=ebgp,proto3" json:"ebgp,omitempty"` 8806 Ibgp *Ibgp `protobuf:"bytes,4,opt,name=ibgp,proto3" json:"ibgp,omitempty"` 8807 } 8808 8809 func (x *UseMultiplePaths) Reset() { 8810 *x = UseMultiplePaths{} 8811 if protoimpl.UnsafeEnabled { 8812 mi := &file_gobgp_proto_msgTypes[114] 8813 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8814 ms.StoreMessageInfo(mi) 8815 } 8816 } 8817 8818 func (x *UseMultiplePaths) String() string { 8819 return protoimpl.X.MessageStringOf(x) 8820 } 8821 8822 func (*UseMultiplePaths) ProtoMessage() {} 8823 8824 func (x *UseMultiplePaths) ProtoReflect() protoreflect.Message { 8825 mi := &file_gobgp_proto_msgTypes[114] 8826 if protoimpl.UnsafeEnabled && x != nil { 8827 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8828 if ms.LoadMessageInfo() == nil { 8829 ms.StoreMessageInfo(mi) 8830 } 8831 return ms 8832 } 8833 return mi.MessageOf(x) 8834 } 8835 8836 // Deprecated: Use UseMultiplePaths.ProtoReflect.Descriptor instead. 8837 func (*UseMultiplePaths) Descriptor() ([]byte, []int) { 8838 return file_gobgp_proto_rawDescGZIP(), []int{114} 8839 } 8840 8841 func (x *UseMultiplePaths) GetConfig() *UseMultiplePathsConfig { 8842 if x != nil { 8843 return x.Config 8844 } 8845 return nil 8846 } 8847 8848 func (x *UseMultiplePaths) GetState() *UseMultiplePathsState { 8849 if x != nil { 8850 return x.State 8851 } 8852 return nil 8853 } 8854 8855 func (x *UseMultiplePaths) GetEbgp() *Ebgp { 8856 if x != nil { 8857 return x.Ebgp 8858 } 8859 return nil 8860 } 8861 8862 func (x *UseMultiplePaths) GetIbgp() *Ibgp { 8863 if x != nil { 8864 return x.Ibgp 8865 } 8866 return nil 8867 } 8868 8869 type RouteTargetMembershipConfig struct { 8870 state protoimpl.MessageState 8871 sizeCache protoimpl.SizeCache 8872 unknownFields protoimpl.UnknownFields 8873 8874 DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` 8875 } 8876 8877 func (x *RouteTargetMembershipConfig) Reset() { 8878 *x = RouteTargetMembershipConfig{} 8879 if protoimpl.UnsafeEnabled { 8880 mi := &file_gobgp_proto_msgTypes[115] 8881 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8882 ms.StoreMessageInfo(mi) 8883 } 8884 } 8885 8886 func (x *RouteTargetMembershipConfig) String() string { 8887 return protoimpl.X.MessageStringOf(x) 8888 } 8889 8890 func (*RouteTargetMembershipConfig) ProtoMessage() {} 8891 8892 func (x *RouteTargetMembershipConfig) ProtoReflect() protoreflect.Message { 8893 mi := &file_gobgp_proto_msgTypes[115] 8894 if protoimpl.UnsafeEnabled && x != nil { 8895 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8896 if ms.LoadMessageInfo() == nil { 8897 ms.StoreMessageInfo(mi) 8898 } 8899 return ms 8900 } 8901 return mi.MessageOf(x) 8902 } 8903 8904 // Deprecated: Use RouteTargetMembershipConfig.ProtoReflect.Descriptor instead. 8905 func (*RouteTargetMembershipConfig) Descriptor() ([]byte, []int) { 8906 return file_gobgp_proto_rawDescGZIP(), []int{115} 8907 } 8908 8909 func (x *RouteTargetMembershipConfig) GetDeferralTime() uint32 { 8910 if x != nil { 8911 return x.DeferralTime 8912 } 8913 return 0 8914 } 8915 8916 type RouteTargetMembershipState struct { 8917 state protoimpl.MessageState 8918 sizeCache protoimpl.SizeCache 8919 unknownFields protoimpl.UnknownFields 8920 8921 DeferralTime uint32 `protobuf:"varint,1,opt,name=deferral_time,json=deferralTime,proto3" json:"deferral_time,omitempty"` 8922 } 8923 8924 func (x *RouteTargetMembershipState) Reset() { 8925 *x = RouteTargetMembershipState{} 8926 if protoimpl.UnsafeEnabled { 8927 mi := &file_gobgp_proto_msgTypes[116] 8928 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8929 ms.StoreMessageInfo(mi) 8930 } 8931 } 8932 8933 func (x *RouteTargetMembershipState) String() string { 8934 return protoimpl.X.MessageStringOf(x) 8935 } 8936 8937 func (*RouteTargetMembershipState) ProtoMessage() {} 8938 8939 func (x *RouteTargetMembershipState) ProtoReflect() protoreflect.Message { 8940 mi := &file_gobgp_proto_msgTypes[116] 8941 if protoimpl.UnsafeEnabled && x != nil { 8942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8943 if ms.LoadMessageInfo() == nil { 8944 ms.StoreMessageInfo(mi) 8945 } 8946 return ms 8947 } 8948 return mi.MessageOf(x) 8949 } 8950 8951 // Deprecated: Use RouteTargetMembershipState.ProtoReflect.Descriptor instead. 8952 func (*RouteTargetMembershipState) Descriptor() ([]byte, []int) { 8953 return file_gobgp_proto_rawDescGZIP(), []int{116} 8954 } 8955 8956 func (x *RouteTargetMembershipState) GetDeferralTime() uint32 { 8957 if x != nil { 8958 return x.DeferralTime 8959 } 8960 return 0 8961 } 8962 8963 type RouteTargetMembership struct { 8964 state protoimpl.MessageState 8965 sizeCache protoimpl.SizeCache 8966 unknownFields protoimpl.UnknownFields 8967 8968 Config *RouteTargetMembershipConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 8969 State *RouteTargetMembershipState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 8970 } 8971 8972 func (x *RouteTargetMembership) Reset() { 8973 *x = RouteTargetMembership{} 8974 if protoimpl.UnsafeEnabled { 8975 mi := &file_gobgp_proto_msgTypes[117] 8976 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8977 ms.StoreMessageInfo(mi) 8978 } 8979 } 8980 8981 func (x *RouteTargetMembership) String() string { 8982 return protoimpl.X.MessageStringOf(x) 8983 } 8984 8985 func (*RouteTargetMembership) ProtoMessage() {} 8986 8987 func (x *RouteTargetMembership) ProtoReflect() protoreflect.Message { 8988 mi := &file_gobgp_proto_msgTypes[117] 8989 if protoimpl.UnsafeEnabled && x != nil { 8990 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8991 if ms.LoadMessageInfo() == nil { 8992 ms.StoreMessageInfo(mi) 8993 } 8994 return ms 8995 } 8996 return mi.MessageOf(x) 8997 } 8998 8999 // Deprecated: Use RouteTargetMembership.ProtoReflect.Descriptor instead. 9000 func (*RouteTargetMembership) Descriptor() ([]byte, []int) { 9001 return file_gobgp_proto_rawDescGZIP(), []int{117} 9002 } 9003 9004 func (x *RouteTargetMembership) GetConfig() *RouteTargetMembershipConfig { 9005 if x != nil { 9006 return x.Config 9007 } 9008 return nil 9009 } 9010 9011 func (x *RouteTargetMembership) GetState() *RouteTargetMembershipState { 9012 if x != nil { 9013 return x.State 9014 } 9015 return nil 9016 } 9017 9018 type LongLivedGracefulRestartConfig struct { 9019 state protoimpl.MessageState 9020 sizeCache protoimpl.SizeCache 9021 unknownFields protoimpl.UnknownFields 9022 9023 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 9024 RestartTime uint32 `protobuf:"varint,2,opt,name=restart_time,json=restartTime,proto3" json:"restart_time,omitempty"` 9025 } 9026 9027 func (x *LongLivedGracefulRestartConfig) Reset() { 9028 *x = LongLivedGracefulRestartConfig{} 9029 if protoimpl.UnsafeEnabled { 9030 mi := &file_gobgp_proto_msgTypes[118] 9031 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9032 ms.StoreMessageInfo(mi) 9033 } 9034 } 9035 9036 func (x *LongLivedGracefulRestartConfig) String() string { 9037 return protoimpl.X.MessageStringOf(x) 9038 } 9039 9040 func (*LongLivedGracefulRestartConfig) ProtoMessage() {} 9041 9042 func (x *LongLivedGracefulRestartConfig) ProtoReflect() protoreflect.Message { 9043 mi := &file_gobgp_proto_msgTypes[118] 9044 if protoimpl.UnsafeEnabled && x != nil { 9045 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9046 if ms.LoadMessageInfo() == nil { 9047 ms.StoreMessageInfo(mi) 9048 } 9049 return ms 9050 } 9051 return mi.MessageOf(x) 9052 } 9053 9054 // Deprecated: Use LongLivedGracefulRestartConfig.ProtoReflect.Descriptor instead. 9055 func (*LongLivedGracefulRestartConfig) Descriptor() ([]byte, []int) { 9056 return file_gobgp_proto_rawDescGZIP(), []int{118} 9057 } 9058 9059 func (x *LongLivedGracefulRestartConfig) GetEnabled() bool { 9060 if x != nil { 9061 return x.Enabled 9062 } 9063 return false 9064 } 9065 9066 func (x *LongLivedGracefulRestartConfig) GetRestartTime() uint32 { 9067 if x != nil { 9068 return x.RestartTime 9069 } 9070 return 0 9071 } 9072 9073 type LongLivedGracefulRestartState struct { 9074 state protoimpl.MessageState 9075 sizeCache protoimpl.SizeCache 9076 unknownFields protoimpl.UnknownFields 9077 9078 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 9079 Received bool `protobuf:"varint,2,opt,name=received,proto3" json:"received,omitempty"` 9080 Advertised bool `protobuf:"varint,3,opt,name=advertised,proto3" json:"advertised,omitempty"` 9081 PeerRestartTime uint32 `protobuf:"varint,4,opt,name=peer_restart_time,json=peerRestartTime,proto3" json:"peer_restart_time,omitempty"` 9082 PeerRestartTimerExpired bool `protobuf:"varint,5,opt,name=peer_restart_timer_expired,json=peerRestartTimerExpired,proto3" json:"peer_restart_timer_expired,omitempty"` 9083 } 9084 9085 func (x *LongLivedGracefulRestartState) Reset() { 9086 *x = LongLivedGracefulRestartState{} 9087 if protoimpl.UnsafeEnabled { 9088 mi := &file_gobgp_proto_msgTypes[119] 9089 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9090 ms.StoreMessageInfo(mi) 9091 } 9092 } 9093 9094 func (x *LongLivedGracefulRestartState) String() string { 9095 return protoimpl.X.MessageStringOf(x) 9096 } 9097 9098 func (*LongLivedGracefulRestartState) ProtoMessage() {} 9099 9100 func (x *LongLivedGracefulRestartState) ProtoReflect() protoreflect.Message { 9101 mi := &file_gobgp_proto_msgTypes[119] 9102 if protoimpl.UnsafeEnabled && x != nil { 9103 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9104 if ms.LoadMessageInfo() == nil { 9105 ms.StoreMessageInfo(mi) 9106 } 9107 return ms 9108 } 9109 return mi.MessageOf(x) 9110 } 9111 9112 // Deprecated: Use LongLivedGracefulRestartState.ProtoReflect.Descriptor instead. 9113 func (*LongLivedGracefulRestartState) Descriptor() ([]byte, []int) { 9114 return file_gobgp_proto_rawDescGZIP(), []int{119} 9115 } 9116 9117 func (x *LongLivedGracefulRestartState) GetEnabled() bool { 9118 if x != nil { 9119 return x.Enabled 9120 } 9121 return false 9122 } 9123 9124 func (x *LongLivedGracefulRestartState) GetReceived() bool { 9125 if x != nil { 9126 return x.Received 9127 } 9128 return false 9129 } 9130 9131 func (x *LongLivedGracefulRestartState) GetAdvertised() bool { 9132 if x != nil { 9133 return x.Advertised 9134 } 9135 return false 9136 } 9137 9138 func (x *LongLivedGracefulRestartState) GetPeerRestartTime() uint32 { 9139 if x != nil { 9140 return x.PeerRestartTime 9141 } 9142 return 0 9143 } 9144 9145 func (x *LongLivedGracefulRestartState) GetPeerRestartTimerExpired() bool { 9146 if x != nil { 9147 return x.PeerRestartTimerExpired 9148 } 9149 return false 9150 } 9151 9152 type LongLivedGracefulRestart struct { 9153 state protoimpl.MessageState 9154 sizeCache protoimpl.SizeCache 9155 unknownFields protoimpl.UnknownFields 9156 9157 Config *LongLivedGracefulRestartConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 9158 State *LongLivedGracefulRestartState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 9159 } 9160 9161 func (x *LongLivedGracefulRestart) Reset() { 9162 *x = LongLivedGracefulRestart{} 9163 if protoimpl.UnsafeEnabled { 9164 mi := &file_gobgp_proto_msgTypes[120] 9165 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9166 ms.StoreMessageInfo(mi) 9167 } 9168 } 9169 9170 func (x *LongLivedGracefulRestart) String() string { 9171 return protoimpl.X.MessageStringOf(x) 9172 } 9173 9174 func (*LongLivedGracefulRestart) ProtoMessage() {} 9175 9176 func (x *LongLivedGracefulRestart) ProtoReflect() protoreflect.Message { 9177 mi := &file_gobgp_proto_msgTypes[120] 9178 if protoimpl.UnsafeEnabled && x != nil { 9179 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9180 if ms.LoadMessageInfo() == nil { 9181 ms.StoreMessageInfo(mi) 9182 } 9183 return ms 9184 } 9185 return mi.MessageOf(x) 9186 } 9187 9188 // Deprecated: Use LongLivedGracefulRestart.ProtoReflect.Descriptor instead. 9189 func (*LongLivedGracefulRestart) Descriptor() ([]byte, []int) { 9190 return file_gobgp_proto_rawDescGZIP(), []int{120} 9191 } 9192 9193 func (x *LongLivedGracefulRestart) GetConfig() *LongLivedGracefulRestartConfig { 9194 if x != nil { 9195 return x.Config 9196 } 9197 return nil 9198 } 9199 9200 func (x *LongLivedGracefulRestart) GetState() *LongLivedGracefulRestartState { 9201 if x != nil { 9202 return x.State 9203 } 9204 return nil 9205 } 9206 9207 type AfiSafi struct { 9208 state protoimpl.MessageState 9209 sizeCache protoimpl.SizeCache 9210 unknownFields protoimpl.UnknownFields 9211 9212 MpGracefulRestart *MpGracefulRestart `protobuf:"bytes,1,opt,name=mp_graceful_restart,json=mpGracefulRestart,proto3" json:"mp_graceful_restart,omitempty"` 9213 Config *AfiSafiConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` 9214 State *AfiSafiState `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` 9215 ApplyPolicy *ApplyPolicy `protobuf:"bytes,4,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` 9216 // TODO: 9217 // Support the following structures: 9218 // - Ipv4Unicast 9219 // - Ipv6Unicast 9220 // - Ipv4LabelledUnicast 9221 // - Ipv6LabelledUnicast 9222 // - L3vpnIpv4Unicast 9223 // - L3vpnIpv6Unicast 9224 // - L3vpnIpv4Multicast 9225 // - L3vpnIpv6Multicast 9226 // - L2vpnVpls 9227 // - L2vpnEvpn 9228 RouteSelectionOptions *RouteSelectionOptions `protobuf:"bytes,5,opt,name=route_selection_options,json=routeSelectionOptions,proto3" json:"route_selection_options,omitempty"` 9229 UseMultiplePaths *UseMultiplePaths `protobuf:"bytes,6,opt,name=use_multiple_paths,json=useMultiplePaths,proto3" json:"use_multiple_paths,omitempty"` 9230 PrefixLimits *PrefixLimit `protobuf:"bytes,7,opt,name=prefix_limits,json=prefixLimits,proto3" json:"prefix_limits,omitempty"` 9231 RouteTargetMembership *RouteTargetMembership `protobuf:"bytes,8,opt,name=route_target_membership,json=routeTargetMembership,proto3" json:"route_target_membership,omitempty"` 9232 LongLivedGracefulRestart *LongLivedGracefulRestart `protobuf:"bytes,9,opt,name=long_lived_graceful_restart,json=longLivedGracefulRestart,proto3" json:"long_lived_graceful_restart,omitempty"` 9233 AddPaths *AddPaths `protobuf:"bytes,10,opt,name=add_paths,json=addPaths,proto3" json:"add_paths,omitempty"` 9234 } 9235 9236 func (x *AfiSafi) Reset() { 9237 *x = AfiSafi{} 9238 if protoimpl.UnsafeEnabled { 9239 mi := &file_gobgp_proto_msgTypes[121] 9240 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9241 ms.StoreMessageInfo(mi) 9242 } 9243 } 9244 9245 func (x *AfiSafi) String() string { 9246 return protoimpl.X.MessageStringOf(x) 9247 } 9248 9249 func (*AfiSafi) ProtoMessage() {} 9250 9251 func (x *AfiSafi) ProtoReflect() protoreflect.Message { 9252 mi := &file_gobgp_proto_msgTypes[121] 9253 if protoimpl.UnsafeEnabled && x != nil { 9254 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9255 if ms.LoadMessageInfo() == nil { 9256 ms.StoreMessageInfo(mi) 9257 } 9258 return ms 9259 } 9260 return mi.MessageOf(x) 9261 } 9262 9263 // Deprecated: Use AfiSafi.ProtoReflect.Descriptor instead. 9264 func (*AfiSafi) Descriptor() ([]byte, []int) { 9265 return file_gobgp_proto_rawDescGZIP(), []int{121} 9266 } 9267 9268 func (x *AfiSafi) GetMpGracefulRestart() *MpGracefulRestart { 9269 if x != nil { 9270 return x.MpGracefulRestart 9271 } 9272 return nil 9273 } 9274 9275 func (x *AfiSafi) GetConfig() *AfiSafiConfig { 9276 if x != nil { 9277 return x.Config 9278 } 9279 return nil 9280 } 9281 9282 func (x *AfiSafi) GetState() *AfiSafiState { 9283 if x != nil { 9284 return x.State 9285 } 9286 return nil 9287 } 9288 9289 func (x *AfiSafi) GetApplyPolicy() *ApplyPolicy { 9290 if x != nil { 9291 return x.ApplyPolicy 9292 } 9293 return nil 9294 } 9295 9296 func (x *AfiSafi) GetRouteSelectionOptions() *RouteSelectionOptions { 9297 if x != nil { 9298 return x.RouteSelectionOptions 9299 } 9300 return nil 9301 } 9302 9303 func (x *AfiSafi) GetUseMultiplePaths() *UseMultiplePaths { 9304 if x != nil { 9305 return x.UseMultiplePaths 9306 } 9307 return nil 9308 } 9309 9310 func (x *AfiSafi) GetPrefixLimits() *PrefixLimit { 9311 if x != nil { 9312 return x.PrefixLimits 9313 } 9314 return nil 9315 } 9316 9317 func (x *AfiSafi) GetRouteTargetMembership() *RouteTargetMembership { 9318 if x != nil { 9319 return x.RouteTargetMembership 9320 } 9321 return nil 9322 } 9323 9324 func (x *AfiSafi) GetLongLivedGracefulRestart() *LongLivedGracefulRestart { 9325 if x != nil { 9326 return x.LongLivedGracefulRestart 9327 } 9328 return nil 9329 } 9330 9331 func (x *AfiSafi) GetAddPaths() *AddPaths { 9332 if x != nil { 9333 return x.AddPaths 9334 } 9335 return nil 9336 } 9337 9338 type AddPathsConfig struct { 9339 state protoimpl.MessageState 9340 sizeCache protoimpl.SizeCache 9341 unknownFields protoimpl.UnknownFields 9342 9343 Receive bool `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"` 9344 SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"` 9345 } 9346 9347 func (x *AddPathsConfig) Reset() { 9348 *x = AddPathsConfig{} 9349 if protoimpl.UnsafeEnabled { 9350 mi := &file_gobgp_proto_msgTypes[122] 9351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9352 ms.StoreMessageInfo(mi) 9353 } 9354 } 9355 9356 func (x *AddPathsConfig) String() string { 9357 return protoimpl.X.MessageStringOf(x) 9358 } 9359 9360 func (*AddPathsConfig) ProtoMessage() {} 9361 9362 func (x *AddPathsConfig) ProtoReflect() protoreflect.Message { 9363 mi := &file_gobgp_proto_msgTypes[122] 9364 if protoimpl.UnsafeEnabled && x != nil { 9365 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9366 if ms.LoadMessageInfo() == nil { 9367 ms.StoreMessageInfo(mi) 9368 } 9369 return ms 9370 } 9371 return mi.MessageOf(x) 9372 } 9373 9374 // Deprecated: Use AddPathsConfig.ProtoReflect.Descriptor instead. 9375 func (*AddPathsConfig) Descriptor() ([]byte, []int) { 9376 return file_gobgp_proto_rawDescGZIP(), []int{122} 9377 } 9378 9379 func (x *AddPathsConfig) GetReceive() bool { 9380 if x != nil { 9381 return x.Receive 9382 } 9383 return false 9384 } 9385 9386 func (x *AddPathsConfig) GetSendMax() uint32 { 9387 if x != nil { 9388 return x.SendMax 9389 } 9390 return 0 9391 } 9392 9393 type AddPathsState struct { 9394 state protoimpl.MessageState 9395 sizeCache protoimpl.SizeCache 9396 unknownFields protoimpl.UnknownFields 9397 9398 Receive bool `protobuf:"varint,1,opt,name=receive,proto3" json:"receive,omitempty"` 9399 SendMax uint32 `protobuf:"varint,2,opt,name=send_max,json=sendMax,proto3" json:"send_max,omitempty"` 9400 } 9401 9402 func (x *AddPathsState) Reset() { 9403 *x = AddPathsState{} 9404 if protoimpl.UnsafeEnabled { 9405 mi := &file_gobgp_proto_msgTypes[123] 9406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9407 ms.StoreMessageInfo(mi) 9408 } 9409 } 9410 9411 func (x *AddPathsState) String() string { 9412 return protoimpl.X.MessageStringOf(x) 9413 } 9414 9415 func (*AddPathsState) ProtoMessage() {} 9416 9417 func (x *AddPathsState) ProtoReflect() protoreflect.Message { 9418 mi := &file_gobgp_proto_msgTypes[123] 9419 if protoimpl.UnsafeEnabled && x != nil { 9420 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9421 if ms.LoadMessageInfo() == nil { 9422 ms.StoreMessageInfo(mi) 9423 } 9424 return ms 9425 } 9426 return mi.MessageOf(x) 9427 } 9428 9429 // Deprecated: Use AddPathsState.ProtoReflect.Descriptor instead. 9430 func (*AddPathsState) Descriptor() ([]byte, []int) { 9431 return file_gobgp_proto_rawDescGZIP(), []int{123} 9432 } 9433 9434 func (x *AddPathsState) GetReceive() bool { 9435 if x != nil { 9436 return x.Receive 9437 } 9438 return false 9439 } 9440 9441 func (x *AddPathsState) GetSendMax() uint32 { 9442 if x != nil { 9443 return x.SendMax 9444 } 9445 return 0 9446 } 9447 9448 type AddPaths struct { 9449 state protoimpl.MessageState 9450 sizeCache protoimpl.SizeCache 9451 unknownFields protoimpl.UnknownFields 9452 9453 Config *AddPathsConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` 9454 State *AddPathsState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 9455 } 9456 9457 func (x *AddPaths) Reset() { 9458 *x = AddPaths{} 9459 if protoimpl.UnsafeEnabled { 9460 mi := &file_gobgp_proto_msgTypes[124] 9461 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9462 ms.StoreMessageInfo(mi) 9463 } 9464 } 9465 9466 func (x *AddPaths) String() string { 9467 return protoimpl.X.MessageStringOf(x) 9468 } 9469 9470 func (*AddPaths) ProtoMessage() {} 9471 9472 func (x *AddPaths) ProtoReflect() protoreflect.Message { 9473 mi := &file_gobgp_proto_msgTypes[124] 9474 if protoimpl.UnsafeEnabled && x != nil { 9475 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9476 if ms.LoadMessageInfo() == nil { 9477 ms.StoreMessageInfo(mi) 9478 } 9479 return ms 9480 } 9481 return mi.MessageOf(x) 9482 } 9483 9484 // Deprecated: Use AddPaths.ProtoReflect.Descriptor instead. 9485 func (*AddPaths) Descriptor() ([]byte, []int) { 9486 return file_gobgp_proto_rawDescGZIP(), []int{124} 9487 } 9488 9489 func (x *AddPaths) GetConfig() *AddPathsConfig { 9490 if x != nil { 9491 return x.Config 9492 } 9493 return nil 9494 } 9495 9496 func (x *AddPaths) GetState() *AddPathsState { 9497 if x != nil { 9498 return x.State 9499 } 9500 return nil 9501 } 9502 9503 type Prefix struct { 9504 state protoimpl.MessageState 9505 sizeCache protoimpl.SizeCache 9506 unknownFields protoimpl.UnknownFields 9507 9508 IpPrefix string `protobuf:"bytes,1,opt,name=ip_prefix,json=ipPrefix,proto3" json:"ip_prefix,omitempty"` 9509 MaskLengthMin uint32 `protobuf:"varint,2,opt,name=mask_length_min,json=maskLengthMin,proto3" json:"mask_length_min,omitempty"` 9510 MaskLengthMax uint32 `protobuf:"varint,3,opt,name=mask_length_max,json=maskLengthMax,proto3" json:"mask_length_max,omitempty"` 9511 } 9512 9513 func (x *Prefix) Reset() { 9514 *x = Prefix{} 9515 if protoimpl.UnsafeEnabled { 9516 mi := &file_gobgp_proto_msgTypes[125] 9517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9518 ms.StoreMessageInfo(mi) 9519 } 9520 } 9521 9522 func (x *Prefix) String() string { 9523 return protoimpl.X.MessageStringOf(x) 9524 } 9525 9526 func (*Prefix) ProtoMessage() {} 9527 9528 func (x *Prefix) ProtoReflect() protoreflect.Message { 9529 mi := &file_gobgp_proto_msgTypes[125] 9530 if protoimpl.UnsafeEnabled && x != nil { 9531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9532 if ms.LoadMessageInfo() == nil { 9533 ms.StoreMessageInfo(mi) 9534 } 9535 return ms 9536 } 9537 return mi.MessageOf(x) 9538 } 9539 9540 // Deprecated: Use Prefix.ProtoReflect.Descriptor instead. 9541 func (*Prefix) Descriptor() ([]byte, []int) { 9542 return file_gobgp_proto_rawDescGZIP(), []int{125} 9543 } 9544 9545 func (x *Prefix) GetIpPrefix() string { 9546 if x != nil { 9547 return x.IpPrefix 9548 } 9549 return "" 9550 } 9551 9552 func (x *Prefix) GetMaskLengthMin() uint32 { 9553 if x != nil { 9554 return x.MaskLengthMin 9555 } 9556 return 0 9557 } 9558 9559 func (x *Prefix) GetMaskLengthMax() uint32 { 9560 if x != nil { 9561 return x.MaskLengthMax 9562 } 9563 return 0 9564 } 9565 9566 type DefinedSet struct { 9567 state protoimpl.MessageState 9568 sizeCache protoimpl.SizeCache 9569 unknownFields protoimpl.UnknownFields 9570 9571 DefinedType DefinedType `protobuf:"varint,1,opt,name=defined_type,json=definedType,proto3,enum=apipb.DefinedType" json:"defined_type,omitempty"` 9572 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 9573 List []string `protobuf:"bytes,3,rep,name=list,proto3" json:"list,omitempty"` 9574 Prefixes []*Prefix `protobuf:"bytes,4,rep,name=prefixes,proto3" json:"prefixes,omitempty"` 9575 } 9576 9577 func (x *DefinedSet) Reset() { 9578 *x = DefinedSet{} 9579 if protoimpl.UnsafeEnabled { 9580 mi := &file_gobgp_proto_msgTypes[126] 9581 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9582 ms.StoreMessageInfo(mi) 9583 } 9584 } 9585 9586 func (x *DefinedSet) String() string { 9587 return protoimpl.X.MessageStringOf(x) 9588 } 9589 9590 func (*DefinedSet) ProtoMessage() {} 9591 9592 func (x *DefinedSet) ProtoReflect() protoreflect.Message { 9593 mi := &file_gobgp_proto_msgTypes[126] 9594 if protoimpl.UnsafeEnabled && x != nil { 9595 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9596 if ms.LoadMessageInfo() == nil { 9597 ms.StoreMessageInfo(mi) 9598 } 9599 return ms 9600 } 9601 return mi.MessageOf(x) 9602 } 9603 9604 // Deprecated: Use DefinedSet.ProtoReflect.Descriptor instead. 9605 func (*DefinedSet) Descriptor() ([]byte, []int) { 9606 return file_gobgp_proto_rawDescGZIP(), []int{126} 9607 } 9608 9609 func (x *DefinedSet) GetDefinedType() DefinedType { 9610 if x != nil { 9611 return x.DefinedType 9612 } 9613 return DefinedType_PREFIX 9614 } 9615 9616 func (x *DefinedSet) GetName() string { 9617 if x != nil { 9618 return x.Name 9619 } 9620 return "" 9621 } 9622 9623 func (x *DefinedSet) GetList() []string { 9624 if x != nil { 9625 return x.List 9626 } 9627 return nil 9628 } 9629 9630 func (x *DefinedSet) GetPrefixes() []*Prefix { 9631 if x != nil { 9632 return x.Prefixes 9633 } 9634 return nil 9635 } 9636 9637 type MatchSet struct { 9638 state protoimpl.MessageState 9639 sizeCache protoimpl.SizeCache 9640 unknownFields protoimpl.UnknownFields 9641 9642 Type MatchSet_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.MatchSet_Type" json:"type,omitempty"` 9643 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 9644 } 9645 9646 func (x *MatchSet) Reset() { 9647 *x = MatchSet{} 9648 if protoimpl.UnsafeEnabled { 9649 mi := &file_gobgp_proto_msgTypes[127] 9650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9651 ms.StoreMessageInfo(mi) 9652 } 9653 } 9654 9655 func (x *MatchSet) String() string { 9656 return protoimpl.X.MessageStringOf(x) 9657 } 9658 9659 func (*MatchSet) ProtoMessage() {} 9660 9661 func (x *MatchSet) ProtoReflect() protoreflect.Message { 9662 mi := &file_gobgp_proto_msgTypes[127] 9663 if protoimpl.UnsafeEnabled && x != nil { 9664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9665 if ms.LoadMessageInfo() == nil { 9666 ms.StoreMessageInfo(mi) 9667 } 9668 return ms 9669 } 9670 return mi.MessageOf(x) 9671 } 9672 9673 // Deprecated: Use MatchSet.ProtoReflect.Descriptor instead. 9674 func (*MatchSet) Descriptor() ([]byte, []int) { 9675 return file_gobgp_proto_rawDescGZIP(), []int{127} 9676 } 9677 9678 func (x *MatchSet) GetType() MatchSet_Type { 9679 if x != nil { 9680 return x.Type 9681 } 9682 return MatchSet_ANY 9683 } 9684 9685 func (x *MatchSet) GetName() string { 9686 if x != nil { 9687 return x.Name 9688 } 9689 return "" 9690 } 9691 9692 type AsPathLength struct { 9693 state protoimpl.MessageState 9694 sizeCache protoimpl.SizeCache 9695 unknownFields protoimpl.UnknownFields 9696 9697 Type AsPathLength_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.AsPathLength_Type" json:"type,omitempty"` 9698 Length uint32 `protobuf:"varint,2,opt,name=length,proto3" json:"length,omitempty"` 9699 } 9700 9701 func (x *AsPathLength) Reset() { 9702 *x = AsPathLength{} 9703 if protoimpl.UnsafeEnabled { 9704 mi := &file_gobgp_proto_msgTypes[128] 9705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9706 ms.StoreMessageInfo(mi) 9707 } 9708 } 9709 9710 func (x *AsPathLength) String() string { 9711 return protoimpl.X.MessageStringOf(x) 9712 } 9713 9714 func (*AsPathLength) ProtoMessage() {} 9715 9716 func (x *AsPathLength) ProtoReflect() protoreflect.Message { 9717 mi := &file_gobgp_proto_msgTypes[128] 9718 if protoimpl.UnsafeEnabled && x != nil { 9719 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9720 if ms.LoadMessageInfo() == nil { 9721 ms.StoreMessageInfo(mi) 9722 } 9723 return ms 9724 } 9725 return mi.MessageOf(x) 9726 } 9727 9728 // Deprecated: Use AsPathLength.ProtoReflect.Descriptor instead. 9729 func (*AsPathLength) Descriptor() ([]byte, []int) { 9730 return file_gobgp_proto_rawDescGZIP(), []int{128} 9731 } 9732 9733 func (x *AsPathLength) GetType() AsPathLength_Type { 9734 if x != nil { 9735 return x.Type 9736 } 9737 return AsPathLength_EQ 9738 } 9739 9740 func (x *AsPathLength) GetLength() uint32 { 9741 if x != nil { 9742 return x.Length 9743 } 9744 return 0 9745 } 9746 9747 type CommunityCount struct { 9748 state protoimpl.MessageState 9749 sizeCache protoimpl.SizeCache 9750 unknownFields protoimpl.UnknownFields 9751 9752 Type CommunityCount_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.CommunityCount_Type" json:"type,omitempty"` 9753 Count uint32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` 9754 } 9755 9756 func (x *CommunityCount) Reset() { 9757 *x = CommunityCount{} 9758 if protoimpl.UnsafeEnabled { 9759 mi := &file_gobgp_proto_msgTypes[129] 9760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9761 ms.StoreMessageInfo(mi) 9762 } 9763 } 9764 9765 func (x *CommunityCount) String() string { 9766 return protoimpl.X.MessageStringOf(x) 9767 } 9768 9769 func (*CommunityCount) ProtoMessage() {} 9770 9771 func (x *CommunityCount) ProtoReflect() protoreflect.Message { 9772 mi := &file_gobgp_proto_msgTypes[129] 9773 if protoimpl.UnsafeEnabled && x != nil { 9774 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9775 if ms.LoadMessageInfo() == nil { 9776 ms.StoreMessageInfo(mi) 9777 } 9778 return ms 9779 } 9780 return mi.MessageOf(x) 9781 } 9782 9783 // Deprecated: Use CommunityCount.ProtoReflect.Descriptor instead. 9784 func (*CommunityCount) Descriptor() ([]byte, []int) { 9785 return file_gobgp_proto_rawDescGZIP(), []int{129} 9786 } 9787 9788 func (x *CommunityCount) GetType() CommunityCount_Type { 9789 if x != nil { 9790 return x.Type 9791 } 9792 return CommunityCount_EQ 9793 } 9794 9795 func (x *CommunityCount) GetCount() uint32 { 9796 if x != nil { 9797 return x.Count 9798 } 9799 return 0 9800 } 9801 9802 type Conditions struct { 9803 state protoimpl.MessageState 9804 sizeCache protoimpl.SizeCache 9805 unknownFields protoimpl.UnknownFields 9806 9807 PrefixSet *MatchSet `protobuf:"bytes,1,opt,name=prefix_set,json=prefixSet,proto3" json:"prefix_set,omitempty"` 9808 NeighborSet *MatchSet `protobuf:"bytes,2,opt,name=neighbor_set,json=neighborSet,proto3" json:"neighbor_set,omitempty"` 9809 AsPathLength *AsPathLength `protobuf:"bytes,3,opt,name=as_path_length,json=asPathLength,proto3" json:"as_path_length,omitempty"` 9810 AsPathSet *MatchSet `protobuf:"bytes,4,opt,name=as_path_set,json=asPathSet,proto3" json:"as_path_set,omitempty"` 9811 CommunitySet *MatchSet `protobuf:"bytes,5,opt,name=community_set,json=communitySet,proto3" json:"community_set,omitempty"` 9812 ExtCommunitySet *MatchSet `protobuf:"bytes,6,opt,name=ext_community_set,json=extCommunitySet,proto3" json:"ext_community_set,omitempty"` 9813 RpkiResult int32 `protobuf:"varint,7,opt,name=rpki_result,json=rpkiResult,proto3" json:"rpki_result,omitempty"` 9814 RouteType Conditions_RouteType `protobuf:"varint,8,opt,name=route_type,json=routeType,proto3,enum=apipb.Conditions_RouteType" json:"route_type,omitempty"` 9815 LargeCommunitySet *MatchSet `protobuf:"bytes,9,opt,name=large_community_set,json=largeCommunitySet,proto3" json:"large_community_set,omitempty"` 9816 NextHopInList []string `protobuf:"bytes,10,rep,name=next_hop_in_list,json=nextHopInList,proto3" json:"next_hop_in_list,omitempty"` 9817 AfiSafiIn []*Family `protobuf:"bytes,11,rep,name=afi_safi_in,json=afiSafiIn,proto3" json:"afi_safi_in,omitempty"` 9818 CommunityCount *CommunityCount `protobuf:"bytes,12,opt,name=community_count,json=communityCount,proto3" json:"community_count,omitempty"` 9819 Origin RouteOriginType `protobuf:"varint,13,opt,name=origin,proto3,enum=apipb.RouteOriginType" json:"origin,omitempty"` 9820 } 9821 9822 func (x *Conditions) Reset() { 9823 *x = Conditions{} 9824 if protoimpl.UnsafeEnabled { 9825 mi := &file_gobgp_proto_msgTypes[130] 9826 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9827 ms.StoreMessageInfo(mi) 9828 } 9829 } 9830 9831 func (x *Conditions) String() string { 9832 return protoimpl.X.MessageStringOf(x) 9833 } 9834 9835 func (*Conditions) ProtoMessage() {} 9836 9837 func (x *Conditions) ProtoReflect() protoreflect.Message { 9838 mi := &file_gobgp_proto_msgTypes[130] 9839 if protoimpl.UnsafeEnabled && x != nil { 9840 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9841 if ms.LoadMessageInfo() == nil { 9842 ms.StoreMessageInfo(mi) 9843 } 9844 return ms 9845 } 9846 return mi.MessageOf(x) 9847 } 9848 9849 // Deprecated: Use Conditions.ProtoReflect.Descriptor instead. 9850 func (*Conditions) Descriptor() ([]byte, []int) { 9851 return file_gobgp_proto_rawDescGZIP(), []int{130} 9852 } 9853 9854 func (x *Conditions) GetPrefixSet() *MatchSet { 9855 if x != nil { 9856 return x.PrefixSet 9857 } 9858 return nil 9859 } 9860 9861 func (x *Conditions) GetNeighborSet() *MatchSet { 9862 if x != nil { 9863 return x.NeighborSet 9864 } 9865 return nil 9866 } 9867 9868 func (x *Conditions) GetAsPathLength() *AsPathLength { 9869 if x != nil { 9870 return x.AsPathLength 9871 } 9872 return nil 9873 } 9874 9875 func (x *Conditions) GetAsPathSet() *MatchSet { 9876 if x != nil { 9877 return x.AsPathSet 9878 } 9879 return nil 9880 } 9881 9882 func (x *Conditions) GetCommunitySet() *MatchSet { 9883 if x != nil { 9884 return x.CommunitySet 9885 } 9886 return nil 9887 } 9888 9889 func (x *Conditions) GetExtCommunitySet() *MatchSet { 9890 if x != nil { 9891 return x.ExtCommunitySet 9892 } 9893 return nil 9894 } 9895 9896 func (x *Conditions) GetRpkiResult() int32 { 9897 if x != nil { 9898 return x.RpkiResult 9899 } 9900 return 0 9901 } 9902 9903 func (x *Conditions) GetRouteType() Conditions_RouteType { 9904 if x != nil { 9905 return x.RouteType 9906 } 9907 return Conditions_ROUTE_TYPE_NONE 9908 } 9909 9910 func (x *Conditions) GetLargeCommunitySet() *MatchSet { 9911 if x != nil { 9912 return x.LargeCommunitySet 9913 } 9914 return nil 9915 } 9916 9917 func (x *Conditions) GetNextHopInList() []string { 9918 if x != nil { 9919 return x.NextHopInList 9920 } 9921 return nil 9922 } 9923 9924 func (x *Conditions) GetAfiSafiIn() []*Family { 9925 if x != nil { 9926 return x.AfiSafiIn 9927 } 9928 return nil 9929 } 9930 9931 func (x *Conditions) GetCommunityCount() *CommunityCount { 9932 if x != nil { 9933 return x.CommunityCount 9934 } 9935 return nil 9936 } 9937 9938 func (x *Conditions) GetOrigin() RouteOriginType { 9939 if x != nil { 9940 return x.Origin 9941 } 9942 return RouteOriginType_ORIGIN_NONE 9943 } 9944 9945 type CommunityAction struct { 9946 state protoimpl.MessageState 9947 sizeCache protoimpl.SizeCache 9948 unknownFields protoimpl.UnknownFields 9949 9950 Type CommunityAction_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.CommunityAction_Type" json:"type,omitempty"` 9951 Communities []string `protobuf:"bytes,2,rep,name=communities,proto3" json:"communities,omitempty"` 9952 } 9953 9954 func (x *CommunityAction) Reset() { 9955 *x = CommunityAction{} 9956 if protoimpl.UnsafeEnabled { 9957 mi := &file_gobgp_proto_msgTypes[131] 9958 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9959 ms.StoreMessageInfo(mi) 9960 } 9961 } 9962 9963 func (x *CommunityAction) String() string { 9964 return protoimpl.X.MessageStringOf(x) 9965 } 9966 9967 func (*CommunityAction) ProtoMessage() {} 9968 9969 func (x *CommunityAction) ProtoReflect() protoreflect.Message { 9970 mi := &file_gobgp_proto_msgTypes[131] 9971 if protoimpl.UnsafeEnabled && x != nil { 9972 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9973 if ms.LoadMessageInfo() == nil { 9974 ms.StoreMessageInfo(mi) 9975 } 9976 return ms 9977 } 9978 return mi.MessageOf(x) 9979 } 9980 9981 // Deprecated: Use CommunityAction.ProtoReflect.Descriptor instead. 9982 func (*CommunityAction) Descriptor() ([]byte, []int) { 9983 return file_gobgp_proto_rawDescGZIP(), []int{131} 9984 } 9985 9986 func (x *CommunityAction) GetType() CommunityAction_Type { 9987 if x != nil { 9988 return x.Type 9989 } 9990 return CommunityAction_ADD 9991 } 9992 9993 func (x *CommunityAction) GetCommunities() []string { 9994 if x != nil { 9995 return x.Communities 9996 } 9997 return nil 9998 } 9999 10000 type MedAction struct { 10001 state protoimpl.MessageState 10002 sizeCache protoimpl.SizeCache 10003 unknownFields protoimpl.UnknownFields 10004 10005 Type MedAction_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.MedAction_Type" json:"type,omitempty"` 10006 Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` 10007 } 10008 10009 func (x *MedAction) Reset() { 10010 *x = MedAction{} 10011 if protoimpl.UnsafeEnabled { 10012 mi := &file_gobgp_proto_msgTypes[132] 10013 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10014 ms.StoreMessageInfo(mi) 10015 } 10016 } 10017 10018 func (x *MedAction) String() string { 10019 return protoimpl.X.MessageStringOf(x) 10020 } 10021 10022 func (*MedAction) ProtoMessage() {} 10023 10024 func (x *MedAction) ProtoReflect() protoreflect.Message { 10025 mi := &file_gobgp_proto_msgTypes[132] 10026 if protoimpl.UnsafeEnabled && x != nil { 10027 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10028 if ms.LoadMessageInfo() == nil { 10029 ms.StoreMessageInfo(mi) 10030 } 10031 return ms 10032 } 10033 return mi.MessageOf(x) 10034 } 10035 10036 // Deprecated: Use MedAction.ProtoReflect.Descriptor instead. 10037 func (*MedAction) Descriptor() ([]byte, []int) { 10038 return file_gobgp_proto_rawDescGZIP(), []int{132} 10039 } 10040 10041 func (x *MedAction) GetType() MedAction_Type { 10042 if x != nil { 10043 return x.Type 10044 } 10045 return MedAction_MOD 10046 } 10047 10048 func (x *MedAction) GetValue() int64 { 10049 if x != nil { 10050 return x.Value 10051 } 10052 return 0 10053 } 10054 10055 type AsPrependAction struct { 10056 state protoimpl.MessageState 10057 sizeCache protoimpl.SizeCache 10058 unknownFields protoimpl.UnknownFields 10059 10060 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 10061 Repeat uint32 `protobuf:"varint,2,opt,name=repeat,proto3" json:"repeat,omitempty"` 10062 UseLeftMost bool `protobuf:"varint,3,opt,name=use_left_most,json=useLeftMost,proto3" json:"use_left_most,omitempty"` 10063 } 10064 10065 func (x *AsPrependAction) Reset() { 10066 *x = AsPrependAction{} 10067 if protoimpl.UnsafeEnabled { 10068 mi := &file_gobgp_proto_msgTypes[133] 10069 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10070 ms.StoreMessageInfo(mi) 10071 } 10072 } 10073 10074 func (x *AsPrependAction) String() string { 10075 return protoimpl.X.MessageStringOf(x) 10076 } 10077 10078 func (*AsPrependAction) ProtoMessage() {} 10079 10080 func (x *AsPrependAction) ProtoReflect() protoreflect.Message { 10081 mi := &file_gobgp_proto_msgTypes[133] 10082 if protoimpl.UnsafeEnabled && x != nil { 10083 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10084 if ms.LoadMessageInfo() == nil { 10085 ms.StoreMessageInfo(mi) 10086 } 10087 return ms 10088 } 10089 return mi.MessageOf(x) 10090 } 10091 10092 // Deprecated: Use AsPrependAction.ProtoReflect.Descriptor instead. 10093 func (*AsPrependAction) Descriptor() ([]byte, []int) { 10094 return file_gobgp_proto_rawDescGZIP(), []int{133} 10095 } 10096 10097 func (x *AsPrependAction) GetAsn() uint32 { 10098 if x != nil { 10099 return x.Asn 10100 } 10101 return 0 10102 } 10103 10104 func (x *AsPrependAction) GetRepeat() uint32 { 10105 if x != nil { 10106 return x.Repeat 10107 } 10108 return 0 10109 } 10110 10111 func (x *AsPrependAction) GetUseLeftMost() bool { 10112 if x != nil { 10113 return x.UseLeftMost 10114 } 10115 return false 10116 } 10117 10118 type NexthopAction struct { 10119 state protoimpl.MessageState 10120 sizeCache protoimpl.SizeCache 10121 unknownFields protoimpl.UnknownFields 10122 10123 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 10124 Self bool `protobuf:"varint,2,opt,name=self,proto3" json:"self,omitempty"` 10125 Unchanged bool `protobuf:"varint,3,opt,name=unchanged,proto3" json:"unchanged,omitempty"` 10126 PeerAddress bool `protobuf:"varint,4,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"` 10127 } 10128 10129 func (x *NexthopAction) Reset() { 10130 *x = NexthopAction{} 10131 if protoimpl.UnsafeEnabled { 10132 mi := &file_gobgp_proto_msgTypes[134] 10133 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10134 ms.StoreMessageInfo(mi) 10135 } 10136 } 10137 10138 func (x *NexthopAction) String() string { 10139 return protoimpl.X.MessageStringOf(x) 10140 } 10141 10142 func (*NexthopAction) ProtoMessage() {} 10143 10144 func (x *NexthopAction) ProtoReflect() protoreflect.Message { 10145 mi := &file_gobgp_proto_msgTypes[134] 10146 if protoimpl.UnsafeEnabled && x != nil { 10147 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10148 if ms.LoadMessageInfo() == nil { 10149 ms.StoreMessageInfo(mi) 10150 } 10151 return ms 10152 } 10153 return mi.MessageOf(x) 10154 } 10155 10156 // Deprecated: Use NexthopAction.ProtoReflect.Descriptor instead. 10157 func (*NexthopAction) Descriptor() ([]byte, []int) { 10158 return file_gobgp_proto_rawDescGZIP(), []int{134} 10159 } 10160 10161 func (x *NexthopAction) GetAddress() string { 10162 if x != nil { 10163 return x.Address 10164 } 10165 return "" 10166 } 10167 10168 func (x *NexthopAction) GetSelf() bool { 10169 if x != nil { 10170 return x.Self 10171 } 10172 return false 10173 } 10174 10175 func (x *NexthopAction) GetUnchanged() bool { 10176 if x != nil { 10177 return x.Unchanged 10178 } 10179 return false 10180 } 10181 10182 func (x *NexthopAction) GetPeerAddress() bool { 10183 if x != nil { 10184 return x.PeerAddress 10185 } 10186 return false 10187 } 10188 10189 type LocalPrefAction struct { 10190 state protoimpl.MessageState 10191 sizeCache protoimpl.SizeCache 10192 unknownFields protoimpl.UnknownFields 10193 10194 Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"` 10195 } 10196 10197 func (x *LocalPrefAction) Reset() { 10198 *x = LocalPrefAction{} 10199 if protoimpl.UnsafeEnabled { 10200 mi := &file_gobgp_proto_msgTypes[135] 10201 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10202 ms.StoreMessageInfo(mi) 10203 } 10204 } 10205 10206 func (x *LocalPrefAction) String() string { 10207 return protoimpl.X.MessageStringOf(x) 10208 } 10209 10210 func (*LocalPrefAction) ProtoMessage() {} 10211 10212 func (x *LocalPrefAction) ProtoReflect() protoreflect.Message { 10213 mi := &file_gobgp_proto_msgTypes[135] 10214 if protoimpl.UnsafeEnabled && x != nil { 10215 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10216 if ms.LoadMessageInfo() == nil { 10217 ms.StoreMessageInfo(mi) 10218 } 10219 return ms 10220 } 10221 return mi.MessageOf(x) 10222 } 10223 10224 // Deprecated: Use LocalPrefAction.ProtoReflect.Descriptor instead. 10225 func (*LocalPrefAction) Descriptor() ([]byte, []int) { 10226 return file_gobgp_proto_rawDescGZIP(), []int{135} 10227 } 10228 10229 func (x *LocalPrefAction) GetValue() uint32 { 10230 if x != nil { 10231 return x.Value 10232 } 10233 return 0 10234 } 10235 10236 type OriginAction struct { 10237 state protoimpl.MessageState 10238 sizeCache protoimpl.SizeCache 10239 unknownFields protoimpl.UnknownFields 10240 10241 Origin RouteOriginType `protobuf:"varint,1,opt,name=origin,proto3,enum=apipb.RouteOriginType" json:"origin,omitempty"` 10242 } 10243 10244 func (x *OriginAction) Reset() { 10245 *x = OriginAction{} 10246 if protoimpl.UnsafeEnabled { 10247 mi := &file_gobgp_proto_msgTypes[136] 10248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10249 ms.StoreMessageInfo(mi) 10250 } 10251 } 10252 10253 func (x *OriginAction) String() string { 10254 return protoimpl.X.MessageStringOf(x) 10255 } 10256 10257 func (*OriginAction) ProtoMessage() {} 10258 10259 func (x *OriginAction) ProtoReflect() protoreflect.Message { 10260 mi := &file_gobgp_proto_msgTypes[136] 10261 if protoimpl.UnsafeEnabled && x != nil { 10262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10263 if ms.LoadMessageInfo() == nil { 10264 ms.StoreMessageInfo(mi) 10265 } 10266 return ms 10267 } 10268 return mi.MessageOf(x) 10269 } 10270 10271 // Deprecated: Use OriginAction.ProtoReflect.Descriptor instead. 10272 func (*OriginAction) Descriptor() ([]byte, []int) { 10273 return file_gobgp_proto_rawDescGZIP(), []int{136} 10274 } 10275 10276 func (x *OriginAction) GetOrigin() RouteOriginType { 10277 if x != nil { 10278 return x.Origin 10279 } 10280 return RouteOriginType_ORIGIN_NONE 10281 } 10282 10283 type Actions struct { 10284 state protoimpl.MessageState 10285 sizeCache protoimpl.SizeCache 10286 unknownFields protoimpl.UnknownFields 10287 10288 RouteAction RouteAction `protobuf:"varint,1,opt,name=route_action,json=routeAction,proto3,enum=apipb.RouteAction" json:"route_action,omitempty"` 10289 Community *CommunityAction `protobuf:"bytes,2,opt,name=community,proto3" json:"community,omitempty"` 10290 Med *MedAction `protobuf:"bytes,3,opt,name=med,proto3" json:"med,omitempty"` 10291 AsPrepend *AsPrependAction `protobuf:"bytes,4,opt,name=as_prepend,json=asPrepend,proto3" json:"as_prepend,omitempty"` 10292 ExtCommunity *CommunityAction `protobuf:"bytes,5,opt,name=ext_community,json=extCommunity,proto3" json:"ext_community,omitempty"` 10293 Nexthop *NexthopAction `protobuf:"bytes,6,opt,name=nexthop,proto3" json:"nexthop,omitempty"` 10294 LocalPref *LocalPrefAction `protobuf:"bytes,7,opt,name=local_pref,json=localPref,proto3" json:"local_pref,omitempty"` 10295 LargeCommunity *CommunityAction `protobuf:"bytes,8,opt,name=large_community,json=largeCommunity,proto3" json:"large_community,omitempty"` 10296 OriginAction *OriginAction `protobuf:"bytes,9,opt,name=origin_action,json=originAction,proto3" json:"origin_action,omitempty"` 10297 } 10298 10299 func (x *Actions) Reset() { 10300 *x = Actions{} 10301 if protoimpl.UnsafeEnabled { 10302 mi := &file_gobgp_proto_msgTypes[137] 10303 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10304 ms.StoreMessageInfo(mi) 10305 } 10306 } 10307 10308 func (x *Actions) String() string { 10309 return protoimpl.X.MessageStringOf(x) 10310 } 10311 10312 func (*Actions) ProtoMessage() {} 10313 10314 func (x *Actions) ProtoReflect() protoreflect.Message { 10315 mi := &file_gobgp_proto_msgTypes[137] 10316 if protoimpl.UnsafeEnabled && x != nil { 10317 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10318 if ms.LoadMessageInfo() == nil { 10319 ms.StoreMessageInfo(mi) 10320 } 10321 return ms 10322 } 10323 return mi.MessageOf(x) 10324 } 10325 10326 // Deprecated: Use Actions.ProtoReflect.Descriptor instead. 10327 func (*Actions) Descriptor() ([]byte, []int) { 10328 return file_gobgp_proto_rawDescGZIP(), []int{137} 10329 } 10330 10331 func (x *Actions) GetRouteAction() RouteAction { 10332 if x != nil { 10333 return x.RouteAction 10334 } 10335 return RouteAction_NONE 10336 } 10337 10338 func (x *Actions) GetCommunity() *CommunityAction { 10339 if x != nil { 10340 return x.Community 10341 } 10342 return nil 10343 } 10344 10345 func (x *Actions) GetMed() *MedAction { 10346 if x != nil { 10347 return x.Med 10348 } 10349 return nil 10350 } 10351 10352 func (x *Actions) GetAsPrepend() *AsPrependAction { 10353 if x != nil { 10354 return x.AsPrepend 10355 } 10356 return nil 10357 } 10358 10359 func (x *Actions) GetExtCommunity() *CommunityAction { 10360 if x != nil { 10361 return x.ExtCommunity 10362 } 10363 return nil 10364 } 10365 10366 func (x *Actions) GetNexthop() *NexthopAction { 10367 if x != nil { 10368 return x.Nexthop 10369 } 10370 return nil 10371 } 10372 10373 func (x *Actions) GetLocalPref() *LocalPrefAction { 10374 if x != nil { 10375 return x.LocalPref 10376 } 10377 return nil 10378 } 10379 10380 func (x *Actions) GetLargeCommunity() *CommunityAction { 10381 if x != nil { 10382 return x.LargeCommunity 10383 } 10384 return nil 10385 } 10386 10387 func (x *Actions) GetOriginAction() *OriginAction { 10388 if x != nil { 10389 return x.OriginAction 10390 } 10391 return nil 10392 } 10393 10394 type Statement struct { 10395 state protoimpl.MessageState 10396 sizeCache protoimpl.SizeCache 10397 unknownFields protoimpl.UnknownFields 10398 10399 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10400 Conditions *Conditions `protobuf:"bytes,2,opt,name=conditions,proto3" json:"conditions,omitempty"` 10401 Actions *Actions `protobuf:"bytes,3,opt,name=actions,proto3" json:"actions,omitempty"` 10402 } 10403 10404 func (x *Statement) Reset() { 10405 *x = Statement{} 10406 if protoimpl.UnsafeEnabled { 10407 mi := &file_gobgp_proto_msgTypes[138] 10408 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10409 ms.StoreMessageInfo(mi) 10410 } 10411 } 10412 10413 func (x *Statement) String() string { 10414 return protoimpl.X.MessageStringOf(x) 10415 } 10416 10417 func (*Statement) ProtoMessage() {} 10418 10419 func (x *Statement) ProtoReflect() protoreflect.Message { 10420 mi := &file_gobgp_proto_msgTypes[138] 10421 if protoimpl.UnsafeEnabled && x != nil { 10422 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10423 if ms.LoadMessageInfo() == nil { 10424 ms.StoreMessageInfo(mi) 10425 } 10426 return ms 10427 } 10428 return mi.MessageOf(x) 10429 } 10430 10431 // Deprecated: Use Statement.ProtoReflect.Descriptor instead. 10432 func (*Statement) Descriptor() ([]byte, []int) { 10433 return file_gobgp_proto_rawDescGZIP(), []int{138} 10434 } 10435 10436 func (x *Statement) GetName() string { 10437 if x != nil { 10438 return x.Name 10439 } 10440 return "" 10441 } 10442 10443 func (x *Statement) GetConditions() *Conditions { 10444 if x != nil { 10445 return x.Conditions 10446 } 10447 return nil 10448 } 10449 10450 func (x *Statement) GetActions() *Actions { 10451 if x != nil { 10452 return x.Actions 10453 } 10454 return nil 10455 } 10456 10457 type Policy struct { 10458 state protoimpl.MessageState 10459 sizeCache protoimpl.SizeCache 10460 unknownFields protoimpl.UnknownFields 10461 10462 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10463 Statements []*Statement `protobuf:"bytes,2,rep,name=statements,proto3" json:"statements,omitempty"` 10464 } 10465 10466 func (x *Policy) Reset() { 10467 *x = Policy{} 10468 if protoimpl.UnsafeEnabled { 10469 mi := &file_gobgp_proto_msgTypes[139] 10470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10471 ms.StoreMessageInfo(mi) 10472 } 10473 } 10474 10475 func (x *Policy) String() string { 10476 return protoimpl.X.MessageStringOf(x) 10477 } 10478 10479 func (*Policy) ProtoMessage() {} 10480 10481 func (x *Policy) ProtoReflect() protoreflect.Message { 10482 mi := &file_gobgp_proto_msgTypes[139] 10483 if protoimpl.UnsafeEnabled && x != nil { 10484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10485 if ms.LoadMessageInfo() == nil { 10486 ms.StoreMessageInfo(mi) 10487 } 10488 return ms 10489 } 10490 return mi.MessageOf(x) 10491 } 10492 10493 // Deprecated: Use Policy.ProtoReflect.Descriptor instead. 10494 func (*Policy) Descriptor() ([]byte, []int) { 10495 return file_gobgp_proto_rawDescGZIP(), []int{139} 10496 } 10497 10498 func (x *Policy) GetName() string { 10499 if x != nil { 10500 return x.Name 10501 } 10502 return "" 10503 } 10504 10505 func (x *Policy) GetStatements() []*Statement { 10506 if x != nil { 10507 return x.Statements 10508 } 10509 return nil 10510 } 10511 10512 type PolicyAssignment struct { 10513 state protoimpl.MessageState 10514 sizeCache protoimpl.SizeCache 10515 unknownFields protoimpl.UnknownFields 10516 10517 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10518 Direction PolicyDirection `protobuf:"varint,2,opt,name=direction,proto3,enum=apipb.PolicyDirection" json:"direction,omitempty"` 10519 Policies []*Policy `protobuf:"bytes,4,rep,name=policies,proto3" json:"policies,omitempty"` 10520 DefaultAction RouteAction `protobuf:"varint,5,opt,name=default_action,json=defaultAction,proto3,enum=apipb.RouteAction" json:"default_action,omitempty"` 10521 } 10522 10523 func (x *PolicyAssignment) Reset() { 10524 *x = PolicyAssignment{} 10525 if protoimpl.UnsafeEnabled { 10526 mi := &file_gobgp_proto_msgTypes[140] 10527 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10528 ms.StoreMessageInfo(mi) 10529 } 10530 } 10531 10532 func (x *PolicyAssignment) String() string { 10533 return protoimpl.X.MessageStringOf(x) 10534 } 10535 10536 func (*PolicyAssignment) ProtoMessage() {} 10537 10538 func (x *PolicyAssignment) ProtoReflect() protoreflect.Message { 10539 mi := &file_gobgp_proto_msgTypes[140] 10540 if protoimpl.UnsafeEnabled && x != nil { 10541 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10542 if ms.LoadMessageInfo() == nil { 10543 ms.StoreMessageInfo(mi) 10544 } 10545 return ms 10546 } 10547 return mi.MessageOf(x) 10548 } 10549 10550 // Deprecated: Use PolicyAssignment.ProtoReflect.Descriptor instead. 10551 func (*PolicyAssignment) Descriptor() ([]byte, []int) { 10552 return file_gobgp_proto_rawDescGZIP(), []int{140} 10553 } 10554 10555 func (x *PolicyAssignment) GetName() string { 10556 if x != nil { 10557 return x.Name 10558 } 10559 return "" 10560 } 10561 10562 func (x *PolicyAssignment) GetDirection() PolicyDirection { 10563 if x != nil { 10564 return x.Direction 10565 } 10566 return PolicyDirection_UNKNOWN 10567 } 10568 10569 func (x *PolicyAssignment) GetPolicies() []*Policy { 10570 if x != nil { 10571 return x.Policies 10572 } 10573 return nil 10574 } 10575 10576 func (x *PolicyAssignment) GetDefaultAction() RouteAction { 10577 if x != nil { 10578 return x.DefaultAction 10579 } 10580 return RouteAction_NONE 10581 } 10582 10583 type RoutingPolicy struct { 10584 state protoimpl.MessageState 10585 sizeCache protoimpl.SizeCache 10586 unknownFields protoimpl.UnknownFields 10587 10588 DefinedSets []*DefinedSet `protobuf:"bytes,1,rep,name=defined_sets,json=definedSets,proto3" json:"defined_sets,omitempty"` 10589 Policies []*Policy `protobuf:"bytes,2,rep,name=policies,proto3" json:"policies,omitempty"` 10590 } 10591 10592 func (x *RoutingPolicy) Reset() { 10593 *x = RoutingPolicy{} 10594 if protoimpl.UnsafeEnabled { 10595 mi := &file_gobgp_proto_msgTypes[141] 10596 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10597 ms.StoreMessageInfo(mi) 10598 } 10599 } 10600 10601 func (x *RoutingPolicy) String() string { 10602 return protoimpl.X.MessageStringOf(x) 10603 } 10604 10605 func (*RoutingPolicy) ProtoMessage() {} 10606 10607 func (x *RoutingPolicy) ProtoReflect() protoreflect.Message { 10608 mi := &file_gobgp_proto_msgTypes[141] 10609 if protoimpl.UnsafeEnabled && x != nil { 10610 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10611 if ms.LoadMessageInfo() == nil { 10612 ms.StoreMessageInfo(mi) 10613 } 10614 return ms 10615 } 10616 return mi.MessageOf(x) 10617 } 10618 10619 // Deprecated: Use RoutingPolicy.ProtoReflect.Descriptor instead. 10620 func (*RoutingPolicy) Descriptor() ([]byte, []int) { 10621 return file_gobgp_proto_rawDescGZIP(), []int{141} 10622 } 10623 10624 func (x *RoutingPolicy) GetDefinedSets() []*DefinedSet { 10625 if x != nil { 10626 return x.DefinedSets 10627 } 10628 return nil 10629 } 10630 10631 func (x *RoutingPolicy) GetPolicies() []*Policy { 10632 if x != nil { 10633 return x.Policies 10634 } 10635 return nil 10636 } 10637 10638 type Roa struct { 10639 state protoimpl.MessageState 10640 sizeCache protoimpl.SizeCache 10641 unknownFields protoimpl.UnknownFields 10642 10643 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 10644 Prefixlen uint32 `protobuf:"varint,2,opt,name=prefixlen,proto3" json:"prefixlen,omitempty"` 10645 Maxlen uint32 `protobuf:"varint,3,opt,name=maxlen,proto3" json:"maxlen,omitempty"` 10646 Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` 10647 Conf *RPKIConf `protobuf:"bytes,5,opt,name=conf,proto3" json:"conf,omitempty"` 10648 } 10649 10650 func (x *Roa) Reset() { 10651 *x = Roa{} 10652 if protoimpl.UnsafeEnabled { 10653 mi := &file_gobgp_proto_msgTypes[142] 10654 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10655 ms.StoreMessageInfo(mi) 10656 } 10657 } 10658 10659 func (x *Roa) String() string { 10660 return protoimpl.X.MessageStringOf(x) 10661 } 10662 10663 func (*Roa) ProtoMessage() {} 10664 10665 func (x *Roa) ProtoReflect() protoreflect.Message { 10666 mi := &file_gobgp_proto_msgTypes[142] 10667 if protoimpl.UnsafeEnabled && x != nil { 10668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10669 if ms.LoadMessageInfo() == nil { 10670 ms.StoreMessageInfo(mi) 10671 } 10672 return ms 10673 } 10674 return mi.MessageOf(x) 10675 } 10676 10677 // Deprecated: Use Roa.ProtoReflect.Descriptor instead. 10678 func (*Roa) Descriptor() ([]byte, []int) { 10679 return file_gobgp_proto_rawDescGZIP(), []int{142} 10680 } 10681 10682 func (x *Roa) GetAsn() uint32 { 10683 if x != nil { 10684 return x.Asn 10685 } 10686 return 0 10687 } 10688 10689 func (x *Roa) GetPrefixlen() uint32 { 10690 if x != nil { 10691 return x.Prefixlen 10692 } 10693 return 0 10694 } 10695 10696 func (x *Roa) GetMaxlen() uint32 { 10697 if x != nil { 10698 return x.Maxlen 10699 } 10700 return 0 10701 } 10702 10703 func (x *Roa) GetPrefix() string { 10704 if x != nil { 10705 return x.Prefix 10706 } 10707 return "" 10708 } 10709 10710 func (x *Roa) GetConf() *RPKIConf { 10711 if x != nil { 10712 return x.Conf 10713 } 10714 return nil 10715 } 10716 10717 type Vrf struct { 10718 state protoimpl.MessageState 10719 sizeCache protoimpl.SizeCache 10720 unknownFields protoimpl.UnknownFields 10721 10722 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 10723 // Route Distinguisher must be one of 10724 // RouteDistinguisherTwoOctetAS, 10725 // RouteDistinguisherIPAddressAS, 10726 // or RouteDistinguisherFourOctetAS. 10727 Rd *anypb.Any `protobuf:"bytes,2,opt,name=rd,proto3" json:"rd,omitempty"` 10728 // List of the Import Route Targets. Each must be one of 10729 // TwoOctetAsSpecificExtended, 10730 // IPv4AddressSpecificExtended, 10731 // or FourOctetAsSpecificExtended. 10732 ImportRt []*anypb.Any `protobuf:"bytes,3,rep,name=import_rt,json=importRt,proto3" json:"import_rt,omitempty"` 10733 // List of the Export Route Targets. Each must be one of 10734 // TwoOctetAsSpecificExtended, 10735 // IPv4AddressSpecificExtended, 10736 // or FourOctetAsSpecificExtended. 10737 ExportRt []*anypb.Any `protobuf:"bytes,4,rep,name=export_rt,json=exportRt,proto3" json:"export_rt,omitempty"` 10738 Id uint32 `protobuf:"varint,5,opt,name=id,proto3" json:"id,omitempty"` 10739 } 10740 10741 func (x *Vrf) Reset() { 10742 *x = Vrf{} 10743 if protoimpl.UnsafeEnabled { 10744 mi := &file_gobgp_proto_msgTypes[143] 10745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10746 ms.StoreMessageInfo(mi) 10747 } 10748 } 10749 10750 func (x *Vrf) String() string { 10751 return protoimpl.X.MessageStringOf(x) 10752 } 10753 10754 func (*Vrf) ProtoMessage() {} 10755 10756 func (x *Vrf) ProtoReflect() protoreflect.Message { 10757 mi := &file_gobgp_proto_msgTypes[143] 10758 if protoimpl.UnsafeEnabled && x != nil { 10759 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10760 if ms.LoadMessageInfo() == nil { 10761 ms.StoreMessageInfo(mi) 10762 } 10763 return ms 10764 } 10765 return mi.MessageOf(x) 10766 } 10767 10768 // Deprecated: Use Vrf.ProtoReflect.Descriptor instead. 10769 func (*Vrf) Descriptor() ([]byte, []int) { 10770 return file_gobgp_proto_rawDescGZIP(), []int{143} 10771 } 10772 10773 func (x *Vrf) GetName() string { 10774 if x != nil { 10775 return x.Name 10776 } 10777 return "" 10778 } 10779 10780 func (x *Vrf) GetRd() *anypb.Any { 10781 if x != nil { 10782 return x.Rd 10783 } 10784 return nil 10785 } 10786 10787 func (x *Vrf) GetImportRt() []*anypb.Any { 10788 if x != nil { 10789 return x.ImportRt 10790 } 10791 return nil 10792 } 10793 10794 func (x *Vrf) GetExportRt() []*anypb.Any { 10795 if x != nil { 10796 return x.ExportRt 10797 } 10798 return nil 10799 } 10800 10801 func (x *Vrf) GetId() uint32 { 10802 if x != nil { 10803 return x.Id 10804 } 10805 return 0 10806 } 10807 10808 type DefaultRouteDistance struct { 10809 state protoimpl.MessageState 10810 sizeCache protoimpl.SizeCache 10811 unknownFields protoimpl.UnknownFields 10812 10813 ExternalRouteDistance uint32 `protobuf:"varint,1,opt,name=external_route_distance,json=externalRouteDistance,proto3" json:"external_route_distance,omitempty"` 10814 InternalRouteDistance uint32 `protobuf:"varint,2,opt,name=internal_route_distance,json=internalRouteDistance,proto3" json:"internal_route_distance,omitempty"` 10815 } 10816 10817 func (x *DefaultRouteDistance) Reset() { 10818 *x = DefaultRouteDistance{} 10819 if protoimpl.UnsafeEnabled { 10820 mi := &file_gobgp_proto_msgTypes[144] 10821 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10822 ms.StoreMessageInfo(mi) 10823 } 10824 } 10825 10826 func (x *DefaultRouteDistance) String() string { 10827 return protoimpl.X.MessageStringOf(x) 10828 } 10829 10830 func (*DefaultRouteDistance) ProtoMessage() {} 10831 10832 func (x *DefaultRouteDistance) ProtoReflect() protoreflect.Message { 10833 mi := &file_gobgp_proto_msgTypes[144] 10834 if protoimpl.UnsafeEnabled && x != nil { 10835 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10836 if ms.LoadMessageInfo() == nil { 10837 ms.StoreMessageInfo(mi) 10838 } 10839 return ms 10840 } 10841 return mi.MessageOf(x) 10842 } 10843 10844 // Deprecated: Use DefaultRouteDistance.ProtoReflect.Descriptor instead. 10845 func (*DefaultRouteDistance) Descriptor() ([]byte, []int) { 10846 return file_gobgp_proto_rawDescGZIP(), []int{144} 10847 } 10848 10849 func (x *DefaultRouteDistance) GetExternalRouteDistance() uint32 { 10850 if x != nil { 10851 return x.ExternalRouteDistance 10852 } 10853 return 0 10854 } 10855 10856 func (x *DefaultRouteDistance) GetInternalRouteDistance() uint32 { 10857 if x != nil { 10858 return x.InternalRouteDistance 10859 } 10860 return 0 10861 } 10862 10863 type Global struct { 10864 state protoimpl.MessageState 10865 sizeCache protoimpl.SizeCache 10866 unknownFields protoimpl.UnknownFields 10867 10868 Asn uint32 `protobuf:"varint,1,opt,name=asn,proto3" json:"asn,omitempty"` 10869 RouterId string `protobuf:"bytes,2,opt,name=router_id,json=routerId,proto3" json:"router_id,omitempty"` 10870 ListenPort int32 `protobuf:"varint,3,opt,name=listen_port,json=listenPort,proto3" json:"listen_port,omitempty"` 10871 ListenAddresses []string `protobuf:"bytes,4,rep,name=listen_addresses,json=listenAddresses,proto3" json:"listen_addresses,omitempty"` 10872 Families []uint32 `protobuf:"varint,5,rep,packed,name=families,proto3" json:"families,omitempty"` 10873 UseMultiplePaths bool `protobuf:"varint,6,opt,name=use_multiple_paths,json=useMultiplePaths,proto3" json:"use_multiple_paths,omitempty"` 10874 RouteSelectionOptions *RouteSelectionOptionsConfig `protobuf:"bytes,7,opt,name=route_selection_options,json=routeSelectionOptions,proto3" json:"route_selection_options,omitempty"` 10875 DefaultRouteDistance *DefaultRouteDistance `protobuf:"bytes,8,opt,name=default_route_distance,json=defaultRouteDistance,proto3" json:"default_route_distance,omitempty"` 10876 Confederation *Confederation `protobuf:"bytes,9,opt,name=confederation,proto3" json:"confederation,omitempty"` 10877 GracefulRestart *GracefulRestart `protobuf:"bytes,10,opt,name=graceful_restart,json=gracefulRestart,proto3" json:"graceful_restart,omitempty"` 10878 ApplyPolicy *ApplyPolicy `protobuf:"bytes,11,opt,name=apply_policy,json=applyPolicy,proto3" json:"apply_policy,omitempty"` 10879 BindToDevice string `protobuf:"bytes,12,opt,name=bind_to_device,json=bindToDevice,proto3" json:"bind_to_device,omitempty"` 10880 } 10881 10882 func (x *Global) Reset() { 10883 *x = Global{} 10884 if protoimpl.UnsafeEnabled { 10885 mi := &file_gobgp_proto_msgTypes[145] 10886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10887 ms.StoreMessageInfo(mi) 10888 } 10889 } 10890 10891 func (x *Global) String() string { 10892 return protoimpl.X.MessageStringOf(x) 10893 } 10894 10895 func (*Global) ProtoMessage() {} 10896 10897 func (x *Global) ProtoReflect() protoreflect.Message { 10898 mi := &file_gobgp_proto_msgTypes[145] 10899 if protoimpl.UnsafeEnabled && x != nil { 10900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10901 if ms.LoadMessageInfo() == nil { 10902 ms.StoreMessageInfo(mi) 10903 } 10904 return ms 10905 } 10906 return mi.MessageOf(x) 10907 } 10908 10909 // Deprecated: Use Global.ProtoReflect.Descriptor instead. 10910 func (*Global) Descriptor() ([]byte, []int) { 10911 return file_gobgp_proto_rawDescGZIP(), []int{145} 10912 } 10913 10914 func (x *Global) GetAsn() uint32 { 10915 if x != nil { 10916 return x.Asn 10917 } 10918 return 0 10919 } 10920 10921 func (x *Global) GetRouterId() string { 10922 if x != nil { 10923 return x.RouterId 10924 } 10925 return "" 10926 } 10927 10928 func (x *Global) GetListenPort() int32 { 10929 if x != nil { 10930 return x.ListenPort 10931 } 10932 return 0 10933 } 10934 10935 func (x *Global) GetListenAddresses() []string { 10936 if x != nil { 10937 return x.ListenAddresses 10938 } 10939 return nil 10940 } 10941 10942 func (x *Global) GetFamilies() []uint32 { 10943 if x != nil { 10944 return x.Families 10945 } 10946 return nil 10947 } 10948 10949 func (x *Global) GetUseMultiplePaths() bool { 10950 if x != nil { 10951 return x.UseMultiplePaths 10952 } 10953 return false 10954 } 10955 10956 func (x *Global) GetRouteSelectionOptions() *RouteSelectionOptionsConfig { 10957 if x != nil { 10958 return x.RouteSelectionOptions 10959 } 10960 return nil 10961 } 10962 10963 func (x *Global) GetDefaultRouteDistance() *DefaultRouteDistance { 10964 if x != nil { 10965 return x.DefaultRouteDistance 10966 } 10967 return nil 10968 } 10969 10970 func (x *Global) GetConfederation() *Confederation { 10971 if x != nil { 10972 return x.Confederation 10973 } 10974 return nil 10975 } 10976 10977 func (x *Global) GetGracefulRestart() *GracefulRestart { 10978 if x != nil { 10979 return x.GracefulRestart 10980 } 10981 return nil 10982 } 10983 10984 func (x *Global) GetApplyPolicy() *ApplyPolicy { 10985 if x != nil { 10986 return x.ApplyPolicy 10987 } 10988 return nil 10989 } 10990 10991 func (x *Global) GetBindToDevice() string { 10992 if x != nil { 10993 return x.BindToDevice 10994 } 10995 return "" 10996 } 10997 10998 type Confederation struct { 10999 state protoimpl.MessageState 11000 sizeCache protoimpl.SizeCache 11001 unknownFields protoimpl.UnknownFields 11002 11003 Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` 11004 Identifier uint32 `protobuf:"varint,2,opt,name=identifier,proto3" json:"identifier,omitempty"` 11005 MemberAsList []uint32 `protobuf:"varint,3,rep,packed,name=member_as_list,json=memberAsList,proto3" json:"member_as_list,omitempty"` 11006 } 11007 11008 func (x *Confederation) Reset() { 11009 *x = Confederation{} 11010 if protoimpl.UnsafeEnabled { 11011 mi := &file_gobgp_proto_msgTypes[146] 11012 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11013 ms.StoreMessageInfo(mi) 11014 } 11015 } 11016 11017 func (x *Confederation) String() string { 11018 return protoimpl.X.MessageStringOf(x) 11019 } 11020 11021 func (*Confederation) ProtoMessage() {} 11022 11023 func (x *Confederation) ProtoReflect() protoreflect.Message { 11024 mi := &file_gobgp_proto_msgTypes[146] 11025 if protoimpl.UnsafeEnabled && x != nil { 11026 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11027 if ms.LoadMessageInfo() == nil { 11028 ms.StoreMessageInfo(mi) 11029 } 11030 return ms 11031 } 11032 return mi.MessageOf(x) 11033 } 11034 11035 // Deprecated: Use Confederation.ProtoReflect.Descriptor instead. 11036 func (*Confederation) Descriptor() ([]byte, []int) { 11037 return file_gobgp_proto_rawDescGZIP(), []int{146} 11038 } 11039 11040 func (x *Confederation) GetEnabled() bool { 11041 if x != nil { 11042 return x.Enabled 11043 } 11044 return false 11045 } 11046 11047 func (x *Confederation) GetIdentifier() uint32 { 11048 if x != nil { 11049 return x.Identifier 11050 } 11051 return 0 11052 } 11053 11054 func (x *Confederation) GetMemberAsList() []uint32 { 11055 if x != nil { 11056 return x.MemberAsList 11057 } 11058 return nil 11059 } 11060 11061 type RPKIConf struct { 11062 state protoimpl.MessageState 11063 sizeCache protoimpl.SizeCache 11064 unknownFields protoimpl.UnknownFields 11065 11066 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 11067 RemotePort uint32 `protobuf:"varint,2,opt,name=remote_port,json=remotePort,proto3" json:"remote_port,omitempty"` 11068 } 11069 11070 func (x *RPKIConf) Reset() { 11071 *x = RPKIConf{} 11072 if protoimpl.UnsafeEnabled { 11073 mi := &file_gobgp_proto_msgTypes[147] 11074 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11075 ms.StoreMessageInfo(mi) 11076 } 11077 } 11078 11079 func (x *RPKIConf) String() string { 11080 return protoimpl.X.MessageStringOf(x) 11081 } 11082 11083 func (*RPKIConf) ProtoMessage() {} 11084 11085 func (x *RPKIConf) ProtoReflect() protoreflect.Message { 11086 mi := &file_gobgp_proto_msgTypes[147] 11087 if protoimpl.UnsafeEnabled && x != nil { 11088 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11089 if ms.LoadMessageInfo() == nil { 11090 ms.StoreMessageInfo(mi) 11091 } 11092 return ms 11093 } 11094 return mi.MessageOf(x) 11095 } 11096 11097 // Deprecated: Use RPKIConf.ProtoReflect.Descriptor instead. 11098 func (*RPKIConf) Descriptor() ([]byte, []int) { 11099 return file_gobgp_proto_rawDescGZIP(), []int{147} 11100 } 11101 11102 func (x *RPKIConf) GetAddress() string { 11103 if x != nil { 11104 return x.Address 11105 } 11106 return "" 11107 } 11108 11109 func (x *RPKIConf) GetRemotePort() uint32 { 11110 if x != nil { 11111 return x.RemotePort 11112 } 11113 return 0 11114 } 11115 11116 type RPKIState struct { 11117 state protoimpl.MessageState 11118 sizeCache protoimpl.SizeCache 11119 unknownFields protoimpl.UnknownFields 11120 11121 Uptime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=uptime,proto3" json:"uptime,omitempty"` 11122 Downtime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=downtime,proto3" json:"downtime,omitempty"` 11123 Up bool `protobuf:"varint,3,opt,name=up,proto3" json:"up,omitempty"` 11124 RecordIpv4 uint32 `protobuf:"varint,4,opt,name=record_ipv4,json=recordIpv4,proto3" json:"record_ipv4,omitempty"` 11125 RecordIpv6 uint32 `protobuf:"varint,5,opt,name=record_ipv6,json=recordIpv6,proto3" json:"record_ipv6,omitempty"` 11126 PrefixIpv4 uint32 `protobuf:"varint,6,opt,name=prefix_ipv4,json=prefixIpv4,proto3" json:"prefix_ipv4,omitempty"` 11127 PrefixIpv6 uint32 `protobuf:"varint,7,opt,name=prefix_ipv6,json=prefixIpv6,proto3" json:"prefix_ipv6,omitempty"` 11128 Serial uint32 `protobuf:"varint,8,opt,name=serial,proto3" json:"serial,omitempty"` 11129 ReceivedIpv4 int64 `protobuf:"varint,9,opt,name=received_ipv4,json=receivedIpv4,proto3" json:"received_ipv4,omitempty"` 11130 ReceivedIpv6 int64 `protobuf:"varint,10,opt,name=received_ipv6,json=receivedIpv6,proto3" json:"received_ipv6,omitempty"` 11131 SerialNotify int64 `protobuf:"varint,11,opt,name=serial_notify,json=serialNotify,proto3" json:"serial_notify,omitempty"` 11132 CacheReset int64 `protobuf:"varint,12,opt,name=cache_reset,json=cacheReset,proto3" json:"cache_reset,omitempty"` 11133 CacheResponse int64 `protobuf:"varint,13,opt,name=cache_response,json=cacheResponse,proto3" json:"cache_response,omitempty"` 11134 EndOfData int64 `protobuf:"varint,14,opt,name=end_of_data,json=endOfData,proto3" json:"end_of_data,omitempty"` 11135 Error int64 `protobuf:"varint,15,opt,name=error,proto3" json:"error,omitempty"` 11136 SerialQuery int64 `protobuf:"varint,16,opt,name=serial_query,json=serialQuery,proto3" json:"serial_query,omitempty"` 11137 ResetQuery int64 `protobuf:"varint,17,opt,name=reset_query,json=resetQuery,proto3" json:"reset_query,omitempty"` 11138 } 11139 11140 func (x *RPKIState) Reset() { 11141 *x = RPKIState{} 11142 if protoimpl.UnsafeEnabled { 11143 mi := &file_gobgp_proto_msgTypes[148] 11144 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11145 ms.StoreMessageInfo(mi) 11146 } 11147 } 11148 11149 func (x *RPKIState) String() string { 11150 return protoimpl.X.MessageStringOf(x) 11151 } 11152 11153 func (*RPKIState) ProtoMessage() {} 11154 11155 func (x *RPKIState) ProtoReflect() protoreflect.Message { 11156 mi := &file_gobgp_proto_msgTypes[148] 11157 if protoimpl.UnsafeEnabled && x != nil { 11158 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11159 if ms.LoadMessageInfo() == nil { 11160 ms.StoreMessageInfo(mi) 11161 } 11162 return ms 11163 } 11164 return mi.MessageOf(x) 11165 } 11166 11167 // Deprecated: Use RPKIState.ProtoReflect.Descriptor instead. 11168 func (*RPKIState) Descriptor() ([]byte, []int) { 11169 return file_gobgp_proto_rawDescGZIP(), []int{148} 11170 } 11171 11172 func (x *RPKIState) GetUptime() *timestamppb.Timestamp { 11173 if x != nil { 11174 return x.Uptime 11175 } 11176 return nil 11177 } 11178 11179 func (x *RPKIState) GetDowntime() *timestamppb.Timestamp { 11180 if x != nil { 11181 return x.Downtime 11182 } 11183 return nil 11184 } 11185 11186 func (x *RPKIState) GetUp() bool { 11187 if x != nil { 11188 return x.Up 11189 } 11190 return false 11191 } 11192 11193 func (x *RPKIState) GetRecordIpv4() uint32 { 11194 if x != nil { 11195 return x.RecordIpv4 11196 } 11197 return 0 11198 } 11199 11200 func (x *RPKIState) GetRecordIpv6() uint32 { 11201 if x != nil { 11202 return x.RecordIpv6 11203 } 11204 return 0 11205 } 11206 11207 func (x *RPKIState) GetPrefixIpv4() uint32 { 11208 if x != nil { 11209 return x.PrefixIpv4 11210 } 11211 return 0 11212 } 11213 11214 func (x *RPKIState) GetPrefixIpv6() uint32 { 11215 if x != nil { 11216 return x.PrefixIpv6 11217 } 11218 return 0 11219 } 11220 11221 func (x *RPKIState) GetSerial() uint32 { 11222 if x != nil { 11223 return x.Serial 11224 } 11225 return 0 11226 } 11227 11228 func (x *RPKIState) GetReceivedIpv4() int64 { 11229 if x != nil { 11230 return x.ReceivedIpv4 11231 } 11232 return 0 11233 } 11234 11235 func (x *RPKIState) GetReceivedIpv6() int64 { 11236 if x != nil { 11237 return x.ReceivedIpv6 11238 } 11239 return 0 11240 } 11241 11242 func (x *RPKIState) GetSerialNotify() int64 { 11243 if x != nil { 11244 return x.SerialNotify 11245 } 11246 return 0 11247 } 11248 11249 func (x *RPKIState) GetCacheReset() int64 { 11250 if x != nil { 11251 return x.CacheReset 11252 } 11253 return 0 11254 } 11255 11256 func (x *RPKIState) GetCacheResponse() int64 { 11257 if x != nil { 11258 return x.CacheResponse 11259 } 11260 return 0 11261 } 11262 11263 func (x *RPKIState) GetEndOfData() int64 { 11264 if x != nil { 11265 return x.EndOfData 11266 } 11267 return 0 11268 } 11269 11270 func (x *RPKIState) GetError() int64 { 11271 if x != nil { 11272 return x.Error 11273 } 11274 return 0 11275 } 11276 11277 func (x *RPKIState) GetSerialQuery() int64 { 11278 if x != nil { 11279 return x.SerialQuery 11280 } 11281 return 0 11282 } 11283 11284 func (x *RPKIState) GetResetQuery() int64 { 11285 if x != nil { 11286 return x.ResetQuery 11287 } 11288 return 0 11289 } 11290 11291 type Rpki struct { 11292 state protoimpl.MessageState 11293 sizeCache protoimpl.SizeCache 11294 unknownFields protoimpl.UnknownFields 11295 11296 Conf *RPKIConf `protobuf:"bytes,1,opt,name=conf,proto3" json:"conf,omitempty"` 11297 State *RPKIState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 11298 } 11299 11300 func (x *Rpki) Reset() { 11301 *x = Rpki{} 11302 if protoimpl.UnsafeEnabled { 11303 mi := &file_gobgp_proto_msgTypes[149] 11304 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11305 ms.StoreMessageInfo(mi) 11306 } 11307 } 11308 11309 func (x *Rpki) String() string { 11310 return protoimpl.X.MessageStringOf(x) 11311 } 11312 11313 func (*Rpki) ProtoMessage() {} 11314 11315 func (x *Rpki) ProtoReflect() protoreflect.Message { 11316 mi := &file_gobgp_proto_msgTypes[149] 11317 if protoimpl.UnsafeEnabled && x != nil { 11318 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11319 if ms.LoadMessageInfo() == nil { 11320 ms.StoreMessageInfo(mi) 11321 } 11322 return ms 11323 } 11324 return mi.MessageOf(x) 11325 } 11326 11327 // Deprecated: Use Rpki.ProtoReflect.Descriptor instead. 11328 func (*Rpki) Descriptor() ([]byte, []int) { 11329 return file_gobgp_proto_rawDescGZIP(), []int{149} 11330 } 11331 11332 func (x *Rpki) GetConf() *RPKIConf { 11333 if x != nil { 11334 return x.Conf 11335 } 11336 return nil 11337 } 11338 11339 func (x *Rpki) GetState() *RPKIState { 11340 if x != nil { 11341 return x.State 11342 } 11343 return nil 11344 } 11345 11346 type SetLogLevelRequest struct { 11347 state protoimpl.MessageState 11348 sizeCache protoimpl.SizeCache 11349 unknownFields protoimpl.UnknownFields 11350 11351 Level SetLogLevelRequest_Level `protobuf:"varint,1,opt,name=level,proto3,enum=apipb.SetLogLevelRequest_Level" json:"level,omitempty"` 11352 } 11353 11354 func (x *SetLogLevelRequest) Reset() { 11355 *x = SetLogLevelRequest{} 11356 if protoimpl.UnsafeEnabled { 11357 mi := &file_gobgp_proto_msgTypes[150] 11358 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11359 ms.StoreMessageInfo(mi) 11360 } 11361 } 11362 11363 func (x *SetLogLevelRequest) String() string { 11364 return protoimpl.X.MessageStringOf(x) 11365 } 11366 11367 func (*SetLogLevelRequest) ProtoMessage() {} 11368 11369 func (x *SetLogLevelRequest) ProtoReflect() protoreflect.Message { 11370 mi := &file_gobgp_proto_msgTypes[150] 11371 if protoimpl.UnsafeEnabled && x != nil { 11372 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11373 if ms.LoadMessageInfo() == nil { 11374 ms.StoreMessageInfo(mi) 11375 } 11376 return ms 11377 } 11378 return mi.MessageOf(x) 11379 } 11380 11381 // Deprecated: Use SetLogLevelRequest.ProtoReflect.Descriptor instead. 11382 func (*SetLogLevelRequest) Descriptor() ([]byte, []int) { 11383 return file_gobgp_proto_rawDescGZIP(), []int{150} 11384 } 11385 11386 func (x *SetLogLevelRequest) GetLevel() SetLogLevelRequest_Level { 11387 if x != nil { 11388 return x.Level 11389 } 11390 return SetLogLevelRequest_PANIC 11391 } 11392 11393 type WatchEventRequest_Peer struct { 11394 state protoimpl.MessageState 11395 sizeCache protoimpl.SizeCache 11396 unknownFields protoimpl.UnknownFields 11397 } 11398 11399 func (x *WatchEventRequest_Peer) Reset() { 11400 *x = WatchEventRequest_Peer{} 11401 if protoimpl.UnsafeEnabled { 11402 mi := &file_gobgp_proto_msgTypes[151] 11403 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11404 ms.StoreMessageInfo(mi) 11405 } 11406 } 11407 11408 func (x *WatchEventRequest_Peer) String() string { 11409 return protoimpl.X.MessageStringOf(x) 11410 } 11411 11412 func (*WatchEventRequest_Peer) ProtoMessage() {} 11413 11414 func (x *WatchEventRequest_Peer) ProtoReflect() protoreflect.Message { 11415 mi := &file_gobgp_proto_msgTypes[151] 11416 if protoimpl.UnsafeEnabled && x != nil { 11417 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11418 if ms.LoadMessageInfo() == nil { 11419 ms.StoreMessageInfo(mi) 11420 } 11421 return ms 11422 } 11423 return mi.MessageOf(x) 11424 } 11425 11426 // Deprecated: Use WatchEventRequest_Peer.ProtoReflect.Descriptor instead. 11427 func (*WatchEventRequest_Peer) Descriptor() ([]byte, []int) { 11428 return file_gobgp_proto_rawDescGZIP(), []int{4, 0} 11429 } 11430 11431 type WatchEventRequest_Table struct { 11432 state protoimpl.MessageState 11433 sizeCache protoimpl.SizeCache 11434 unknownFields protoimpl.UnknownFields 11435 11436 Filters []*WatchEventRequest_Table_Filter `protobuf:"bytes,1,rep,name=filters,proto3" json:"filters,omitempty"` 11437 } 11438 11439 func (x *WatchEventRequest_Table) Reset() { 11440 *x = WatchEventRequest_Table{} 11441 if protoimpl.UnsafeEnabled { 11442 mi := &file_gobgp_proto_msgTypes[152] 11443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11444 ms.StoreMessageInfo(mi) 11445 } 11446 } 11447 11448 func (x *WatchEventRequest_Table) String() string { 11449 return protoimpl.X.MessageStringOf(x) 11450 } 11451 11452 func (*WatchEventRequest_Table) ProtoMessage() {} 11453 11454 func (x *WatchEventRequest_Table) ProtoReflect() protoreflect.Message { 11455 mi := &file_gobgp_proto_msgTypes[152] 11456 if protoimpl.UnsafeEnabled && x != nil { 11457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11458 if ms.LoadMessageInfo() == nil { 11459 ms.StoreMessageInfo(mi) 11460 } 11461 return ms 11462 } 11463 return mi.MessageOf(x) 11464 } 11465 11466 // Deprecated: Use WatchEventRequest_Table.ProtoReflect.Descriptor instead. 11467 func (*WatchEventRequest_Table) Descriptor() ([]byte, []int) { 11468 return file_gobgp_proto_rawDescGZIP(), []int{4, 1} 11469 } 11470 11471 func (x *WatchEventRequest_Table) GetFilters() []*WatchEventRequest_Table_Filter { 11472 if x != nil { 11473 return x.Filters 11474 } 11475 return nil 11476 } 11477 11478 type WatchEventRequest_Table_Filter struct { 11479 state protoimpl.MessageState 11480 sizeCache protoimpl.SizeCache 11481 unknownFields protoimpl.UnknownFields 11482 11483 Type WatchEventRequest_Table_Filter_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.WatchEventRequest_Table_Filter_Type" json:"type,omitempty"` 11484 Init bool `protobuf:"varint,2,opt,name=init,proto3" json:"init,omitempty"` 11485 PeerAddress string `protobuf:"bytes,3,opt,name=peer_address,json=peerAddress,proto3" json:"peer_address,omitempty"` 11486 PeerGroup string `protobuf:"bytes,4,opt,name=peer_group,json=peerGroup,proto3" json:"peer_group,omitempty"` 11487 } 11488 11489 func (x *WatchEventRequest_Table_Filter) Reset() { 11490 *x = WatchEventRequest_Table_Filter{} 11491 if protoimpl.UnsafeEnabled { 11492 mi := &file_gobgp_proto_msgTypes[153] 11493 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11494 ms.StoreMessageInfo(mi) 11495 } 11496 } 11497 11498 func (x *WatchEventRequest_Table_Filter) String() string { 11499 return protoimpl.X.MessageStringOf(x) 11500 } 11501 11502 func (*WatchEventRequest_Table_Filter) ProtoMessage() {} 11503 11504 func (x *WatchEventRequest_Table_Filter) ProtoReflect() protoreflect.Message { 11505 mi := &file_gobgp_proto_msgTypes[153] 11506 if protoimpl.UnsafeEnabled && x != nil { 11507 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11508 if ms.LoadMessageInfo() == nil { 11509 ms.StoreMessageInfo(mi) 11510 } 11511 return ms 11512 } 11513 return mi.MessageOf(x) 11514 } 11515 11516 // Deprecated: Use WatchEventRequest_Table_Filter.ProtoReflect.Descriptor instead. 11517 func (*WatchEventRequest_Table_Filter) Descriptor() ([]byte, []int) { 11518 return file_gobgp_proto_rawDescGZIP(), []int{4, 1, 0} 11519 } 11520 11521 func (x *WatchEventRequest_Table_Filter) GetType() WatchEventRequest_Table_Filter_Type { 11522 if x != nil { 11523 return x.Type 11524 } 11525 return WatchEventRequest_Table_Filter_BEST 11526 } 11527 11528 func (x *WatchEventRequest_Table_Filter) GetInit() bool { 11529 if x != nil { 11530 return x.Init 11531 } 11532 return false 11533 } 11534 11535 func (x *WatchEventRequest_Table_Filter) GetPeerAddress() string { 11536 if x != nil { 11537 return x.PeerAddress 11538 } 11539 return "" 11540 } 11541 11542 func (x *WatchEventRequest_Table_Filter) GetPeerGroup() string { 11543 if x != nil { 11544 return x.PeerGroup 11545 } 11546 return "" 11547 } 11548 11549 type WatchEventResponse_PeerEvent struct { 11550 state protoimpl.MessageState 11551 sizeCache protoimpl.SizeCache 11552 unknownFields protoimpl.UnknownFields 11553 11554 Type WatchEventResponse_PeerEvent_Type `protobuf:"varint,1,opt,name=type,proto3,enum=apipb.WatchEventResponse_PeerEvent_Type" json:"type,omitempty"` 11555 Peer *Peer `protobuf:"bytes,2,opt,name=peer,proto3" json:"peer,omitempty"` 11556 } 11557 11558 func (x *WatchEventResponse_PeerEvent) Reset() { 11559 *x = WatchEventResponse_PeerEvent{} 11560 if protoimpl.UnsafeEnabled { 11561 mi := &file_gobgp_proto_msgTypes[154] 11562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11563 ms.StoreMessageInfo(mi) 11564 } 11565 } 11566 11567 func (x *WatchEventResponse_PeerEvent) String() string { 11568 return protoimpl.X.MessageStringOf(x) 11569 } 11570 11571 func (*WatchEventResponse_PeerEvent) ProtoMessage() {} 11572 11573 func (x *WatchEventResponse_PeerEvent) ProtoReflect() protoreflect.Message { 11574 mi := &file_gobgp_proto_msgTypes[154] 11575 if protoimpl.UnsafeEnabled && x != nil { 11576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11577 if ms.LoadMessageInfo() == nil { 11578 ms.StoreMessageInfo(mi) 11579 } 11580 return ms 11581 } 11582 return mi.MessageOf(x) 11583 } 11584 11585 // Deprecated: Use WatchEventResponse_PeerEvent.ProtoReflect.Descriptor instead. 11586 func (*WatchEventResponse_PeerEvent) Descriptor() ([]byte, []int) { 11587 return file_gobgp_proto_rawDescGZIP(), []int{5, 0} 11588 } 11589 11590 func (x *WatchEventResponse_PeerEvent) GetType() WatchEventResponse_PeerEvent_Type { 11591 if x != nil { 11592 return x.Type 11593 } 11594 return WatchEventResponse_PeerEvent_UNKNOWN 11595 } 11596 11597 func (x *WatchEventResponse_PeerEvent) GetPeer() *Peer { 11598 if x != nil { 11599 return x.Peer 11600 } 11601 return nil 11602 } 11603 11604 type WatchEventResponse_TableEvent struct { 11605 state protoimpl.MessageState 11606 sizeCache protoimpl.SizeCache 11607 unknownFields protoimpl.UnknownFields 11608 11609 Paths []*Path `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` 11610 } 11611 11612 func (x *WatchEventResponse_TableEvent) Reset() { 11613 *x = WatchEventResponse_TableEvent{} 11614 if protoimpl.UnsafeEnabled { 11615 mi := &file_gobgp_proto_msgTypes[155] 11616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11617 ms.StoreMessageInfo(mi) 11618 } 11619 } 11620 11621 func (x *WatchEventResponse_TableEvent) String() string { 11622 return protoimpl.X.MessageStringOf(x) 11623 } 11624 11625 func (*WatchEventResponse_TableEvent) ProtoMessage() {} 11626 11627 func (x *WatchEventResponse_TableEvent) ProtoReflect() protoreflect.Message { 11628 mi := &file_gobgp_proto_msgTypes[155] 11629 if protoimpl.UnsafeEnabled && x != nil { 11630 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11631 if ms.LoadMessageInfo() == nil { 11632 ms.StoreMessageInfo(mi) 11633 } 11634 return ms 11635 } 11636 return mi.MessageOf(x) 11637 } 11638 11639 // Deprecated: Use WatchEventResponse_TableEvent.ProtoReflect.Descriptor instead. 11640 func (*WatchEventResponse_TableEvent) Descriptor() ([]byte, []int) { 11641 return file_gobgp_proto_rawDescGZIP(), []int{5, 1} 11642 } 11643 11644 func (x *WatchEventResponse_TableEvent) GetPaths() []*Path { 11645 if x != nil { 11646 return x.Paths 11647 } 11648 return nil 11649 } 11650 11651 type ListBmpResponse_BmpStation struct { 11652 state protoimpl.MessageState 11653 sizeCache protoimpl.SizeCache 11654 unknownFields protoimpl.UnknownFields 11655 11656 Conf *ListBmpResponse_BmpStation_Conf `protobuf:"bytes,1,opt,name=conf,proto3" json:"conf,omitempty"` 11657 State *ListBmpResponse_BmpStation_State `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` 11658 } 11659 11660 func (x *ListBmpResponse_BmpStation) Reset() { 11661 *x = ListBmpResponse_BmpStation{} 11662 if protoimpl.UnsafeEnabled { 11663 mi := &file_gobgp_proto_msgTypes[156] 11664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11665 ms.StoreMessageInfo(mi) 11666 } 11667 } 11668 11669 func (x *ListBmpResponse_BmpStation) String() string { 11670 return protoimpl.X.MessageStringOf(x) 11671 } 11672 11673 func (*ListBmpResponse_BmpStation) ProtoMessage() {} 11674 11675 func (x *ListBmpResponse_BmpStation) ProtoReflect() protoreflect.Message { 11676 mi := &file_gobgp_proto_msgTypes[156] 11677 if protoimpl.UnsafeEnabled && x != nil { 11678 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11679 if ms.LoadMessageInfo() == nil { 11680 ms.StoreMessageInfo(mi) 11681 } 11682 return ms 11683 } 11684 return mi.MessageOf(x) 11685 } 11686 11687 // Deprecated: Use ListBmpResponse_BmpStation.ProtoReflect.Descriptor instead. 11688 func (*ListBmpResponse_BmpStation) Descriptor() ([]byte, []int) { 11689 return file_gobgp_proto_rawDescGZIP(), []int{72, 0} 11690 } 11691 11692 func (x *ListBmpResponse_BmpStation) GetConf() *ListBmpResponse_BmpStation_Conf { 11693 if x != nil { 11694 return x.Conf 11695 } 11696 return nil 11697 } 11698 11699 func (x *ListBmpResponse_BmpStation) GetState() *ListBmpResponse_BmpStation_State { 11700 if x != nil { 11701 return x.State 11702 } 11703 return nil 11704 } 11705 11706 type ListBmpResponse_BmpStation_Conf struct { 11707 state protoimpl.MessageState 11708 sizeCache protoimpl.SizeCache 11709 unknownFields protoimpl.UnknownFields 11710 11711 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 11712 Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 11713 } 11714 11715 func (x *ListBmpResponse_BmpStation_Conf) Reset() { 11716 *x = ListBmpResponse_BmpStation_Conf{} 11717 if protoimpl.UnsafeEnabled { 11718 mi := &file_gobgp_proto_msgTypes[157] 11719 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11720 ms.StoreMessageInfo(mi) 11721 } 11722 } 11723 11724 func (x *ListBmpResponse_BmpStation_Conf) String() string { 11725 return protoimpl.X.MessageStringOf(x) 11726 } 11727 11728 func (*ListBmpResponse_BmpStation_Conf) ProtoMessage() {} 11729 11730 func (x *ListBmpResponse_BmpStation_Conf) ProtoReflect() protoreflect.Message { 11731 mi := &file_gobgp_proto_msgTypes[157] 11732 if protoimpl.UnsafeEnabled && x != nil { 11733 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11734 if ms.LoadMessageInfo() == nil { 11735 ms.StoreMessageInfo(mi) 11736 } 11737 return ms 11738 } 11739 return mi.MessageOf(x) 11740 } 11741 11742 // Deprecated: Use ListBmpResponse_BmpStation_Conf.ProtoReflect.Descriptor instead. 11743 func (*ListBmpResponse_BmpStation_Conf) Descriptor() ([]byte, []int) { 11744 return file_gobgp_proto_rawDescGZIP(), []int{72, 0, 0} 11745 } 11746 11747 func (x *ListBmpResponse_BmpStation_Conf) GetAddress() string { 11748 if x != nil { 11749 return x.Address 11750 } 11751 return "" 11752 } 11753 11754 func (x *ListBmpResponse_BmpStation_Conf) GetPort() uint32 { 11755 if x != nil { 11756 return x.Port 11757 } 11758 return 0 11759 } 11760 11761 type ListBmpResponse_BmpStation_State struct { 11762 state protoimpl.MessageState 11763 sizeCache protoimpl.SizeCache 11764 unknownFields protoimpl.UnknownFields 11765 11766 Uptime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=uptime,proto3" json:"uptime,omitempty"` 11767 Downtime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=downtime,proto3" json:"downtime,omitempty"` 11768 } 11769 11770 func (x *ListBmpResponse_BmpStation_State) Reset() { 11771 *x = ListBmpResponse_BmpStation_State{} 11772 if protoimpl.UnsafeEnabled { 11773 mi := &file_gobgp_proto_msgTypes[158] 11774 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11775 ms.StoreMessageInfo(mi) 11776 } 11777 } 11778 11779 func (x *ListBmpResponse_BmpStation_State) String() string { 11780 return protoimpl.X.MessageStringOf(x) 11781 } 11782 11783 func (*ListBmpResponse_BmpStation_State) ProtoMessage() {} 11784 11785 func (x *ListBmpResponse_BmpStation_State) ProtoReflect() protoreflect.Message { 11786 mi := &file_gobgp_proto_msgTypes[158] 11787 if protoimpl.UnsafeEnabled && x != nil { 11788 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11789 if ms.LoadMessageInfo() == nil { 11790 ms.StoreMessageInfo(mi) 11791 } 11792 return ms 11793 } 11794 return mi.MessageOf(x) 11795 } 11796 11797 // Deprecated: Use ListBmpResponse_BmpStation_State.ProtoReflect.Descriptor instead. 11798 func (*ListBmpResponse_BmpStation_State) Descriptor() ([]byte, []int) { 11799 return file_gobgp_proto_rawDescGZIP(), []int{72, 0, 1} 11800 } 11801 11802 func (x *ListBmpResponse_BmpStation_State) GetUptime() *timestamppb.Timestamp { 11803 if x != nil { 11804 return x.Uptime 11805 } 11806 return nil 11807 } 11808 11809 func (x *ListBmpResponse_BmpStation_State) GetDowntime() *timestamppb.Timestamp { 11810 if x != nil { 11811 return x.Downtime 11812 } 11813 return nil 11814 } 11815 11816 var File_gobgp_proto protoreflect.FileDescriptor 11817 11818 var file_gobgp_proto_rawDesc = []byte{ 11819 0x0a, 0x0b, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x61, 11820 0x70, 0x69, 0x70, 0x62, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 11821 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 11822 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 11823 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 11824 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 11825 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 11826 0x0f, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 11827 0x12, 0x25, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 11828 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 11829 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x22, 0x10, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x42, 11830 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 11831 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x0e, 0x47, 0x65, 11832 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 11833 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 11834 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x52, 0x06, 0x67, 0x6c, 0x6f, 11835 0x62, 0x61, 0x6c, 0x22, 0xc6, 0x03, 0x0a, 0x11, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 11836 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x04, 0x70, 0x65, 0x65, 11837 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 11838 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 11839 0x74, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x34, 0x0a, 0x05, 11840 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 11841 0x69, 0x70, 0x62, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 11842 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x05, 0x74, 0x61, 0x62, 11843 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 11844 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 11845 0x65, 0x1a, 0x06, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x1a, 0xa0, 0x02, 0x0a, 0x05, 0x54, 0x61, 11846 0x62, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 11847 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x57, 0x61, 0x74, 11848 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 11849 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 11850 0x74, 0x65, 0x72, 0x73, 0x1a, 0xd5, 0x01, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 11851 0x3e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 11852 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 11853 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x46, 0x69, 11854 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 11855 0x12, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x69, 11856 0x6e, 0x69, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 11857 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 0x41, 11858 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 11859 0x72, 0x6f, 0x75, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 11860 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x35, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 11861 0x04, 0x42, 0x45, 0x53, 0x54, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x44, 0x4a, 0x49, 0x4e, 11862 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x4f, 0x53, 0x54, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 11863 0x59, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x4f, 0x52, 0x10, 0x03, 0x22, 0xef, 0x02, 0x0a, 11864 0x12, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 11865 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 11866 0x0b, 0x32, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 11867 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x65, 11868 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x3c, 11869 0x0a, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 11870 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 11871 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 11872 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x05, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x1a, 0xa5, 0x01, 0x0a, 11873 0x09, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x79, 11874 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 11875 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 11876 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 11877 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 11878 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 11879 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x04, 0x54, 0x79, 0x70, 11880 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 11881 0x0a, 0x04, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x4e, 0x44, 0x5f, 11882 0x4f, 0x46, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x54, 0x41, 11883 0x54, 0x45, 0x10, 0x03, 0x1a, 0x2f, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x45, 0x76, 0x65, 11884 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 11885 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 11886 0x70, 0x61, 0x74, 0x68, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x31, 11887 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 11888 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 11889 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 11890 0x72, 0x22, 0x4b, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 11891 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 11892 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 11893 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 11894 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x57, 11895 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 11896 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 11897 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x65, 11898 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x18, 11899 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x64, 0x76, 11900 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x22, 0x33, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 11901 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x70, 11902 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 11903 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x5d, 0x0a, 0x11, 11904 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 11905 0x74, 0x12, 0x1f, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 11906 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 11907 0x65, 0x72, 0x12, 0x27, 0x0a, 0x10, 0x64, 0x6f, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x72, 0x65, 11908 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x6f, 11909 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x22, 0x43, 0x0a, 0x12, 0x55, 11910 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 11911 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 11912 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 11913 0x6e, 0x65, 0x65, 0x64, 0x73, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, 11914 0x22, 0xe1, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 11915 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 11916 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 11917 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 11918 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 11919 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x18, 0x03, 0x20, 11920 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x12, 0x48, 0x0a, 0x09, 0x64, 0x69, 0x72, 11921 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x61, 11922 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 11923 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x44, 11924 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 11925 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x0a, 0x12, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 11926 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x06, 0x0a, 0x02, 0x49, 0x4e, 0x10, 11927 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 11928 0x54, 0x48, 0x10, 0x02, 0x22, 0x55, 0x0a, 0x13, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 11929 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 11930 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 11931 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 11932 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 11933 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2d, 0x0a, 0x11, 0x45, 11934 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 11935 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 11936 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x54, 0x0a, 0x12, 0x44, 0x69, 11937 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 11938 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 11939 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 11940 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 11941 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 11942 0x22, 0x46, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 11943 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 11944 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 11945 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x70, 11946 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2c, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 11947 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 11948 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 11949 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 11950 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 11951 0x12, 0x2f, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 11952 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 11953 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 11954 0x70, 0x12, 0x27, 0x0a, 0x10, 0x64, 0x6f, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x5f, 0x72, 0x65, 0x73, 11955 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x64, 0x6f, 0x53, 11956 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x22, 0x48, 0x0a, 0x17, 0x55, 0x70, 11957 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 11958 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x73, 11959 0x6f, 0x66, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 11960 0x28, 0x08, 0x52, 0x10, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x53, 0x6f, 0x66, 0x74, 0x52, 0x65, 0x73, 11961 0x65, 0x74, 0x49, 0x6e, 0x22, 0x3e, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 11962 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 11963 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 11964 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 11965 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x48, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 11966 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 11967 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 11968 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 11969 0x6f, 0x75, 0x70, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x5e, 11970 0x0a, 0x19, 0x41, 0x64, 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 11971 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x10, 0x64, 11972 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 11973 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x79, 11974 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x0f, 0x64, 11975 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x22, 0x55, 11976 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 11977 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 11978 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 11979 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 11980 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 11981 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x3b, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x79, 0x6e, 11982 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 11983 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 11984 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 11985 0x75, 0x70, 0x22, 0x60, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 11986 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 11987 0x65, 0x12, 0x41, 0x0a, 0x10, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6e, 0x65, 0x69, 11988 0x67, 0x68, 0x62, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 11989 0x69, 0x70, 0x62, 0x2e, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 11990 0x62, 0x6f, 0x72, 0x52, 0x0f, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 11991 0x68, 0x62, 0x6f, 0x72, 0x22, 0x79, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 11992 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 11993 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 11994 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 11995 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, 0x5f, 0x69, 11996 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, 0x12, 0x1f, 11997 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 11998 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 11999 0x25, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 12000 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 12001 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22, 0xb7, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 12002 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 12003 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 12004 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 12005 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 12006 0x06, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 12007 0x72, 0x66, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x03, 12008 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 12009 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1f, 0x0a, 0x04, 0x70, 12010 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 12011 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 12012 0x75, 0x75, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 12013 0x22, 0x9a, 0x01, 0x0a, 0x11, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 12014 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 12015 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x31, 12016 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x61, 12017 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 12018 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 12019 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x72, 12020 0x64, 0x22, 0x2a, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x58, 0x41, 12021 0x43, 0x54, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x4e, 0x47, 0x45, 0x52, 0x10, 0x01, 12022 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x48, 0x4f, 0x52, 0x54, 0x45, 0x52, 0x10, 0x02, 0x22, 0xef, 0x03, 12023 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 12024 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 12025 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 12026 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 12027 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 12028 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 12029 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 12030 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x34, 0x0a, 12031 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 12032 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x6f, 0x6f, 12033 0x6b, 0x75, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 12034 0x78, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 12035 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 12036 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 12037 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 12038 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x74, 12039 0x65, 0x72, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x65, 0x6e, 0x61, 0x62, 12040 0x6c, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 12041 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6c, 0x72, 0x69, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 12042 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x6c, 12043 0x72, 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x6e, 0x61, 0x62, 12044 0x6c, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x62, 0x69, 0x6e, 12045 0x61, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x65, 0x6e, 0x61, 0x62, 0x6c, 12046 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 12047 0x12, 0x2c, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 12048 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 12049 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x1d, 12050 0x0a, 0x0a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 12051 0x28, 0x04, 0x52, 0x09, 0x62, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x20, 0x0a, 12052 0x08, 0x53, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 12053 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x01, 0x22, 12054 0x48, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 12055 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 12056 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 12057 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 12058 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x81, 0x01, 0x0a, 0x14, 0x41, 0x64, 12059 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 12060 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 12061 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 12062 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 12063 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x76, 0x72, 0x66, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 12064 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x72, 0x66, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x05, 0x70, 0x61, 12065 0x74, 0x68, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 12066 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x22, 0x7d, 0x0a, 12067 0x0f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 12068 0x12, 0x2f, 0x0a, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 12069 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x62, 12070 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x79, 0x70, 12071 0x65, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 12072 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 12073 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 12074 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x79, 0x0a, 0x10, 12075 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 12076 0x12, 0x27, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 12077 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x44, 0x65, 12078 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 12079 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6e, 0x75, 0x6d, 12080 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, 0x63, 0x65, 12081 0x70, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x41, 12082 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x22, 0x2d, 0x0a, 0x0d, 0x41, 0x64, 0x64, 0x56, 0x72, 12083 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 12084 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x72, 12085 0x66, 0x52, 0x03, 0x76, 0x72, 0x66, 0x22, 0x26, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 12086 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 12087 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x24, 12088 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 12089 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 12090 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x52, 12091 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x01, 12092 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x72, 0x66, 12093 0x52, 0x03, 0x76, 0x72, 0x66, 0x22, 0x75, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 12094 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 12095 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 12096 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 12097 0x12, 0x3a, 0x0a, 0x19, 0x72, 0x65, 0x66, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 12098 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 12099 0x01, 0x28, 0x08, 0x52, 0x17, 0x72, 0x65, 0x66, 0x65, 0x72, 0x45, 0x78, 0x69, 0x73, 0x74, 0x69, 12100 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x7f, 0x0a, 0x13, 12101 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 12102 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 12103 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 12104 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x72, 12105 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 12106 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 12107 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 12108 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22, 0x27, 0x0a, 12109 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 12110 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 12111 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3b, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 12112 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x06, 12113 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 12114 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 12115 0x69, 0x63, 0x79, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 12116 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x0c, 0x64, 0x65, 12117 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 12118 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 12119 0x53, 0x65, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x73, 12120 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 12121 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 12122 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x61, 12123 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 12124 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 12125 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 12126 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x64, 0x0a, 0x14, 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 12127 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 12128 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 12129 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 12130 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 12131 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 12132 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x5f, 0x0a, 0x17, 12133 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 12134 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 12135 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 12136 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 12137 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 12138 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22, 0x62, 0x0a, 12139 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 12140 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 12141 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 12142 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 12143 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 12144 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 12145 0x65, 0x22, 0x4c, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 12146 0x53, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x0b, 0x64, 12147 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 12148 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 12149 0x53, 0x65, 0x74, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x22, 12150 0x45, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 12151 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 12152 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 12153 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 12154 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 12155 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 12156 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 12157 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 12158 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 12159 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 12160 0x6c, 0x6c, 0x22, 0x2a, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 12161 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 12162 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x47, 12163 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 12164 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 12165 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 12166 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 12167 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x1a, 0x41, 0x64, 0x64, 0x50, 0x6f, 12168 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 12169 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 12170 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 12171 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 12172 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x6a, 12173 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 12174 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 12175 0x37, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 12176 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 12177 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x73, 12178 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 12179 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22, 0x67, 0x0a, 0x1b, 0x4c, 0x69, 12180 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 12181 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 12182 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 12183 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 12184 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 12185 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 12186 0x69, 0x6f, 0x6e, 0x22, 0x57, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 12187 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 12188 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 12189 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 12190 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 12191 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x55, 0x0a, 0x1a, 12192 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 12193 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x0a, 0x61, 0x73, 12194 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 12195 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 12196 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 12197 0x65, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 12198 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 12199 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 12200 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 12201 0x6f, 0x72, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 12202 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x22, 12203 0x41, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 12204 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 12205 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 12206 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 12207 0x72, 0x74, 0x22, 0x38, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 12208 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 12209 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 12210 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x22, 0x37, 0x0a, 0x10, 12211 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 12212 0x12, 0x23, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 12213 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x06, 0x73, 12214 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x41, 0x0a, 0x11, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 12215 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 12216 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 12217 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 12218 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x42, 0x0a, 0x12, 0x44, 0x69, 0x73, 0x61, 12219 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 12220 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 12221 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 12222 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x54, 0x0a, 0x10, 12223 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 12224 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 12225 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 12226 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 12227 0x0a, 0x04, 0x73, 0x6f, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x6f, 12228 0x66, 0x74, 0x22, 0x3d, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, 12229 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 12230 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 12231 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 12232 0x79, 0x22, 0x35, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, 0x62, 12233 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x03, 0x72, 0x6f, 12234 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 12235 0x52, 0x6f, 0x61, 0x52, 0x03, 0x72, 0x6f, 0x61, 0x22, 0xa3, 0x02, 0x0a, 0x12, 0x45, 0x6e, 0x61, 12236 0x62, 0x6c, 0x65, 0x5a, 0x65, 0x62, 0x72, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 12237 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 12238 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 12239 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 12240 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 12241 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 12242 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 12243 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x6e, 0x65, 12244 0x78, 0x74, 0x68, 0x6f, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x6e, 0x61, 0x62, 12245 0x6c, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x72, 12246 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 12247 0x0d, 0x52, 0x13, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 12248 0x72, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x31, 0x0a, 0x15, 0x6d, 0x70, 0x6c, 0x73, 0x5f, 0x6c, 12249 0x61, 0x62, 0x65, 0x6c, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 12250 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x6d, 0x70, 0x6c, 0x73, 0x4c, 0x61, 0x62, 0x65, 0x6c, 12251 0x52, 0x61, 0x6e, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6f, 0x66, 12252 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 12253 0x52, 0x0c, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xda, 12254 0x01, 0x0a, 0x10, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 12255 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 12256 0x0e, 0x32, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 12257 0x4d, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x70, 0x54, 12258 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 12259 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 12260 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x75, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 12261 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x75, 12262 0x6d, 0x70, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x6f, 12263 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 12264 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 12265 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x22, 0x22, 0x0a, 0x08, 0x44, 0x75, 0x6d, 0x70, 0x54, 12266 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x53, 0x10, 0x00, 12267 0x12, 0x09, 0x0a, 0x05, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x22, 0x2f, 0x0a, 0x11, 0x44, 12268 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 12269 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 12270 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x02, 0x0a, 12271 0x0d, 0x41, 0x64, 0x64, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 12272 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 12273 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 12274 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x3d, 0x0a, 0x06, 12275 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x61, 12276 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 12277 0x73, 0x74, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 12278 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, 0x53, 12279 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 12280 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 12281 0x63, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x79, 0x73, 12282 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x53, 0x79, 0x73, 0x4e, 12283 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x79, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x18, 12284 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x53, 0x79, 0x73, 0x44, 0x65, 0x73, 0x63, 0x72, 0x22, 12285 0x43, 0x0a, 0x10, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 12286 0x69, 0x63, 0x79, 0x12, 0x07, 0x0a, 0x03, 0x50, 0x52, 0x45, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 12287 0x50, 0x4f, 0x53, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 12288 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x41, 12289 0x4c, 0x4c, 0x10, 0x04, 0x22, 0x40, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6d, 12290 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 12291 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 12292 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 12293 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6d, 12294 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x83, 0x03, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 12295 0x74, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x07, 12296 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 12297 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x73, 12298 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6d, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 12299 0x52, 0x07, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0xb2, 0x02, 0x0a, 0x0a, 0x42, 0x6d, 12300 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 12301 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 12302 0x69, 0x73, 0x74, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 12303 0x6d, 0x70, 0x53, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x04, 12304 0x63, 0x6f, 0x6e, 0x66, 0x12, 0x3d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 12305 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 12306 0x42, 0x6d, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x6d, 0x70, 0x53, 12307 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 12308 0x61, 0x74, 0x65, 0x1a, 0x34, 0x0a, 0x04, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x18, 0x0a, 0x07, 0x61, 12309 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 12310 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 12311 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x73, 0x0a, 0x05, 0x53, 0x74, 0x61, 12312 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 12313 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 12314 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 12315 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 12316 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 12317 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 12318 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x91, 12319 0x04, 0x0a, 0x06, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x03, 0x61, 0x66, 0x69, 12320 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 12321 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x2e, 0x41, 0x66, 0x69, 0x52, 0x03, 0x61, 0x66, 0x69, 0x12, 0x26, 12322 0x0a, 0x04, 0x73, 0x61, 0x66, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 12323 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x2e, 0x53, 0x61, 0x66, 0x69, 12324 0x52, 0x04, 0x73, 0x61, 0x66, 0x69, 0x22, 0x5e, 0x0a, 0x03, 0x41, 0x66, 0x69, 0x12, 0x0f, 0x0a, 12325 0x0b, 0x41, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 12326 0x0a, 0x06, 0x41, 0x46, 0x49, 0x5f, 0x49, 0x50, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x46, 12327 0x49, 0x5f, 0x49, 0x50, 0x36, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x46, 0x49, 0x5f, 0x4c, 12328 0x32, 0x56, 0x50, 0x4e, 0x10, 0x19, 0x12, 0x0c, 0x0a, 0x06, 0x41, 0x46, 0x49, 0x5f, 0x4c, 0x53, 12329 0x10, 0x84, 0x80, 0x01, 0x12, 0x10, 0x0a, 0x0a, 0x41, 0x46, 0x49, 0x5f, 0x4f, 0x50, 0x41, 0x51, 12330 0x55, 0x45, 0x10, 0x8d, 0x80, 0x01, 0x22, 0xd9, 0x02, 0x0a, 0x04, 0x53, 0x61, 0x66, 0x69, 0x12, 12331 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 12332 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x53, 12333 0x54, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 12334 0x49, 0x43, 0x41, 0x53, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x41, 0x46, 0x49, 0x5f, 12335 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x10, 0x04, 0x12, 0x16, 0x0a, 0x12, 12336 0x53, 0x41, 0x46, 0x49, 0x5f, 0x45, 0x4e, 0x43, 0x41, 0x50, 0x53, 0x55, 0x4c, 0x41, 0x54, 0x49, 12337 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x56, 0x50, 0x4c, 12338 0x53, 0x10, 0x41, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x45, 0x56, 0x50, 0x4e, 12339 0x10, 0x46, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4c, 0x53, 0x10, 0x47, 0x12, 12340 0x12, 0x0a, 0x0e, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x53, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 12341 0x59, 0x10, 0x49, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x55, 0x50, 0x10, 12342 0x55, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x50, 0x4c, 0x53, 0x5f, 0x56, 12343 0x50, 0x4e, 0x10, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x17, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4d, 0x50, 12344 0x4c, 0x53, 0x5f, 0x56, 0x50, 0x4e, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x43, 0x41, 0x53, 0x54, 12345 0x10, 0x81, 0x01, 0x12, 0x22, 0x0a, 0x1d, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x52, 0x4f, 0x55, 0x54, 12346 0x45, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4e, 0x53, 0x54, 0x52, 0x41, 12347 0x49, 0x4e, 0x54, 0x53, 0x10, 0x84, 0x01, 0x12, 0x1b, 0x0a, 0x16, 0x53, 0x41, 0x46, 0x49, 0x5f, 12348 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x55, 0x4e, 0x49, 0x43, 0x41, 0x53, 12349 0x54, 0x10, 0x85, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x46, 0x4c, 0x4f, 12350 0x57, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x5f, 0x56, 0x50, 0x4e, 0x10, 0x86, 0x01, 0x12, 0x13, 0x0a, 12351 0x0e, 0x53, 0x41, 0x46, 0x49, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 12352 0xf1, 0x01, 0x22, 0x8b, 0x03, 0x0a, 0x0a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 12353 0x6e, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 12354 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 12355 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 12356 0x12, 0x30, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 12357 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 12358 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 12359 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 12360 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x61, 0x52, 12361 0x07, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x0d, 0x75, 0x6e, 0x6d, 0x61, 12362 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 12363 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x61, 0x52, 0x0c, 0x75, 0x6e, 0x6d, 12364 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x41, 0x73, 0x6e, 0x12, 0x35, 0x0a, 0x10, 0x75, 0x6e, 0x6d, 12365 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x05, 0x20, 12366 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x61, 0x52, 12367 0x0f, 0x75, 0x6e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 12368 0x22, 0x50, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x41, 12369 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x54, 0x41, 12370 0x54, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0f, 12371 0x0a, 0x0b, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x02, 0x12, 12372 0x11, 0x0a, 0x0d, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 12373 0x10, 0x03, 0x22, 0x3c, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 12374 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 12375 0x0a, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x41, 0x53, 0x4e, 0x10, 0x01, 0x12, 0x11, 0x0a, 12376 0x0d, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x02, 12377 0x22, 0x85, 0x06, 0x0a, 0x04, 0x50, 0x61, 0x74, 0x68, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x6c, 0x72, 12378 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 12379 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x04, 0x6e, 12380 0x6c, 0x72, 0x69, 0x12, 0x2c, 0x0a, 0x06, 0x70, 0x61, 0x74, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, 12381 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 12382 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x70, 0x61, 0x74, 0x74, 0x72, 12383 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 12384 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 12385 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 12386 0x12, 0x0a, 0x04, 0x62, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 12387 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 12388 0x61, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x57, 0x69, 0x74, 0x68, 12389 0x64, 0x72, 0x61, 0x77, 0x12, 0x31, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 12390 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 12391 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x76, 0x61, 0x6c, 12392 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x6f, 0x5f, 0x69, 0x6d, 12393 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x18, 12394 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x6e, 0x6f, 0x49, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 12395 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 12396 0x69, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 12397 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 12398 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x0a, 12399 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x73, 0x6e, 0x12, 12400 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 12401 0x28, 0x09, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 12402 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 12403 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x6c, 12404 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x12, 0x28, 12405 0x0a, 0x10, 0x69, 0x73, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 12406 0x61, 0x6c, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x73, 0x46, 0x72, 0x6f, 0x6d, 12407 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x69, 0x67, 12408 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x70, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 12409 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 12410 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x12, 0x2c, 0x0a, 12411 0x12, 0x69, 0x73, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x76, 0x61, 12412 0x6c, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x4e, 0x65, 0x78, 12413 0x74, 0x68, 0x6f, 0x70, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 12414 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 12415 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x6c, 12416 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 12417 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 12418 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6c, 0x72, 0x69, 0x5f, 0x62, 12419 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x6c, 0x72, 12420 0x69, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x74, 0x72, 12421 0x73, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 12422 0x70, 0x61, 0x74, 0x74, 0x72, 0x73, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x12, 0x2a, 0x0a, 0x11, 12423 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 12424 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x78, 12425 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x48, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x74, 12426 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 12427 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 12428 0x21, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 12429 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 12430 0x68, 0x73, 0x22, 0xb9, 0x04, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0c, 0x61, 12431 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 12432 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 12433 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 12434 0x63, 0x79, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 12435 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 12436 0x66, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x12, 0x38, 0x0a, 0x0d, 0x65, 0x62, 0x67, 0x70, 0x5f, 12437 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 12438 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, 0x4d, 0x75, 0x6c, 0x74, 0x69, 12439 0x68, 0x6f, 0x70, 0x52, 0x0c, 0x65, 0x62, 0x67, 0x70, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 12440 0x70, 0x12, 0x3e, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 12441 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 12442 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 12443 0x72, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 12444 0x72, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 12445 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 12446 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x69, 0x6d, 12447 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 12448 0x62, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x73, 12449 0x12, 0x2e, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 12450 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 12451 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 12452 0x12, 0x35, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 12453 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 12454 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 12455 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x63, 0x65, 12456 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 12457 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 12458 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, 0x65, 12459 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x61, 0x66, 12460 0x69, 0x5f, 0x73, 0x61, 0x66, 0x69, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 12461 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x52, 0x08, 0x61, 12462 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x74, 0x74, 0x6c, 0x5f, 0x73, 12463 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 12464 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 12465 0x79, 0x52, 0x0b, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x22, 0xc6, 12466 0x04, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x35, 0x0a, 0x0c, 12467 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 12468 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 12469 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 12470 0x69, 0x63, 0x79, 0x12, 0x28, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 12471 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 12472 0x6f, 0x75, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x12, 0x38, 0x0a, 12473 0x0d, 0x65, 0x62, 0x67, 0x70, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x18, 0x03, 12474 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 12475 0x70, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x52, 0x0c, 0x65, 0x62, 0x67, 0x70, 0x4d, 12476 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x12, 0x3e, 0x0a, 0x0f, 0x72, 0x6f, 0x75, 0x74, 0x65, 12477 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 12478 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 12479 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 12480 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 12481 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 12482 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x04, 0x69, 0x6e, 12483 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x01, 12484 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 12485 0x73, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x74, 0x72, 0x61, 12486 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 12487 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x09, 12488 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 12489 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 12490 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 12491 0x76, 0x65, 0x72, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 12492 0x12, 0x41, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 0x73, 12493 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 12494 0x70, 0x62, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 12495 0x72, 0x74, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 12496 0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x61, 0x66, 0x69, 0x5f, 0x73, 0x61, 0x66, 0x69, 0x73, 12497 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 12498 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x52, 0x08, 0x61, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x73, 12499 0x12, 0x35, 0x0a, 0x0c, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 12500 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 12501 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x0b, 0x74, 0x74, 0x6c, 0x53, 12502 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x22, 0x48, 0x0a, 0x0f, 0x44, 0x79, 0x6e, 0x61, 0x6d, 12503 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 12504 0x65, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 12505 0x69, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 12506 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 12507 0x70, 0x22, 0xbf, 0x01, 0x0a, 0x0b, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 12508 0x79, 0x12, 0x34, 0x0a, 0x09, 0x69, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 12509 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 12510 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x69, 12511 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x6f, 0x72, 12512 0x74, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 12513 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 12514 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 12515 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3c, 0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 12516 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x61, 12517 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 12518 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0c, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x6f, 0x6c, 12519 0x69, 0x63, 0x79, 0x22, 0x8d, 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 12520 0x6d, 0x69, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 12521 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 12522 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 12523 0x78, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 12524 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x34, 0x0a, 12525 0x16, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 12526 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x73, 12527 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 12528 0x50, 0x63, 0x74, 0x22, 0xec, 0x04, 0x0a, 0x08, 0x50, 0x65, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 12529 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 12530 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 12531 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 12532 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 12533 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 12534 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 12535 0x6c, 0x41, 0x73, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 12536 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 12537 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 12538 0x19, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 12539 0x0d, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 12540 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 12541 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x79, 0x70, 12542 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 12543 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3b, 12544 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 12545 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 12546 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x72, 0x65, 12547 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 12548 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x70, 0x5f, 0x64, 0x61, 0x6d, 0x70, 0x69, 0x6e, 12549 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 12550 0x61, 0x70, 0x44, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 12551 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 12552 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 12553 0x12, 0x2d, 0x0a, 0x12, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 0x69, 0x6e, 0x74, 12554 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6e, 0x65, 12555 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 12556 0x10, 0x0a, 0x03, 0x76, 0x72, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x76, 0x72, 12557 0x66, 0x12, 0x22, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 12558 0x73, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4f, 12559 0x77, 0x6e, 0x41, 0x73, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 12560 0x5f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 12561 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x50, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x12, 12562 0x1d, 0x0a, 0x0a, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x0f, 0x20, 12563 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x12, 0x32, 12564 0x0a, 0x15, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f, 12565 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 12566 0x65, 0x6e, 0x64, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 12567 0x6f, 0x6e, 0x22, 0xa1, 0x03, 0x0a, 0x0d, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 12568 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 12569 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 12570 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 12571 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 12572 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 12573 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 12574 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 12575 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 12576 0x41, 0x73, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 12577 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x65, 12578 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x04, 0x74, 12579 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 12580 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 12581 0x12, 0x3b, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 12582 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 12583 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x0d, 12584 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 12585 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x70, 0x5f, 0x64, 0x61, 0x6d, 0x70, 12586 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x65, 12587 0x46, 0x6c, 0x61, 0x70, 0x44, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x73, 12588 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 12589 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 12590 0x74, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x6f, 0x66, 0x74, 0x77, 12591 0x61, 0x72, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 12592 0x08, 0x52, 0x13, 0x73, 0x65, 0x6e, 0x64, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x56, 12593 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x03, 0x0a, 0x0e, 0x50, 0x65, 0x65, 0x72, 0x47, 12594 0x72, 0x6f, 0x75, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 12595 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 12596 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 12597 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 12598 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 12599 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 12600 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x73, 0x6e, 0x12, 0x19, 0x0a, 12601 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 12602 0x07, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 12603 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 12604 0x09, 0x52, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 12605 0x12, 0x23, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 12606 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 12607 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 12608 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 12609 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 12610 0x61, 0x74, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 12611 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x70, 12612 0x5f, 0x64, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 12613 0x72, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x70, 0x44, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 12614 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 12615 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 12616 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 12617 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x6f, 12618 0x74, 0x61, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 12619 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 12620 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x22, 12621 0x40, 0x0a, 0x0b, 0x54, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 12622 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 12623 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x74, 0x6c, 0x5f, 12624 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x74, 0x74, 0x6c, 0x4d, 0x69, 12625 0x6e, 0x22, 0x4b, 0x0a, 0x0c, 0x45, 0x62, 0x67, 0x70, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 12626 0x70, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 12627 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 12628 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 12629 0x0d, 0x52, 0x0b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x70, 0x54, 0x74, 0x6c, 0x22, 0x83, 12630 0x01, 0x0a, 0x0e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 12631 0x72, 0x12, 0x34, 0x0a, 0x16, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 12632 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 12633 0x08, 0x52, 0x14, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 12634 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x1a, 0x72, 0x6f, 0x75, 0x74, 0x65, 12635 0x5f, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 12636 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x72, 0x6f, 0x75, 12637 0x74, 0x65, 0x52, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 12638 0x65, 0x72, 0x49, 0x64, 0x22, 0xad, 0x07, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 12639 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 12640 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x50, 12641 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 12642 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 12643 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 12644 0x61, 0x6c, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6c, 0x6f, 12645 0x63, 0x61, 0x6c, 0x41, 0x73, 0x6e, 0x12, 0x2b, 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 12646 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 12647 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 12648 0x67, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x5f, 12649 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6e, 12650 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x19, 12651 0x0a, 0x08, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 12652 0x52, 0x07, 0x70, 0x65, 0x65, 0x72, 0x41, 0x73, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x65, 0x65, 12653 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 12654 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 12655 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 12656 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 12657 0x06, 0x71, 0x75, 0x65, 0x75, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 12658 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x51, 0x75, 0x65, 0x75, 0x65, 0x73, 0x52, 0x06, 0x71, 0x75, 12659 0x65, 0x75, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x70, 12660 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 12661 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 12662 0x74, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 12663 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x70, 0x5f, 12664 0x64, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 12665 0x6f, 0x75, 0x74, 0x65, 0x46, 0x6c, 0x61, 0x70, 0x44, 0x61, 0x6d, 0x70, 0x69, 0x6e, 0x67, 0x12, 12666 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 12667 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6d, 12668 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0d, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 12669 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 12670 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 12671 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x73, 0x65, 12672 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x61, 0x64, 12673 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0e, 0x32, 12674 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 12675 0x65, 0x2e, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x61, 0x64, 12676 0x6d, 0x69, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x13, 0x0a, 0x05, 0x6f, 0x75, 0x74, 0x5f, 12677 0x71, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6f, 0x75, 0x74, 0x51, 0x12, 0x14, 0x0a, 12678 0x05, 0x66, 0x6c, 0x6f, 0x70, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 12679 0x6f, 0x70, 0x73, 0x12, 0x33, 0x0a, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x61, 12680 0x70, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 12681 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x72, 12682 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x61, 0x70, 0x12, 0x31, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 12683 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 12684 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 12685 0x79, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x72, 12686 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 12687 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x22, 0x6e, 0x0a, 0x0c, 0x53, 0x65, 0x73, 0x73, 12688 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 12689 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 12690 0x0b, 0x0a, 0x07, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 12691 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4f, 0x50, 0x45, 0x4e, 12692 0x53, 0x45, 0x4e, 0x54, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x45, 0x4e, 0x43, 0x4f, 12693 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x53, 0x54, 0x41, 0x42, 12694 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x06, 0x22, 0x2a, 0x0a, 0x0a, 0x41, 0x64, 0x6d, 0x69, 12695 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x55, 0x50, 0x10, 0x00, 0x12, 0x08, 12696 0x0a, 0x04, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x46, 0x58, 0x5f, 12697 0x43, 0x54, 0x10, 0x02, 0x22, 0x5a, 0x0a, 0x08, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 12698 0x12, 0x2a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 12699 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 12700 0x67, 0x65, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x04, 12701 0x73, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 12702 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x04, 0x73, 0x65, 0x6e, 0x74, 12703 0x22, 0x97, 0x02, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 12704 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 12705 0x28, 0x04, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 12706 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 12707 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6f, 0x70, 0x65, 0x6e, 12708 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x6f, 0x70, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 12709 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 12710 0x09, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 12711 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x72, 0x65, 0x66, 12712 0x72, 0x65, 0x73, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 12713 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 12714 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 12715 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 12716 0x64, 0x72, 0x61, 0x77, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 12717 0x04, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x55, 0x70, 0x64, 0x61, 0x74, 12718 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x5f, 0x70, 0x72, 12719 0x65, 0x66, 0x69, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x77, 0x69, 0x74, 0x68, 12720 0x64, 0x72, 0x61, 0x77, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x22, 0x36, 0x0a, 0x06, 0x51, 0x75, 12721 0x65, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 12722 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x75, 12723 0x74, 0x70, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 12724 0x75, 0x74, 0x22, 0x5f, 0x0a, 0x06, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x12, 0x2b, 0x0a, 0x06, 12725 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 12726 0x70, 0x69, 0x70, 0x62, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 12727 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 12728 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 12729 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 12730 0x61, 0x74, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x0c, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x73, 0x43, 0x6f, 12731 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 12732 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 12733 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x6c, 12734 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x68, 0x6f, 12735 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 12736 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 12737 0x28, 0x04, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x49, 0x6e, 0x74, 12738 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x44, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 12739 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 12740 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1c, 0x6d, 12741 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x6d, 12742 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 12743 0x64, 0x6c, 0x65, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x61, 0x66, 12744 0x74, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 12745 0x16, 0x69, 0x64, 0x6c, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x41, 0x66, 0x74, 12746 0x65, 0x72, 0x52, 0x65, 0x73, 0x65, 0x74, 0x22, 0xe2, 0x02, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x65, 12747 0x72, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 12748 0x63, 0x74, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 12749 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 12750 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 12751 0x08, 0x68, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6b, 0x65, 0x65, 12752 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 12753 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x61, 0x6c, 0x69, 0x76, 0x65, 12754 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x44, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x69, 12755 0x6d, 0x75, 0x6d, 0x5f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x6d, 0x65, 0x6e, 12756 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 12757 0x52, 0x1c, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x41, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 12758 0x73, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x30, 12759 0x0a, 0x14, 0x6e, 0x65, 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 12760 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x6e, 0x65, 12761 0x67, 0x6f, 0x74, 0x69, 0x61, 0x74, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x54, 0x69, 0x6d, 0x65, 12762 0x12, 0x32, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 12763 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 12764 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x75, 0x70, 12765 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 12766 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 12767 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 12768 0x6d, 0x70, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x9f, 0x02, 0x0a, 12769 0x09, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 12770 0x63, 0x61, 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 12771 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 12772 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 12773 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x23, 12774 0x0a, 0x0d, 0x6d, 0x74, 0x75, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 12775 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6d, 0x74, 0x75, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 12776 0x65, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x73, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 12777 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x69, 12778 0x76, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 12779 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 12780 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 12781 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 12782 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x17, 12783 0x0a, 0x07, 0x74, 0x63, 0x70, 0x5f, 0x6d, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 12784 0x06, 0x74, 0x63, 0x70, 0x4d, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x69, 0x6e, 0x64, 0x5f, 12785 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 12786 0x0d, 0x62, 0x69, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x66, 12787 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2e, 0x0a, 12788 0x13, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6c, 12789 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x72, 0x6f, 0x75, 0x74, 12790 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 12791 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 12792 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 12793 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x22, 0xb4, 0x03, 0x0a, 0x0f, 0x47, 0x72, 0x61, 0x63, 0x65, 12794 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 12795 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 12796 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 12797 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x74, 12798 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x65, 0x6c, 0x70, 0x65, 12799 0x72, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x65, 12800 0x6c, 0x70, 0x65, 0x72, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x65, 12801 0x72, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 12802 0x0c, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 12803 0x14, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 12804 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6e, 0x6f, 0x74, 12805 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 12806 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x6f, 0x6e, 0x67, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x6e, 12807 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6c, 0x6f, 0x6e, 12808 0x67, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 12809 0x11, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x74, 0x69, 12810 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x6c, 0x65, 0x52, 12811 0x6f, 0x75, 0x74, 0x65, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x65, 0x65, 12812 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 12813 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 12814 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 12815 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 12816 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x29, 12817 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 12818 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 12819 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 12820 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x33, 0x0a, 12821 0x17, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 12822 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 12823 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 12824 0x65, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x16, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 12825 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 12826 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 12827 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 12828 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 12829 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 12830 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 12831 0x73, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x13, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x72, 0x69, 12832 0x62, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 12833 0x52, 0x10, 0x65, 0x6e, 0x64, 0x4f, 0x66, 0x52, 0x69, 0x62, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 12834 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0f, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x5f, 0x72, 0x69, 0x62, 12835 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x6e, 0x64, 12836 0x4f, 0x66, 0x52, 0x69, 0x62, 0x53, 0x65, 0x6e, 0x74, 0x22, 0x80, 0x01, 0x0a, 0x11, 0x4d, 0x70, 12837 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 12838 0x36, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 12839 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 12840 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 12841 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x33, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 12842 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 12843 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 12844 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x50, 0x0a, 0x0d, 12845 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 12846 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 12847 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 0x66, 0x61, 12848 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 12849 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xa7, 12850 0x01, 0x0a, 0x0c, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 12851 0x25, 0x0a, 0x06, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 12852 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x06, 12853 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 12854 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 12855 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 12856 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 12857 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 12858 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x64, 0x76, 0x65, 12859 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x61, 0x64, 12860 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x64, 0x22, 0x93, 0x03, 0x0a, 0x1b, 0x52, 0x6f, 0x75, 12861 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 12862 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x77, 0x61, 12863 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x64, 0x18, 0x01, 12864 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x43, 0x6f, 0x6d, 0x70, 12865 0x61, 0x72, 0x65, 0x4d, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 12866 0x5f, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 12867 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x41, 0x73, 0x50, 12868 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3b, 0x0a, 0x1a, 0x65, 0x78, 0x74, 12869 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 0x72, 0x6f, 12870 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x65, 12871 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x52, 0x6f, 12872 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 12873 0x69, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x6f, 0x75, 12874 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x61, 0x64, 0x76, 0x65, 0x72, 12875 0x74, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x52, 0x6f, 0x75, 0x74, 12876 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x69, 0x67, 12877 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x41, 12878 0x69, 0x67, 0x70, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6e, 0x65, 12879 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x67, 0x70, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 12880 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4e, 12881 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x67, 0x70, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 12882 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x62, 0x65, 0x73, 0x74, 0x5f, 12883 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 12884 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x65, 0x73, 12885 0x74, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x92, 12886 0x03, 0x0a, 0x1a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 12887 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 12888 0x12, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x5f, 12889 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x77, 0x61, 0x79, 12890 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x65, 0x4d, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x15, 0x69, 12891 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6c, 0x65, 12892 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x67, 0x6e, 0x6f, 12893 0x72, 0x65, 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x3b, 12894 0x0a, 0x1a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 12895 0x72, 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 12896 0x28, 0x08, 0x52, 0x17, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 12897 0x61, 0x72, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x61, 12898 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 12899 0x65, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 12900 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x65, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 12901 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x61, 0x62, 0x6c, 12902 0x65, 0x5f, 0x61, 0x69, 0x67, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x6e, 12903 0x61, 0x62, 0x6c, 0x65, 0x41, 0x69, 0x67, 0x70, 0x12, 0x3a, 0x0a, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 12904 0x72, 0x65, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x67, 0x70, 0x5f, 12905 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x67, 12906 0x6e, 0x6f, 0x72, 0x65, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x67, 0x70, 0x4d, 0x65, 12907 0x74, 0x72, 0x69, 0x63, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 12908 0x62, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 12909 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 12910 0x6c, 0x65, 0x42, 0x65, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 12911 0x69, 0x6f, 0x6e, 0x22, 0x8c, 0x01, 0x0a, 0x15, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 12912 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 12913 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 12914 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 12915 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 12916 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 12917 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 12918 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 12919 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 12920 0x74, 0x65, 0x22, 0x32, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 12921 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 12922 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 12923 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x31, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 12924 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 12925 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 12926 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x5f, 0x0a, 0x0a, 0x45, 0x62, 0x67, 12927 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 12928 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 12929 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 12930 0x6c, 0x65, 0x41, 0x73, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 12931 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 12932 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x5e, 0x0a, 0x09, 0x45, 0x62, 12933 0x67, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 12934 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 12935 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 12936 0x6c, 0x65, 0x41, 0x73, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 12937 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 12938 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x59, 0x0a, 0x04, 0x45, 0x62, 12939 0x67, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 12940 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, 0x43, 12941 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 12942 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 12943 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 12944 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x0a, 0x49, 0x62, 0x67, 0x70, 0x43, 0x6f, 0x6e, 12945 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 12946 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x69, 12947 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x30, 0x0a, 0x09, 0x49, 0x62, 0x67, 0x70, 12948 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 12949 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 12950 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x59, 0x0a, 0x04, 0x49, 0x62, 12951 0x67, 0x70, 0x12, 0x29, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 12952 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x49, 0x62, 0x67, 0x70, 0x43, 12953 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 12954 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 12955 0x70, 0x69, 0x70, 0x62, 0x2e, 0x49, 0x62, 0x67, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 12956 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 12957 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x35, 0x0a, 0x06, 0x63, 0x6f, 12958 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x70, 0x69, 12959 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 12960 0x74, 0x68, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 12961 0x67, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 12962 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 12963 0x69, 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 12964 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x04, 0x65, 0x62, 0x67, 0x70, 0x18, 0x03, 0x20, 12965 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x62, 0x67, 0x70, 12966 0x52, 0x04, 0x65, 0x62, 0x67, 0x70, 0x12, 0x1f, 0x0a, 0x04, 0x69, 0x62, 0x67, 0x70, 0x18, 0x04, 12967 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x49, 0x62, 0x67, 12968 0x70, 0x52, 0x04, 0x69, 0x62, 0x67, 0x70, 0x22, 0x42, 0x0a, 0x1b, 0x52, 0x6f, 0x75, 0x74, 0x65, 12969 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 12970 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 12971 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 12972 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x41, 0x0a, 0x1a, 0x52, 12973 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 12974 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x66, 12975 0x65, 0x72, 0x72, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 12976 0x52, 0x0c, 0x64, 0x65, 0x66, 0x65, 0x72, 0x72, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x8c, 12977 0x01, 0x0a, 0x15, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 12978 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 12979 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 12980 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 12981 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 12982 0x6e, 0x66, 0x69, 0x67, 0x12, 0x37, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 12983 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 12984 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 12985 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x5d, 0x0a, 12986 0x1e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 12987 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 12988 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 12989 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 12990 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 12991 0x0b, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xde, 0x01, 0x0a, 12992 0x1d, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 12993 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 12994 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 12995 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 12996 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 12997 0x69, 0x76, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 12998 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 12999 0x69, 0x73, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 13000 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 13001 0x0f, 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 13002 0x12, 0x3b, 0x0a, 0x1a, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 13003 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x05, 13004 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x70, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 13005 0x74, 0x54, 0x69, 0x6d, 0x65, 0x72, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x22, 0x95, 0x01, 13006 0x0a, 0x18, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 13007 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x63, 0x6f, 13008 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x61, 0x70, 0x69, 13009 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 13010 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 13011 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x05, 0x73, 0x74, 0x61, 13012 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13013 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 13014 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 13015 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9d, 0x05, 0x0a, 0x07, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 13016 0x69, 0x12, 0x48, 0x0a, 0x13, 0x6d, 0x70, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 13017 0x5f, 0x72, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 13018 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x70, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 13019 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x11, 0x6d, 0x70, 0x47, 0x72, 0x61, 0x63, 13020 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x63, 13021 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 13022 0x69, 0x70, 0x62, 0x2e, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 13023 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x61, 13024 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13025 0x2e, 0x41, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 13026 0x74, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x6f, 13027 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 13028 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 13029 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x54, 0x0a, 0x17, 0x72, 13030 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 13031 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 13032 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 13033 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x15, 0x72, 0x6f, 0x75, 0x74, 13034 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 13035 0x73, 0x12, 0x45, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 13036 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 13037 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 13038 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 13039 0x70, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x37, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x66, 13040 0x69, 0x78, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 13041 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 13042 0x6d, 0x69, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 13043 0x73, 0x12, 0x54, 0x0a, 0x17, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 13044 0x74, 0x5f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x18, 0x08, 0x20, 0x01, 13045 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 13046 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 13047 0x52, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x65, 0x6d, 13048 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x5e, 0x0a, 0x1b, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 13049 0x6c, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 13050 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 13051 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 13052 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x52, 0x18, 0x6c, 13053 0x6f, 0x6e, 0x67, 0x4c, 0x69, 0x76, 0x65, 0x64, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 13054 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x70, 13055 0x61, 0x74, 0x68, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 13056 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x52, 0x08, 0x61, 0x64, 0x64, 13057 0x50, 0x61, 0x74, 0x68, 0x73, 0x22, 0x45, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 13058 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 13059 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 13060 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 13061 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x22, 0x44, 0x0a, 0x0d, 13062 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 13063 0x07, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 13064 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x5f, 13065 0x6d, 0x61, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x4d, 13066 0x61, 0x78, 0x22, 0x65, 0x0a, 0x08, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x2d, 13067 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 13068 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x43, 13069 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, 13070 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 13071 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x73, 0x53, 0x74, 0x61, 13072 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x75, 0x0a, 0x06, 0x50, 0x72, 0x65, 13073 0x66, 0x69, 0x78, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 13074 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x70, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 13075 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 13076 0x6d, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x6b, 0x4c, 13077 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x73, 0x6b, 13078 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 13079 0x0d, 0x52, 0x0d, 0x6d, 0x61, 0x73, 0x6b, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4d, 0x61, 0x78, 13080 0x22, 0x96, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 13081 0x35, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 13082 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 13083 0x66, 0x69, 0x6e, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 13084 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 13085 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 13086 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x29, 13087 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 13088 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x52, 13089 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x22, 0x6e, 0x0a, 0x08, 0x4d, 0x61, 0x74, 13090 0x63, 0x68, 0x53, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 13091 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 13092 0x68, 0x53, 0x65, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 13093 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 13094 0x61, 0x6d, 0x65, 0x22, 0x24, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 13095 0x4e, 0x59, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0a, 0x0a, 13096 0x06, 0x49, 0x4e, 0x56, 0x45, 0x52, 0x54, 0x10, 0x02, 0x22, 0x74, 0x0a, 0x0c, 0x41, 0x73, 0x50, 13097 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 13098 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 13099 0x41, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2e, 0x54, 0x79, 0x70, 13100 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 13101 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 13102 0x1e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 13103 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x22, 13104 0x76, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 13105 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 13106 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 13107 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 13108 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 13109 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x1e, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 13110 0x06, 0x0a, 0x02, 0x45, 0x51, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x45, 0x10, 0x01, 0x12, 13111 0x06, 0x0a, 0x02, 0x4c, 0x45, 0x10, 0x02, 0x22, 0x9f, 0x06, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x64, 13112 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 13113 0x5f, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 13114 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x52, 0x09, 0x70, 0x72, 0x65, 13115 0x66, 0x69, 0x78, 0x53, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x0c, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 13116 0x6f, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 13117 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x52, 0x0b, 0x6e, 13118 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x53, 0x65, 0x74, 0x12, 0x39, 0x0a, 0x0e, 0x61, 0x73, 13119 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 13120 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x50, 0x61, 0x74, 13121 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x52, 0x0c, 0x61, 0x73, 0x50, 0x61, 0x74, 0x68, 0x4c, 13122 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2f, 0x0a, 0x0b, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x68, 13123 0x5f, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 13124 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x52, 0x09, 0x61, 0x73, 0x50, 13125 0x61, 0x74, 0x68, 0x53, 0x65, 0x74, 0x12, 0x34, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 13126 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 13127 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x52, 0x0c, 13128 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x3b, 0x0a, 0x11, 13129 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 13130 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 13131 0x4d, 0x61, 0x74, 0x63, 0x68, 0x53, 0x65, 0x74, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6d, 13132 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x70, 0x6b, 13133 0x69, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 13134 0x72, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x3a, 0x0a, 0x0a, 0x72, 0x6f, 13135 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 13136 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 13137 0x73, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x72, 0x6f, 0x75, 13138 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x13, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x5f, 13139 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 13140 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x61, 0x74, 0x63, 13141 0x68, 0x53, 0x65, 0x74, 0x52, 0x11, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 13142 0x6e, 0x69, 0x74, 0x79, 0x53, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x10, 0x6e, 0x65, 0x78, 0x74, 0x5f, 13143 0x68, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x03, 0x28, 13144 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x48, 0x6f, 0x70, 0x49, 0x6e, 0x4c, 0x69, 0x73, 0x74, 13145 0x12, 0x2d, 0x0a, 0x0b, 0x61, 0x66, 0x69, 0x5f, 0x73, 0x61, 0x66, 0x69, 0x5f, 0x69, 0x6e, 0x18, 13146 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x46, 0x61, 13147 0x6d, 0x69, 0x6c, 0x79, 0x52, 0x09, 0x61, 0x66, 0x69, 0x53, 0x61, 0x66, 0x69, 0x49, 0x6e, 0x12, 13148 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x75, 13149 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13150 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 13151 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 13152 0x2e, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 13153 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 0x69, 13154 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x22, 13155 0x68, 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 13156 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 13157 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 13158 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x4f, 13159 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x54, 0x45, 0x52, 0x4e, 0x41, 13160 0x4c, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x54, 0x59, 0x50, 13161 0x45, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x22, 0x8e, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 13162 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 13163 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x61, 0x70, 13164 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 13165 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 13166 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 13167 0x03, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x69, 0x65, 0x73, 13168 0x22, 0x28, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 13169 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 13170 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10, 0x02, 0x22, 0x6a, 0x0a, 0x09, 0x4d, 0x65, 13171 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 13172 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 0x65, 13173 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 13174 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 13175 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x1c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 13176 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x4f, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 13177 0x4c, 0x41, 0x43, 0x45, 0x10, 0x01, 0x22, 0x5f, 0x0a, 0x0f, 0x41, 0x73, 0x50, 0x72, 0x65, 0x70, 13178 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 13179 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 13180 0x65, 0x70, 0x65, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x72, 0x65, 0x70, 13181 0x65, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x5f, 13182 0x6d, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x4c, 13183 0x65, 0x66, 0x74, 0x4d, 0x6f, 0x73, 0x74, 0x22, 0x7e, 0x0a, 0x0d, 0x4e, 0x65, 0x78, 0x74, 0x68, 13184 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 13185 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 13186 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 13187 0x52, 0x04, 0x73, 0x65, 0x6c, 0x66, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x6e, 0x63, 0x68, 0x61, 0x6e, 13188 0x67, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x6e, 0x63, 0x68, 0x61, 13189 0x6e, 0x67, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 13190 0x72, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x65, 0x65, 0x72, 13191 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x27, 0x0a, 0x0f, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 13192 0x50, 0x72, 0x65, 0x66, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 13193 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 13194 0x22, 0x3e, 0x0a, 0x0c, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 13195 0x12, 0x2e, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 13196 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x4f, 0x72, 13197 0x69, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 13198 0x22, 0xf0, 0x03, 0x0a, 0x07, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x0a, 0x0c, 13199 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 13200 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 13201 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 13202 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 13203 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 13204 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 13205 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x03, 0x6d, 0x65, 0x64, 13206 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4d, 13207 0x65, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x03, 0x6d, 0x65, 0x64, 0x12, 0x35, 0x0a, 13208 0x0a, 0x61, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 13209 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x73, 0x50, 0x72, 0x65, 0x70, 13210 0x65, 0x6e, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x61, 0x73, 0x50, 0x72, 0x65, 13211 0x70, 0x65, 0x6e, 0x64, 0x12, 0x3b, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 13212 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 13213 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 13214 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 13215 0x79, 0x12, 0x2e, 0x0a, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 0x70, 0x18, 0x06, 0x20, 0x01, 13216 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x68, 13217 0x6f, 0x70, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x6e, 0x65, 0x78, 0x74, 0x68, 0x6f, 13218 0x70, 0x12, 0x35, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x18, 13219 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 13220 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6c, 13221 0x6f, 0x63, 0x61, 0x6c, 0x50, 0x72, 0x65, 0x66, 0x12, 0x3f, 0x0a, 0x0f, 0x6c, 0x61, 0x72, 0x67, 13222 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 13223 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 13224 0x69, 0x74, 0x79, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6c, 0x61, 0x72, 0x67, 0x65, 13225 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x0d, 0x6f, 0x72, 0x69, 13226 0x67, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 13227 0x32, 0x13, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 13228 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x41, 0x63, 0x74, 13229 0x69, 0x6f, 0x6e, 0x22, 0x7c, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 13230 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 13231 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 13232 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13233 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 13234 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 13235 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13236 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 13237 0x73, 0x22, 0x4e, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 13238 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 13239 0x30, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 13240 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 13241 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 13242 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x10, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 13243 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 13244 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x09, 0x64, 0x69, 13245 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 13246 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 0x69, 0x72, 0x65, 13247 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 13248 0x12, 0x29, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 13249 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 13250 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x64, 13251 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 13252 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x6f, 0x75, 0x74, 13253 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 13254 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 13255 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x34, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x69, 0x6e, 13256 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 13257 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 13258 0x52, 0x0b, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x73, 0x12, 0x29, 0x0a, 13259 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 13260 0x0d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 13261 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x03, 0x52, 0x6f, 0x61, 13262 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x61, 13263 0x73, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x18, 13264 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 13265 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 13266 0x52, 0x06, 0x6d, 0x61, 0x78, 0x6c, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 13267 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 13268 0x12, 0x23, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 13269 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x4b, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x52, 13270 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x22, 0xb5, 0x01, 0x0a, 0x03, 0x56, 0x72, 0x66, 0x12, 0x12, 0x0a, 13271 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 13272 0x65, 0x12, 0x24, 0x0a, 0x02, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 13273 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 13274 0x41, 0x6e, 0x79, 0x52, 0x02, 0x72, 0x64, 0x12, 0x31, 0x0a, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 13275 0x74, 0x5f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 13276 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 13277 0x52, 0x08, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x65, 0x78, 13278 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 13279 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 13280 0x41, 0x6e, 0x79, 0x52, 0x08, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x74, 0x12, 0x0e, 0x0a, 13281 0x02, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x22, 0x86, 0x01, 13282 0x0a, 0x14, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 13283 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 13284 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 13285 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 13286 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x36, 13287 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 13288 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 13289 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 13290 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xd8, 0x04, 0x0a, 0x06, 0x47, 0x6c, 0x6f, 0x62, 0x61, 13291 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x73, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 13292 0x61, 0x73, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 13293 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x49, 0x64, 13294 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 13295 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x50, 0x6f, 0x72, 13296 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x61, 0x64, 0x64, 0x72, 13297 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x69, 0x73, 13298 0x74, 0x65, 0x6e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 13299 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x08, 13300 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 13301 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x06, 13302 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x75, 0x73, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 13303 0x65, 0x50, 0x61, 0x74, 0x68, 0x73, 0x12, 0x5a, 0x0a, 0x17, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 13304 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 13305 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 13306 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 13307 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x72, 0x6f, 0x75, 13308 0x74, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 13309 0x6e, 0x73, 0x12, 0x51, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x6f, 13310 0x75, 0x74, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 13311 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 13312 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 13313 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x44, 0x69, 0x73, 13314 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 13315 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 13316 0x70, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 13317 0x6f, 0x6e, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 13318 0x6e, 0x12, 0x41, 0x0a, 0x10, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x5f, 0x72, 0x65, 13319 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x61, 0x70, 13320 0x69, 0x70, 0x62, 0x2e, 0x47, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 0x74, 13321 0x61, 0x72, 0x74, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, 0x65, 0x66, 0x75, 0x6c, 0x52, 0x65, 0x73, 13322 0x74, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x6f, 13323 0x6c, 0x69, 0x63, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x61, 0x70, 0x69, 13324 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 13325 0x61, 0x70, 0x70, 0x6c, 0x79, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x62, 13326 0x69, 0x6e, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x18, 0x0c, 0x20, 13327 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x6f, 0x44, 0x65, 0x76, 0x69, 0x63, 13328 0x65, 0x22, 0x6f, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x65, 0x64, 0x65, 0x72, 0x61, 0x74, 0x69, 13329 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 13330 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 13331 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 13332 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 13333 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x61, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x03, 13334 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x41, 0x73, 0x4c, 0x69, 13335 0x73, 0x74, 0x22, 0x45, 0x0a, 0x08, 0x52, 0x50, 0x4b, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x18, 13336 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 13337 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 13338 0x74, 0x65, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 13339 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x22, 0xd4, 0x04, 0x0a, 0x09, 0x52, 0x50, 13340 0x4b, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 13341 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 13342 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 13343 0x61, 0x6d, 0x70, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x64, 13344 0x6f, 0x77, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 13345 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 13346 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x74, 13347 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 13348 0x02, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x69, 0x70, 13349 0x76, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 13350 0x49, 0x70, 0x76, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x69, 13351 0x70, 0x76, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x6f, 0x72, 13352 0x64, 0x49, 0x70, 0x76, 0x36, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x5f, 13353 0x69, 0x70, 0x76, 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x65, 0x66, 13354 0x69, 0x78, 0x49, 0x70, 0x76, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 13355 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x72, 0x65, 13356 0x66, 0x69, 0x78, 0x49, 0x70, 0x76, 0x36, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 13357 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 13358 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x69, 0x70, 0x76, 0x34, 13359 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 13360 0x49, 0x70, 0x76, 0x34, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 13361 0x5f, 0x69, 0x70, 0x76, 0x36, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x63, 13362 0x65, 0x69, 0x76, 0x65, 0x64, 0x49, 0x70, 0x76, 0x36, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x72, 13363 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 13364 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x1f, 13365 0x0a, 0x0b, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x18, 0x0c, 0x20, 13366 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 0x73, 0x65, 0x74, 0x12, 13367 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 13368 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x52, 0x65, 13369 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 13370 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x65, 0x6e, 0x64, 13371 0x4f, 0x66, 0x44, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 13372 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x0c, 13373 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x10, 0x20, 0x01, 13374 0x28, 0x03, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 13375 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x11, 13376 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x65, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 13377 0x22, 0x53, 0x0a, 0x04, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x23, 0x0a, 0x04, 0x63, 0x6f, 0x6e, 0x66, 13378 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 13379 0x50, 0x4b, 0x49, 0x43, 0x6f, 0x6e, 0x66, 0x52, 0x04, 0x63, 0x6f, 0x6e, 0x66, 0x12, 0x26, 0x0a, 13380 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, 13381 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x50, 0x4b, 0x49, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 13382 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 13383 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x05, 13384 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x61, 0x70, 13385 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 13386 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x65, 13387 0x76, 0x65, 0x6c, 0x22, 0x52, 0x0a, 0x05, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x09, 0x0a, 0x05, 13388 0x50, 0x41, 0x4e, 0x49, 0x43, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x54, 0x41, 0x4c, 13389 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 13390 0x04, 0x57, 0x41, 0x52, 0x4e, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x4e, 0x46, 0x4f, 0x10, 13391 0x04, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 13392 0x54, 0x52, 0x41, 0x43, 0x45, 0x10, 0x06, 0x2a, 0x44, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 13393 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x4c, 0x4f, 0x42, 0x41, 0x4c, 0x10, 0x00, 13394 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 13395 0x44, 0x4a, 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x44, 0x4a, 0x5f, 0x4f, 13396 0x55, 0x54, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x52, 0x46, 0x10, 0x04, 0x2a, 0x26, 0x0a, 13397 0x08, 0x50, 0x65, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x54, 13398 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x58, 0x54, 0x45, 0x52, 13399 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x2a, 0x3d, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x50, 13400 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 13401 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x45, 0x4d, 0x4f, 0x56, 13402 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 13403 0x43, 0x45, 0x10, 0x02, 0x2a, 0x82, 0x01, 0x0a, 0x0b, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 13404 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x45, 0x46, 0x49, 0x58, 0x10, 0x00, 13405 0x12, 0x0c, 0x0a, 0x08, 0x4e, 0x45, 0x49, 0x47, 0x48, 0x42, 0x4f, 0x52, 0x10, 0x01, 0x12, 0x07, 13406 0x0a, 0x03, 0x54, 0x41, 0x47, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x53, 0x5f, 0x50, 0x41, 13407 0x54, 0x48, 0x10, 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 13408 0x59, 0x10, 0x04, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x58, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x55, 13409 0x4e, 0x49, 0x54, 0x59, 0x10, 0x05, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x41, 0x52, 0x47, 0x45, 0x5f, 13410 0x43, 0x4f, 0x4d, 0x4d, 0x55, 0x4e, 0x49, 0x54, 0x59, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x4e, 13411 0x45, 0x58, 0x54, 0x5f, 0x48, 0x4f, 0x50, 0x10, 0x07, 0x2a, 0x59, 0x0a, 0x0f, 0x52, 0x6f, 0x75, 13412 0x74, 0x65, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 13413 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 13414 0x0a, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x49, 0x47, 0x50, 0x10, 0x01, 0x12, 0x0e, 0x0a, 13415 0x0a, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x45, 0x47, 0x50, 0x10, 0x02, 0x12, 0x15, 0x0a, 13416 0x11, 0x4f, 0x52, 0x49, 0x47, 0x49, 0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 13417 0x54, 0x45, 0x10, 0x03, 0x2a, 0x2f, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x41, 0x63, 0x74, 13418 0x69, 0x6f, 0x6e, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 13419 0x06, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4a, 13420 0x45, 0x43, 0x54, 0x10, 0x02, 0x2a, 0x36, 0x0a, 0x0f, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x44, 13421 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 13422 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x10, 13423 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x02, 0x32, 0xc2, 0x1d, 13424 0x0a, 0x08, 0x47, 0x6f, 0x62, 0x67, 0x70, 0x41, 0x70, 0x69, 0x12, 0x3a, 0x0a, 0x08, 0x53, 0x74, 13425 0x61, 0x72, 0x74, 0x42, 0x67, 0x70, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 13426 0x74, 0x61, 0x72, 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 13427 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 13428 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x42, 0x67, 13429 0x70, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x42, 0x67, 13430 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 13431 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 13432 0x12, 0x35, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x42, 0x67, 0x70, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 13433 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x67, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 13434 0x1a, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x67, 0x70, 0x52, 13435 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x57, 0x61, 0x74, 0x63, 0x68, 13436 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x57, 0x61, 13437 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 13438 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x45, 0x76, 0x65, 13439 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x38, 0x0a, 0x07, 13440 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 13441 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 13442 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 13443 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 13444 0x50, 0x65, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 13445 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 13446 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 13447 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 13448 0x65, 0x72, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 13449 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 13450 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 13451 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 13452 0x65, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 13453 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 13454 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 13455 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x65, 13456 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x65, 13457 0x73, 0x65, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 13458 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 13459 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0c, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 13460 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 13461 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 13462 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 13463 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x45, 0x6e, 13464 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13465 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 13466 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 13467 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x44, 0x69, 13468 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 13469 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 13470 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 13471 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0c, 13472 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1a, 0x2e, 0x61, 13473 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 13474 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 13475 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 13476 0x12, 0x48, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 13477 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 13478 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 13479 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 13480 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x0d, 0x4c, 0x69, 13481 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1b, 0x2e, 0x61, 0x70, 13482 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 13483 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13484 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 13485 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 13486 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x2e, 0x61, 0x70, 13487 0x69, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 13488 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x70, 0x69, 13489 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x65, 0x65, 0x72, 0x47, 0x72, 0x6f, 13490 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x12, 0x41, 0x64, 13491 0x64, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 13492 0x12, 0x20, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x79, 0x6e, 0x61, 13493 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 13494 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 13495 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x5e, 0x0a, 0x13, 0x4c, 0x69, 13496 0x73, 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 13497 0x72, 0x12, 0x21, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x79, 13498 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 0x52, 0x65, 0x71, 13499 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 13500 0x74, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 0x72, 13501 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x54, 0x0a, 0x15, 0x44, 0x65, 13502 0x6c, 0x65, 0x74, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 13503 0x62, 0x6f, 0x72, 0x12, 0x23, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 13504 0x74, 0x65, 0x44, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x4e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f, 13505 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 13506 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 13507 0x12, 0x38, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x15, 0x2e, 0x61, 0x70, 13508 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 13509 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 13510 0x74, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x44, 0x65, 13511 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13512 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 13513 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 13514 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3d, 0x0a, 0x08, 0x4c, 0x69, 13515 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 13516 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 13517 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x74, 0x68, 0x52, 13518 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0d, 0x41, 0x64, 0x64, 13519 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 13520 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x61, 0x74, 0x68, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 13521 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 13522 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x28, 13523 0x01, 0x12, 0x3b, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x2e, 13524 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 13525 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x47, 0x65, 13526 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 13527 0x0a, 0x06, 0x41, 0x64, 0x64, 0x56, 0x72, 0x66, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13528 0x2e, 0x41, 0x64, 0x64, 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 13529 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 13530 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 13531 0x56, 0x72, 0x66, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 13532 0x74, 0x65, 0x56, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 13533 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 13534 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x12, 13535 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x52, 13536 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 13537 0x69, 0x73, 0x74, 0x56, 0x72, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 13538 0x12, 0x3c, 0x0a, 0x09, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x17, 0x2e, 13539 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 13540 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 13541 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x42, 13542 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 13543 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 13544 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 13545 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 13546 0x74, 0x79, 0x12, 0x43, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 13547 0x12, 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 13548 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x70, 0x69, 13549 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 13550 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x50, 0x6f, 13551 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 13552 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 13553 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 13554 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x44, 0x0a, 0x0d, 0x41, 0x64, 0x64, 13555 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 13556 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 13557 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 13558 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 13559 0x4a, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 13560 0x53, 0x65, 0x74, 0x12, 0x1e, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 13561 0x74, 0x65, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 13562 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 13563 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4f, 0x0a, 0x0e, 0x4c, 13564 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x74, 0x12, 0x1c, 0x2e, 13565 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 13566 0x64, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x61, 0x70, 13567 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x53, 13568 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x0c, 13569 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x2e, 0x61, 13570 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 13571 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 13572 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 13573 0x12, 0x48, 0x0a, 0x0f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 13574 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 13575 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 13576 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 13577 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4c, 0x0a, 0x0d, 0x4c, 0x69, 13578 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x61, 0x70, 13579 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 13580 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13581 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 13582 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x50, 13583 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 13584 0x21, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x50, 0x6f, 0x6c, 0x69, 0x63, 13585 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 13586 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 13587 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x56, 0x0a, 0x16, 0x44, 0x65, 13588 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 13589 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 13590 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 13591 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 13592 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 13593 0x74, 0x79, 0x12, 0x61, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 13594 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x2e, 0x61, 0x70, 0x69, 13595 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 0x73, 13596 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 13597 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 13598 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 13599 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x50, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 13600 0x63, 0x79, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x2e, 0x61, 13601 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x41, 0x73, 13602 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 13603 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 13604 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x52, 0x70, 13605 0x6b, 0x69, 0x12, 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x52, 0x70, 13606 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 13607 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 13608 0x79, 0x12, 0x3e, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x12, 13609 0x18, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x70, 13610 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 13611 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 13612 0x79, 0x12, 0x3d, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x16, 0x2e, 13613 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 13614 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 13615 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 13616 0x12, 0x3e, 0x0a, 0x0a, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x12, 0x18, 13617 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 13618 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 13619 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 13620 0x12, 0x40, 0x0a, 0x0b, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x70, 0x6b, 0x69, 0x12, 13621 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 13622 0x70, 0x6b, 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 13623 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 13624 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x12, 13625 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x52, 0x70, 0x6b, 13626 0x69, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 13627 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 13628 0x12, 0x4c, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 0x61, 0x62, 0x6c, 13629 0x65, 0x12, 0x1b, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 13630 0x6b, 0x69, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 13631 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x70, 0x6b, 0x69, 0x54, 13632 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x40, 13633 0x0a, 0x0b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5a, 0x65, 0x62, 0x72, 0x61, 0x12, 0x19, 0x2e, 13634 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5a, 0x65, 0x62, 0x72, 13635 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 13636 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 13637 0x12, 0x3c, 0x0a, 0x09, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x12, 0x17, 0x2e, 13638 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 13639 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 13640 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3e, 13641 0x0a, 0x0a, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x12, 0x18, 0x2e, 0x61, 13642 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4d, 0x72, 0x74, 0x52, 13643 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 13644 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x36, 13645 0x0a, 0x06, 0x41, 0x64, 0x64, 0x42, 0x6d, 0x70, 0x12, 0x14, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 13646 0x2e, 0x41, 0x64, 0x64, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 13647 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 13648 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 13649 0x42, 0x6d, 0x70, 0x12, 0x17, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 13650 0x74, 0x65, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 13651 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 13652 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3a, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6d, 0x70, 0x12, 13653 0x15, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6d, 0x70, 0x52, 13654 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x4c, 13655 0x69, 0x73, 0x74, 0x42, 0x6d, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 13656 0x12, 0x40, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 13657 0x19, 0x2e, 0x61, 0x70, 0x69, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x6f, 0x67, 0x4c, 0x65, 13658 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 13659 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 13660 0x74, 0x79, 0x42, 0x24, 0x5a, 0x22, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 13661 0x2f, 0x6f, 0x73, 0x72, 0x67, 0x2f, 0x67, 0x6f, 0x62, 0x67, 0x70, 0x2f, 0x76, 0x33, 0x2f, 0x61, 13662 0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 13663 } 13664 13665 var ( 13666 file_gobgp_proto_rawDescOnce sync.Once 13667 file_gobgp_proto_rawDescData = file_gobgp_proto_rawDesc 13668 ) 13669 13670 func file_gobgp_proto_rawDescGZIP() []byte { 13671 file_gobgp_proto_rawDescOnce.Do(func() { 13672 file_gobgp_proto_rawDescData = protoimpl.X.CompressGZIP(file_gobgp_proto_rawDescData) 13673 }) 13674 return file_gobgp_proto_rawDescData 13675 } 13676 13677 var file_gobgp_proto_enumTypes = make([]protoimpl.EnumInfo, 27) 13678 var file_gobgp_proto_msgTypes = make([]protoimpl.MessageInfo, 159) 13679 var file_gobgp_proto_goTypes = []interface{}{ 13680 (TableType)(0), // 0: apipb.TableType 13681 (PeerType)(0), // 1: apipb.PeerType 13682 (RemovePrivate)(0), // 2: apipb.RemovePrivate 13683 (DefinedType)(0), // 3: apipb.DefinedType 13684 (RouteOriginType)(0), // 4: apipb.RouteOriginType 13685 (RouteAction)(0), // 5: apipb.RouteAction 13686 (PolicyDirection)(0), // 6: apipb.PolicyDirection 13687 (WatchEventRequest_Table_Filter_Type)(0), // 7: apipb.WatchEventRequest.Table.Filter.Type 13688 (WatchEventResponse_PeerEvent_Type)(0), // 8: apipb.WatchEventResponse.PeerEvent.Type 13689 (ResetPeerRequest_SoftResetDirection)(0), // 9: apipb.ResetPeerRequest.SoftResetDirection 13690 (TableLookupPrefix_Type)(0), // 10: apipb.TableLookupPrefix.Type 13691 (ListPathRequest_SortType)(0), // 11: apipb.ListPathRequest.SortType 13692 (EnableMrtRequest_DumpType)(0), // 12: apipb.EnableMrtRequest.DumpType 13693 (AddBmpRequest_MonitoringPolicy)(0), // 13: apipb.AddBmpRequest.MonitoringPolicy 13694 (Family_Afi)(0), // 14: apipb.Family.Afi 13695 (Family_Safi)(0), // 15: apipb.Family.Safi 13696 (Validation_State)(0), // 16: apipb.Validation.State 13697 (Validation_Reason)(0), // 17: apipb.Validation.Reason 13698 (PeerState_SessionState)(0), // 18: apipb.PeerState.SessionState 13699 (PeerState_AdminState)(0), // 19: apipb.PeerState.AdminState 13700 (MatchSet_Type)(0), // 20: apipb.MatchSet.Type 13701 (AsPathLength_Type)(0), // 21: apipb.AsPathLength.Type 13702 (CommunityCount_Type)(0), // 22: apipb.CommunityCount.Type 13703 (Conditions_RouteType)(0), // 23: apipb.Conditions.RouteType 13704 (CommunityAction_Type)(0), // 24: apipb.CommunityAction.Type 13705 (MedAction_Type)(0), // 25: apipb.MedAction.Type 13706 (SetLogLevelRequest_Level)(0), // 26: apipb.SetLogLevelRequest.Level 13707 (*StartBgpRequest)(nil), // 27: apipb.StartBgpRequest 13708 (*StopBgpRequest)(nil), // 28: apipb.StopBgpRequest 13709 (*GetBgpRequest)(nil), // 29: apipb.GetBgpRequest 13710 (*GetBgpResponse)(nil), // 30: apipb.GetBgpResponse 13711 (*WatchEventRequest)(nil), // 31: apipb.WatchEventRequest 13712 (*WatchEventResponse)(nil), // 32: apipb.WatchEventResponse 13713 (*AddPeerRequest)(nil), // 33: apipb.AddPeerRequest 13714 (*DeletePeerRequest)(nil), // 34: apipb.DeletePeerRequest 13715 (*ListPeerRequest)(nil), // 35: apipb.ListPeerRequest 13716 (*ListPeerResponse)(nil), // 36: apipb.ListPeerResponse 13717 (*UpdatePeerRequest)(nil), // 37: apipb.UpdatePeerRequest 13718 (*UpdatePeerResponse)(nil), // 38: apipb.UpdatePeerResponse 13719 (*ResetPeerRequest)(nil), // 39: apipb.ResetPeerRequest 13720 (*ShutdownPeerRequest)(nil), // 40: apipb.ShutdownPeerRequest 13721 (*EnablePeerRequest)(nil), // 41: apipb.EnablePeerRequest 13722 (*DisablePeerRequest)(nil), // 42: apipb.DisablePeerRequest 13723 (*AddPeerGroupRequest)(nil), // 43: apipb.AddPeerGroupRequest 13724 (*DeletePeerGroupRequest)(nil), // 44: apipb.DeletePeerGroupRequest 13725 (*UpdatePeerGroupRequest)(nil), // 45: apipb.UpdatePeerGroupRequest 13726 (*UpdatePeerGroupResponse)(nil), // 46: apipb.UpdatePeerGroupResponse 13727 (*ListPeerGroupRequest)(nil), // 47: apipb.ListPeerGroupRequest 13728 (*ListPeerGroupResponse)(nil), // 48: apipb.ListPeerGroupResponse 13729 (*AddDynamicNeighborRequest)(nil), // 49: apipb.AddDynamicNeighborRequest 13730 (*DeleteDynamicNeighborRequest)(nil), // 50: apipb.DeleteDynamicNeighborRequest 13731 (*ListDynamicNeighborRequest)(nil), // 51: apipb.ListDynamicNeighborRequest 13732 (*ListDynamicNeighborResponse)(nil), // 52: apipb.ListDynamicNeighborResponse 13733 (*AddPathRequest)(nil), // 53: apipb.AddPathRequest 13734 (*AddPathResponse)(nil), // 54: apipb.AddPathResponse 13735 (*DeletePathRequest)(nil), // 55: apipb.DeletePathRequest 13736 (*TableLookupPrefix)(nil), // 56: apipb.TableLookupPrefix 13737 (*ListPathRequest)(nil), // 57: apipb.ListPathRequest 13738 (*ListPathResponse)(nil), // 58: apipb.ListPathResponse 13739 (*AddPathStreamRequest)(nil), // 59: apipb.AddPathStreamRequest 13740 (*GetTableRequest)(nil), // 60: apipb.GetTableRequest 13741 (*GetTableResponse)(nil), // 61: apipb.GetTableResponse 13742 (*AddVrfRequest)(nil), // 62: apipb.AddVrfRequest 13743 (*DeleteVrfRequest)(nil), // 63: apipb.DeleteVrfRequest 13744 (*ListVrfRequest)(nil), // 64: apipb.ListVrfRequest 13745 (*ListVrfResponse)(nil), // 65: apipb.ListVrfResponse 13746 (*AddPolicyRequest)(nil), // 66: apipb.AddPolicyRequest 13747 (*DeletePolicyRequest)(nil), // 67: apipb.DeletePolicyRequest 13748 (*ListPolicyRequest)(nil), // 68: apipb.ListPolicyRequest 13749 (*ListPolicyResponse)(nil), // 69: apipb.ListPolicyResponse 13750 (*SetPoliciesRequest)(nil), // 70: apipb.SetPoliciesRequest 13751 (*AddDefinedSetRequest)(nil), // 71: apipb.AddDefinedSetRequest 13752 (*DeleteDefinedSetRequest)(nil), // 72: apipb.DeleteDefinedSetRequest 13753 (*ListDefinedSetRequest)(nil), // 73: apipb.ListDefinedSetRequest 13754 (*ListDefinedSetResponse)(nil), // 74: apipb.ListDefinedSetResponse 13755 (*AddStatementRequest)(nil), // 75: apipb.AddStatementRequest 13756 (*DeleteStatementRequest)(nil), // 76: apipb.DeleteStatementRequest 13757 (*ListStatementRequest)(nil), // 77: apipb.ListStatementRequest 13758 (*ListStatementResponse)(nil), // 78: apipb.ListStatementResponse 13759 (*AddPolicyAssignmentRequest)(nil), // 79: apipb.AddPolicyAssignmentRequest 13760 (*DeletePolicyAssignmentRequest)(nil), // 80: apipb.DeletePolicyAssignmentRequest 13761 (*ListPolicyAssignmentRequest)(nil), // 81: apipb.ListPolicyAssignmentRequest 13762 (*ListPolicyAssignmentResponse)(nil), // 82: apipb.ListPolicyAssignmentResponse 13763 (*SetPolicyAssignmentRequest)(nil), // 83: apipb.SetPolicyAssignmentRequest 13764 (*AddRpkiRequest)(nil), // 84: apipb.AddRpkiRequest 13765 (*DeleteRpkiRequest)(nil), // 85: apipb.DeleteRpkiRequest 13766 (*ListRpkiRequest)(nil), // 86: apipb.ListRpkiRequest 13767 (*ListRpkiResponse)(nil), // 87: apipb.ListRpkiResponse 13768 (*EnableRpkiRequest)(nil), // 88: apipb.EnableRpkiRequest 13769 (*DisableRpkiRequest)(nil), // 89: apipb.DisableRpkiRequest 13770 (*ResetRpkiRequest)(nil), // 90: apipb.ResetRpkiRequest 13771 (*ListRpkiTableRequest)(nil), // 91: apipb.ListRpkiTableRequest 13772 (*ListRpkiTableResponse)(nil), // 92: apipb.ListRpkiTableResponse 13773 (*EnableZebraRequest)(nil), // 93: apipb.EnableZebraRequest 13774 (*EnableMrtRequest)(nil), // 94: apipb.EnableMrtRequest 13775 (*DisableMrtRequest)(nil), // 95: apipb.DisableMrtRequest 13776 (*AddBmpRequest)(nil), // 96: apipb.AddBmpRequest 13777 (*DeleteBmpRequest)(nil), // 97: apipb.DeleteBmpRequest 13778 (*ListBmpRequest)(nil), // 98: apipb.ListBmpRequest 13779 (*ListBmpResponse)(nil), // 99: apipb.ListBmpResponse 13780 (*Family)(nil), // 100: apipb.Family 13781 (*Validation)(nil), // 101: apipb.Validation 13782 (*Path)(nil), // 102: apipb.Path 13783 (*Destination)(nil), // 103: apipb.Destination 13784 (*Peer)(nil), // 104: apipb.Peer 13785 (*PeerGroup)(nil), // 105: apipb.PeerGroup 13786 (*DynamicNeighbor)(nil), // 106: apipb.DynamicNeighbor 13787 (*ApplyPolicy)(nil), // 107: apipb.ApplyPolicy 13788 (*PrefixLimit)(nil), // 108: apipb.PrefixLimit 13789 (*PeerConf)(nil), // 109: apipb.PeerConf 13790 (*PeerGroupConf)(nil), // 110: apipb.PeerGroupConf 13791 (*PeerGroupState)(nil), // 111: apipb.PeerGroupState 13792 (*TtlSecurity)(nil), // 112: apipb.TtlSecurity 13793 (*EbgpMultihop)(nil), // 113: apipb.EbgpMultihop 13794 (*RouteReflector)(nil), // 114: apipb.RouteReflector 13795 (*PeerState)(nil), // 115: apipb.PeerState 13796 (*Messages)(nil), // 116: apipb.Messages 13797 (*Message)(nil), // 117: apipb.Message 13798 (*Queues)(nil), // 118: apipb.Queues 13799 (*Timers)(nil), // 119: apipb.Timers 13800 (*TimersConfig)(nil), // 120: apipb.TimersConfig 13801 (*TimersState)(nil), // 121: apipb.TimersState 13802 (*Transport)(nil), // 122: apipb.Transport 13803 (*RouteServer)(nil), // 123: apipb.RouteServer 13804 (*GracefulRestart)(nil), // 124: apipb.GracefulRestart 13805 (*MpGracefulRestartConfig)(nil), // 125: apipb.MpGracefulRestartConfig 13806 (*MpGracefulRestartState)(nil), // 126: apipb.MpGracefulRestartState 13807 (*MpGracefulRestart)(nil), // 127: apipb.MpGracefulRestart 13808 (*AfiSafiConfig)(nil), // 128: apipb.AfiSafiConfig 13809 (*AfiSafiState)(nil), // 129: apipb.AfiSafiState 13810 (*RouteSelectionOptionsConfig)(nil), // 130: apipb.RouteSelectionOptionsConfig 13811 (*RouteSelectionOptionsState)(nil), // 131: apipb.RouteSelectionOptionsState 13812 (*RouteSelectionOptions)(nil), // 132: apipb.RouteSelectionOptions 13813 (*UseMultiplePathsConfig)(nil), // 133: apipb.UseMultiplePathsConfig 13814 (*UseMultiplePathsState)(nil), // 134: apipb.UseMultiplePathsState 13815 (*EbgpConfig)(nil), // 135: apipb.EbgpConfig 13816 (*EbgpState)(nil), // 136: apipb.EbgpState 13817 (*Ebgp)(nil), // 137: apipb.Ebgp 13818 (*IbgpConfig)(nil), // 138: apipb.IbgpConfig 13819 (*IbgpState)(nil), // 139: apipb.IbgpState 13820 (*Ibgp)(nil), // 140: apipb.Ibgp 13821 (*UseMultiplePaths)(nil), // 141: apipb.UseMultiplePaths 13822 (*RouteTargetMembershipConfig)(nil), // 142: apipb.RouteTargetMembershipConfig 13823 (*RouteTargetMembershipState)(nil), // 143: apipb.RouteTargetMembershipState 13824 (*RouteTargetMembership)(nil), // 144: apipb.RouteTargetMembership 13825 (*LongLivedGracefulRestartConfig)(nil), // 145: apipb.LongLivedGracefulRestartConfig 13826 (*LongLivedGracefulRestartState)(nil), // 146: apipb.LongLivedGracefulRestartState 13827 (*LongLivedGracefulRestart)(nil), // 147: apipb.LongLivedGracefulRestart 13828 (*AfiSafi)(nil), // 148: apipb.AfiSafi 13829 (*AddPathsConfig)(nil), // 149: apipb.AddPathsConfig 13830 (*AddPathsState)(nil), // 150: apipb.AddPathsState 13831 (*AddPaths)(nil), // 151: apipb.AddPaths 13832 (*Prefix)(nil), // 152: apipb.Prefix 13833 (*DefinedSet)(nil), // 153: apipb.DefinedSet 13834 (*MatchSet)(nil), // 154: apipb.MatchSet 13835 (*AsPathLength)(nil), // 155: apipb.AsPathLength 13836 (*CommunityCount)(nil), // 156: apipb.CommunityCount 13837 (*Conditions)(nil), // 157: apipb.Conditions 13838 (*CommunityAction)(nil), // 158: apipb.CommunityAction 13839 (*MedAction)(nil), // 159: apipb.MedAction 13840 (*AsPrependAction)(nil), // 160: apipb.AsPrependAction 13841 (*NexthopAction)(nil), // 161: apipb.NexthopAction 13842 (*LocalPrefAction)(nil), // 162: apipb.LocalPrefAction 13843 (*OriginAction)(nil), // 163: apipb.OriginAction 13844 (*Actions)(nil), // 164: apipb.Actions 13845 (*Statement)(nil), // 165: apipb.Statement 13846 (*Policy)(nil), // 166: apipb.Policy 13847 (*PolicyAssignment)(nil), // 167: apipb.PolicyAssignment 13848 (*RoutingPolicy)(nil), // 168: apipb.RoutingPolicy 13849 (*Roa)(nil), // 169: apipb.Roa 13850 (*Vrf)(nil), // 170: apipb.Vrf 13851 (*DefaultRouteDistance)(nil), // 171: apipb.DefaultRouteDistance 13852 (*Global)(nil), // 172: apipb.Global 13853 (*Confederation)(nil), // 173: apipb.Confederation 13854 (*RPKIConf)(nil), // 174: apipb.RPKIConf 13855 (*RPKIState)(nil), // 175: apipb.RPKIState 13856 (*Rpki)(nil), // 176: apipb.Rpki 13857 (*SetLogLevelRequest)(nil), // 177: apipb.SetLogLevelRequest 13858 (*WatchEventRequest_Peer)(nil), // 178: apipb.WatchEventRequest.Peer 13859 (*WatchEventRequest_Table)(nil), // 179: apipb.WatchEventRequest.Table 13860 (*WatchEventRequest_Table_Filter)(nil), // 180: apipb.WatchEventRequest.Table.Filter 13861 (*WatchEventResponse_PeerEvent)(nil), // 181: apipb.WatchEventResponse.PeerEvent 13862 (*WatchEventResponse_TableEvent)(nil), // 182: apipb.WatchEventResponse.TableEvent 13863 (*ListBmpResponse_BmpStation)(nil), // 183: apipb.ListBmpResponse.BmpStation 13864 (*ListBmpResponse_BmpStation_Conf)(nil), // 184: apipb.ListBmpResponse.BmpStation.Conf 13865 (*ListBmpResponse_BmpStation_State)(nil), // 185: apipb.ListBmpResponse.BmpStation.State 13866 (*anypb.Any)(nil), // 186: google.protobuf.Any 13867 (*timestamppb.Timestamp)(nil), // 187: google.protobuf.Timestamp 13868 (*emptypb.Empty)(nil), // 188: google.protobuf.Empty 13869 } 13870 var file_gobgp_proto_depIdxs = []int32{ 13871 172, // 0: apipb.StartBgpRequest.global:type_name -> apipb.Global 13872 172, // 1: apipb.GetBgpResponse.global:type_name -> apipb.Global 13873 178, // 2: apipb.WatchEventRequest.peer:type_name -> apipb.WatchEventRequest.Peer 13874 179, // 3: apipb.WatchEventRequest.table:type_name -> apipb.WatchEventRequest.Table 13875 181, // 4: apipb.WatchEventResponse.peer:type_name -> apipb.WatchEventResponse.PeerEvent 13876 182, // 5: apipb.WatchEventResponse.table:type_name -> apipb.WatchEventResponse.TableEvent 13877 104, // 6: apipb.AddPeerRequest.peer:type_name -> apipb.Peer 13878 104, // 7: apipb.ListPeerResponse.peer:type_name -> apipb.Peer 13879 104, // 8: apipb.UpdatePeerRequest.peer:type_name -> apipb.Peer 13880 9, // 9: apipb.ResetPeerRequest.direction:type_name -> apipb.ResetPeerRequest.SoftResetDirection 13881 105, // 10: apipb.AddPeerGroupRequest.peer_group:type_name -> apipb.PeerGroup 13882 105, // 11: apipb.UpdatePeerGroupRequest.peer_group:type_name -> apipb.PeerGroup 13883 105, // 12: apipb.ListPeerGroupResponse.peer_group:type_name -> apipb.PeerGroup 13884 106, // 13: apipb.AddDynamicNeighborRequest.dynamic_neighbor:type_name -> apipb.DynamicNeighbor 13885 106, // 14: apipb.ListDynamicNeighborResponse.dynamic_neighbor:type_name -> apipb.DynamicNeighbor 13886 0, // 15: apipb.AddPathRequest.table_type:type_name -> apipb.TableType 13887 102, // 16: apipb.AddPathRequest.path:type_name -> apipb.Path 13888 0, // 17: apipb.DeletePathRequest.table_type:type_name -> apipb.TableType 13889 100, // 18: apipb.DeletePathRequest.family:type_name -> apipb.Family 13890 102, // 19: apipb.DeletePathRequest.path:type_name -> apipb.Path 13891 10, // 20: apipb.TableLookupPrefix.type:type_name -> apipb.TableLookupPrefix.Type 13892 0, // 21: apipb.ListPathRequest.table_type:type_name -> apipb.TableType 13893 100, // 22: apipb.ListPathRequest.family:type_name -> apipb.Family 13894 56, // 23: apipb.ListPathRequest.prefixes:type_name -> apipb.TableLookupPrefix 13895 11, // 24: apipb.ListPathRequest.sort_type:type_name -> apipb.ListPathRequest.SortType 13896 103, // 25: apipb.ListPathResponse.destination:type_name -> apipb.Destination 13897 0, // 26: apipb.AddPathStreamRequest.table_type:type_name -> apipb.TableType 13898 102, // 27: apipb.AddPathStreamRequest.paths:type_name -> apipb.Path 13899 0, // 28: apipb.GetTableRequest.table_type:type_name -> apipb.TableType 13900 100, // 29: apipb.GetTableRequest.family:type_name -> apipb.Family 13901 170, // 30: apipb.AddVrfRequest.vrf:type_name -> apipb.Vrf 13902 170, // 31: apipb.ListVrfResponse.vrf:type_name -> apipb.Vrf 13903 166, // 32: apipb.AddPolicyRequest.policy:type_name -> apipb.Policy 13904 166, // 33: apipb.DeletePolicyRequest.policy:type_name -> apipb.Policy 13905 166, // 34: apipb.ListPolicyResponse.policy:type_name -> apipb.Policy 13906 153, // 35: apipb.SetPoliciesRequest.defined_sets:type_name -> apipb.DefinedSet 13907 166, // 36: apipb.SetPoliciesRequest.policies:type_name -> apipb.Policy 13908 167, // 37: apipb.SetPoliciesRequest.assignments:type_name -> apipb.PolicyAssignment 13909 153, // 38: apipb.AddDefinedSetRequest.defined_set:type_name -> apipb.DefinedSet 13910 153, // 39: apipb.DeleteDefinedSetRequest.defined_set:type_name -> apipb.DefinedSet 13911 3, // 40: apipb.ListDefinedSetRequest.defined_type:type_name -> apipb.DefinedType 13912 153, // 41: apipb.ListDefinedSetResponse.defined_set:type_name -> apipb.DefinedSet 13913 165, // 42: apipb.AddStatementRequest.statement:type_name -> apipb.Statement 13914 165, // 43: apipb.DeleteStatementRequest.statement:type_name -> apipb.Statement 13915 165, // 44: apipb.ListStatementResponse.statement:type_name -> apipb.Statement 13916 167, // 45: apipb.AddPolicyAssignmentRequest.assignment:type_name -> apipb.PolicyAssignment 13917 167, // 46: apipb.DeletePolicyAssignmentRequest.assignment:type_name -> apipb.PolicyAssignment 13918 6, // 47: apipb.ListPolicyAssignmentRequest.direction:type_name -> apipb.PolicyDirection 13919 167, // 48: apipb.ListPolicyAssignmentResponse.assignment:type_name -> apipb.PolicyAssignment 13920 167, // 49: apipb.SetPolicyAssignmentRequest.assignment:type_name -> apipb.PolicyAssignment 13921 100, // 50: apipb.ListRpkiRequest.family:type_name -> apipb.Family 13922 176, // 51: apipb.ListRpkiResponse.server:type_name -> apipb.Rpki 13923 100, // 52: apipb.ListRpkiTableRequest.family:type_name -> apipb.Family 13924 169, // 53: apipb.ListRpkiTableResponse.roa:type_name -> apipb.Roa 13925 12, // 54: apipb.EnableMrtRequest.type:type_name -> apipb.EnableMrtRequest.DumpType 13926 13, // 55: apipb.AddBmpRequest.policy:type_name -> apipb.AddBmpRequest.MonitoringPolicy 13927 183, // 56: apipb.ListBmpResponse.station:type_name -> apipb.ListBmpResponse.BmpStation 13928 14, // 57: apipb.Family.afi:type_name -> apipb.Family.Afi 13929 15, // 58: apipb.Family.safi:type_name -> apipb.Family.Safi 13930 16, // 59: apipb.Validation.state:type_name -> apipb.Validation.State 13931 17, // 60: apipb.Validation.reason:type_name -> apipb.Validation.Reason 13932 169, // 61: apipb.Validation.matched:type_name -> apipb.Roa 13933 169, // 62: apipb.Validation.unmatched_asn:type_name -> apipb.Roa 13934 169, // 63: apipb.Validation.unmatched_length:type_name -> apipb.Roa 13935 186, // 64: apipb.Path.nlri:type_name -> google.protobuf.Any 13936 186, // 65: apipb.Path.pattrs:type_name -> google.protobuf.Any 13937 187, // 66: apipb.Path.age:type_name -> google.protobuf.Timestamp 13938 101, // 67: apipb.Path.validation:type_name -> apipb.Validation 13939 100, // 68: apipb.Path.family:type_name -> apipb.Family 13940 102, // 69: apipb.Destination.paths:type_name -> apipb.Path 13941 107, // 70: apipb.Peer.apply_policy:type_name -> apipb.ApplyPolicy 13942 109, // 71: apipb.Peer.conf:type_name -> apipb.PeerConf 13943 113, // 72: apipb.Peer.ebgp_multihop:type_name -> apipb.EbgpMultihop 13944 114, // 73: apipb.Peer.route_reflector:type_name -> apipb.RouteReflector 13945 115, // 74: apipb.Peer.state:type_name -> apipb.PeerState 13946 119, // 75: apipb.Peer.timers:type_name -> apipb.Timers 13947 122, // 76: apipb.Peer.transport:type_name -> apipb.Transport 13948 123, // 77: apipb.Peer.route_server:type_name -> apipb.RouteServer 13949 124, // 78: apipb.Peer.graceful_restart:type_name -> apipb.GracefulRestart 13950 148, // 79: apipb.Peer.afi_safis:type_name -> apipb.AfiSafi 13951 112, // 80: apipb.Peer.ttl_security:type_name -> apipb.TtlSecurity 13952 107, // 81: apipb.PeerGroup.apply_policy:type_name -> apipb.ApplyPolicy 13953 110, // 82: apipb.PeerGroup.conf:type_name -> apipb.PeerGroupConf 13954 113, // 83: apipb.PeerGroup.ebgp_multihop:type_name -> apipb.EbgpMultihop 13955 114, // 84: apipb.PeerGroup.route_reflector:type_name -> apipb.RouteReflector 13956 111, // 85: apipb.PeerGroup.info:type_name -> apipb.PeerGroupState 13957 119, // 86: apipb.PeerGroup.timers:type_name -> apipb.Timers 13958 122, // 87: apipb.PeerGroup.transport:type_name -> apipb.Transport 13959 123, // 88: apipb.PeerGroup.route_server:type_name -> apipb.RouteServer 13960 124, // 89: apipb.PeerGroup.graceful_restart:type_name -> apipb.GracefulRestart 13961 148, // 90: apipb.PeerGroup.afi_safis:type_name -> apipb.AfiSafi 13962 112, // 91: apipb.PeerGroup.ttl_security:type_name -> apipb.TtlSecurity 13963 167, // 92: apipb.ApplyPolicy.in_policy:type_name -> apipb.PolicyAssignment 13964 167, // 93: apipb.ApplyPolicy.export_policy:type_name -> apipb.PolicyAssignment 13965 167, // 94: apipb.ApplyPolicy.import_policy:type_name -> apipb.PolicyAssignment 13966 100, // 95: apipb.PrefixLimit.family:type_name -> apipb.Family 13967 1, // 96: apipb.PeerConf.type:type_name -> apipb.PeerType 13968 2, // 97: apipb.PeerConf.remove_private:type_name -> apipb.RemovePrivate 13969 1, // 98: apipb.PeerGroupConf.type:type_name -> apipb.PeerType 13970 2, // 99: apipb.PeerGroupConf.remove_private:type_name -> apipb.RemovePrivate 13971 1, // 100: apipb.PeerGroupState.type:type_name -> apipb.PeerType 13972 2, // 101: apipb.PeerGroupState.remove_private:type_name -> apipb.RemovePrivate 13973 116, // 102: apipb.PeerState.messages:type_name -> apipb.Messages 13974 1, // 103: apipb.PeerState.type:type_name -> apipb.PeerType 13975 118, // 104: apipb.PeerState.queues:type_name -> apipb.Queues 13976 2, // 105: apipb.PeerState.remove_private:type_name -> apipb.RemovePrivate 13977 18, // 106: apipb.PeerState.session_state:type_name -> apipb.PeerState.SessionState 13978 19, // 107: apipb.PeerState.admin_state:type_name -> apipb.PeerState.AdminState 13979 186, // 108: apipb.PeerState.remote_cap:type_name -> google.protobuf.Any 13980 186, // 109: apipb.PeerState.local_cap:type_name -> google.protobuf.Any 13981 117, // 110: apipb.Messages.received:type_name -> apipb.Message 13982 117, // 111: apipb.Messages.sent:type_name -> apipb.Message 13983 120, // 112: apipb.Timers.config:type_name -> apipb.TimersConfig 13984 121, // 113: apipb.Timers.state:type_name -> apipb.TimersState 13985 187, // 114: apipb.TimersState.uptime:type_name -> google.protobuf.Timestamp 13986 187, // 115: apipb.TimersState.downtime:type_name -> google.protobuf.Timestamp 13987 125, // 116: apipb.MpGracefulRestart.config:type_name -> apipb.MpGracefulRestartConfig 13988 126, // 117: apipb.MpGracefulRestart.state:type_name -> apipb.MpGracefulRestartState 13989 100, // 118: apipb.AfiSafiConfig.family:type_name -> apipb.Family 13990 100, // 119: apipb.AfiSafiState.family:type_name -> apipb.Family 13991 130, // 120: apipb.RouteSelectionOptions.config:type_name -> apipb.RouteSelectionOptionsConfig 13992 131, // 121: apipb.RouteSelectionOptions.state:type_name -> apipb.RouteSelectionOptionsState 13993 135, // 122: apipb.Ebgp.config:type_name -> apipb.EbgpConfig 13994 136, // 123: apipb.Ebgp.state:type_name -> apipb.EbgpState 13995 138, // 124: apipb.Ibgp.config:type_name -> apipb.IbgpConfig 13996 139, // 125: apipb.Ibgp.state:type_name -> apipb.IbgpState 13997 133, // 126: apipb.UseMultiplePaths.config:type_name -> apipb.UseMultiplePathsConfig 13998 134, // 127: apipb.UseMultiplePaths.state:type_name -> apipb.UseMultiplePathsState 13999 137, // 128: apipb.UseMultiplePaths.ebgp:type_name -> apipb.Ebgp 14000 140, // 129: apipb.UseMultiplePaths.ibgp:type_name -> apipb.Ibgp 14001 142, // 130: apipb.RouteTargetMembership.config:type_name -> apipb.RouteTargetMembershipConfig 14002 143, // 131: apipb.RouteTargetMembership.state:type_name -> apipb.RouteTargetMembershipState 14003 145, // 132: apipb.LongLivedGracefulRestart.config:type_name -> apipb.LongLivedGracefulRestartConfig 14004 146, // 133: apipb.LongLivedGracefulRestart.state:type_name -> apipb.LongLivedGracefulRestartState 14005 127, // 134: apipb.AfiSafi.mp_graceful_restart:type_name -> apipb.MpGracefulRestart 14006 128, // 135: apipb.AfiSafi.config:type_name -> apipb.AfiSafiConfig 14007 129, // 136: apipb.AfiSafi.state:type_name -> apipb.AfiSafiState 14008 107, // 137: apipb.AfiSafi.apply_policy:type_name -> apipb.ApplyPolicy 14009 132, // 138: apipb.AfiSafi.route_selection_options:type_name -> apipb.RouteSelectionOptions 14010 141, // 139: apipb.AfiSafi.use_multiple_paths:type_name -> apipb.UseMultiplePaths 14011 108, // 140: apipb.AfiSafi.prefix_limits:type_name -> apipb.PrefixLimit 14012 144, // 141: apipb.AfiSafi.route_target_membership:type_name -> apipb.RouteTargetMembership 14013 147, // 142: apipb.AfiSafi.long_lived_graceful_restart:type_name -> apipb.LongLivedGracefulRestart 14014 151, // 143: apipb.AfiSafi.add_paths:type_name -> apipb.AddPaths 14015 149, // 144: apipb.AddPaths.config:type_name -> apipb.AddPathsConfig 14016 150, // 145: apipb.AddPaths.state:type_name -> apipb.AddPathsState 14017 3, // 146: apipb.DefinedSet.defined_type:type_name -> apipb.DefinedType 14018 152, // 147: apipb.DefinedSet.prefixes:type_name -> apipb.Prefix 14019 20, // 148: apipb.MatchSet.type:type_name -> apipb.MatchSet.Type 14020 21, // 149: apipb.AsPathLength.type:type_name -> apipb.AsPathLength.Type 14021 22, // 150: apipb.CommunityCount.type:type_name -> apipb.CommunityCount.Type 14022 154, // 151: apipb.Conditions.prefix_set:type_name -> apipb.MatchSet 14023 154, // 152: apipb.Conditions.neighbor_set:type_name -> apipb.MatchSet 14024 155, // 153: apipb.Conditions.as_path_length:type_name -> apipb.AsPathLength 14025 154, // 154: apipb.Conditions.as_path_set:type_name -> apipb.MatchSet 14026 154, // 155: apipb.Conditions.community_set:type_name -> apipb.MatchSet 14027 154, // 156: apipb.Conditions.ext_community_set:type_name -> apipb.MatchSet 14028 23, // 157: apipb.Conditions.route_type:type_name -> apipb.Conditions.RouteType 14029 154, // 158: apipb.Conditions.large_community_set:type_name -> apipb.MatchSet 14030 100, // 159: apipb.Conditions.afi_safi_in:type_name -> apipb.Family 14031 156, // 160: apipb.Conditions.community_count:type_name -> apipb.CommunityCount 14032 4, // 161: apipb.Conditions.origin:type_name -> apipb.RouteOriginType 14033 24, // 162: apipb.CommunityAction.type:type_name -> apipb.CommunityAction.Type 14034 25, // 163: apipb.MedAction.type:type_name -> apipb.MedAction.Type 14035 4, // 164: apipb.OriginAction.origin:type_name -> apipb.RouteOriginType 14036 5, // 165: apipb.Actions.route_action:type_name -> apipb.RouteAction 14037 158, // 166: apipb.Actions.community:type_name -> apipb.CommunityAction 14038 159, // 167: apipb.Actions.med:type_name -> apipb.MedAction 14039 160, // 168: apipb.Actions.as_prepend:type_name -> apipb.AsPrependAction 14040 158, // 169: apipb.Actions.ext_community:type_name -> apipb.CommunityAction 14041 161, // 170: apipb.Actions.nexthop:type_name -> apipb.NexthopAction 14042 162, // 171: apipb.Actions.local_pref:type_name -> apipb.LocalPrefAction 14043 158, // 172: apipb.Actions.large_community:type_name -> apipb.CommunityAction 14044 163, // 173: apipb.Actions.origin_action:type_name -> apipb.OriginAction 14045 157, // 174: apipb.Statement.conditions:type_name -> apipb.Conditions 14046 164, // 175: apipb.Statement.actions:type_name -> apipb.Actions 14047 165, // 176: apipb.Policy.statements:type_name -> apipb.Statement 14048 6, // 177: apipb.PolicyAssignment.direction:type_name -> apipb.PolicyDirection 14049 166, // 178: apipb.PolicyAssignment.policies:type_name -> apipb.Policy 14050 5, // 179: apipb.PolicyAssignment.default_action:type_name -> apipb.RouteAction 14051 153, // 180: apipb.RoutingPolicy.defined_sets:type_name -> apipb.DefinedSet 14052 166, // 181: apipb.RoutingPolicy.policies:type_name -> apipb.Policy 14053 174, // 182: apipb.Roa.conf:type_name -> apipb.RPKIConf 14054 186, // 183: apipb.Vrf.rd:type_name -> google.protobuf.Any 14055 186, // 184: apipb.Vrf.import_rt:type_name -> google.protobuf.Any 14056 186, // 185: apipb.Vrf.export_rt:type_name -> google.protobuf.Any 14057 130, // 186: apipb.Global.route_selection_options:type_name -> apipb.RouteSelectionOptionsConfig 14058 171, // 187: apipb.Global.default_route_distance:type_name -> apipb.DefaultRouteDistance 14059 173, // 188: apipb.Global.confederation:type_name -> apipb.Confederation 14060 124, // 189: apipb.Global.graceful_restart:type_name -> apipb.GracefulRestart 14061 107, // 190: apipb.Global.apply_policy:type_name -> apipb.ApplyPolicy 14062 187, // 191: apipb.RPKIState.uptime:type_name -> google.protobuf.Timestamp 14063 187, // 192: apipb.RPKIState.downtime:type_name -> google.protobuf.Timestamp 14064 174, // 193: apipb.Rpki.conf:type_name -> apipb.RPKIConf 14065 175, // 194: apipb.Rpki.state:type_name -> apipb.RPKIState 14066 26, // 195: apipb.SetLogLevelRequest.level:type_name -> apipb.SetLogLevelRequest.Level 14067 180, // 196: apipb.WatchEventRequest.Table.filters:type_name -> apipb.WatchEventRequest.Table.Filter 14068 7, // 197: apipb.WatchEventRequest.Table.Filter.type:type_name -> apipb.WatchEventRequest.Table.Filter.Type 14069 8, // 198: apipb.WatchEventResponse.PeerEvent.type:type_name -> apipb.WatchEventResponse.PeerEvent.Type 14070 104, // 199: apipb.WatchEventResponse.PeerEvent.peer:type_name -> apipb.Peer 14071 102, // 200: apipb.WatchEventResponse.TableEvent.paths:type_name -> apipb.Path 14072 184, // 201: apipb.ListBmpResponse.BmpStation.conf:type_name -> apipb.ListBmpResponse.BmpStation.Conf 14073 185, // 202: apipb.ListBmpResponse.BmpStation.state:type_name -> apipb.ListBmpResponse.BmpStation.State 14074 187, // 203: apipb.ListBmpResponse.BmpStation.State.uptime:type_name -> google.protobuf.Timestamp 14075 187, // 204: apipb.ListBmpResponse.BmpStation.State.downtime:type_name -> google.protobuf.Timestamp 14076 27, // 205: apipb.GobgpApi.StartBgp:input_type -> apipb.StartBgpRequest 14077 28, // 206: apipb.GobgpApi.StopBgp:input_type -> apipb.StopBgpRequest 14078 29, // 207: apipb.GobgpApi.GetBgp:input_type -> apipb.GetBgpRequest 14079 31, // 208: apipb.GobgpApi.WatchEvent:input_type -> apipb.WatchEventRequest 14080 33, // 209: apipb.GobgpApi.AddPeer:input_type -> apipb.AddPeerRequest 14081 34, // 210: apipb.GobgpApi.DeletePeer:input_type -> apipb.DeletePeerRequest 14082 35, // 211: apipb.GobgpApi.ListPeer:input_type -> apipb.ListPeerRequest 14083 37, // 212: apipb.GobgpApi.UpdatePeer:input_type -> apipb.UpdatePeerRequest 14084 39, // 213: apipb.GobgpApi.ResetPeer:input_type -> apipb.ResetPeerRequest 14085 40, // 214: apipb.GobgpApi.ShutdownPeer:input_type -> apipb.ShutdownPeerRequest 14086 41, // 215: apipb.GobgpApi.EnablePeer:input_type -> apipb.EnablePeerRequest 14087 42, // 216: apipb.GobgpApi.DisablePeer:input_type -> apipb.DisablePeerRequest 14088 43, // 217: apipb.GobgpApi.AddPeerGroup:input_type -> apipb.AddPeerGroupRequest 14089 44, // 218: apipb.GobgpApi.DeletePeerGroup:input_type -> apipb.DeletePeerGroupRequest 14090 47, // 219: apipb.GobgpApi.ListPeerGroup:input_type -> apipb.ListPeerGroupRequest 14091 45, // 220: apipb.GobgpApi.UpdatePeerGroup:input_type -> apipb.UpdatePeerGroupRequest 14092 49, // 221: apipb.GobgpApi.AddDynamicNeighbor:input_type -> apipb.AddDynamicNeighborRequest 14093 51, // 222: apipb.GobgpApi.ListDynamicNeighbor:input_type -> apipb.ListDynamicNeighborRequest 14094 50, // 223: apipb.GobgpApi.DeleteDynamicNeighbor:input_type -> apipb.DeleteDynamicNeighborRequest 14095 53, // 224: apipb.GobgpApi.AddPath:input_type -> apipb.AddPathRequest 14096 55, // 225: apipb.GobgpApi.DeletePath:input_type -> apipb.DeletePathRequest 14097 57, // 226: apipb.GobgpApi.ListPath:input_type -> apipb.ListPathRequest 14098 59, // 227: apipb.GobgpApi.AddPathStream:input_type -> apipb.AddPathStreamRequest 14099 60, // 228: apipb.GobgpApi.GetTable:input_type -> apipb.GetTableRequest 14100 62, // 229: apipb.GobgpApi.AddVrf:input_type -> apipb.AddVrfRequest 14101 63, // 230: apipb.GobgpApi.DeleteVrf:input_type -> apipb.DeleteVrfRequest 14102 64, // 231: apipb.GobgpApi.ListVrf:input_type -> apipb.ListVrfRequest 14103 66, // 232: apipb.GobgpApi.AddPolicy:input_type -> apipb.AddPolicyRequest 14104 67, // 233: apipb.GobgpApi.DeletePolicy:input_type -> apipb.DeletePolicyRequest 14105 68, // 234: apipb.GobgpApi.ListPolicy:input_type -> apipb.ListPolicyRequest 14106 70, // 235: apipb.GobgpApi.SetPolicies:input_type -> apipb.SetPoliciesRequest 14107 71, // 236: apipb.GobgpApi.AddDefinedSet:input_type -> apipb.AddDefinedSetRequest 14108 72, // 237: apipb.GobgpApi.DeleteDefinedSet:input_type -> apipb.DeleteDefinedSetRequest 14109 73, // 238: apipb.GobgpApi.ListDefinedSet:input_type -> apipb.ListDefinedSetRequest 14110 75, // 239: apipb.GobgpApi.AddStatement:input_type -> apipb.AddStatementRequest 14111 76, // 240: apipb.GobgpApi.DeleteStatement:input_type -> apipb.DeleteStatementRequest 14112 77, // 241: apipb.GobgpApi.ListStatement:input_type -> apipb.ListStatementRequest 14113 79, // 242: apipb.GobgpApi.AddPolicyAssignment:input_type -> apipb.AddPolicyAssignmentRequest 14114 80, // 243: apipb.GobgpApi.DeletePolicyAssignment:input_type -> apipb.DeletePolicyAssignmentRequest 14115 81, // 244: apipb.GobgpApi.ListPolicyAssignment:input_type -> apipb.ListPolicyAssignmentRequest 14116 83, // 245: apipb.GobgpApi.SetPolicyAssignment:input_type -> apipb.SetPolicyAssignmentRequest 14117 84, // 246: apipb.GobgpApi.AddRpki:input_type -> apipb.AddRpkiRequest 14118 85, // 247: apipb.GobgpApi.DeleteRpki:input_type -> apipb.DeleteRpkiRequest 14119 86, // 248: apipb.GobgpApi.ListRpki:input_type -> apipb.ListRpkiRequest 14120 88, // 249: apipb.GobgpApi.EnableRpki:input_type -> apipb.EnableRpkiRequest 14121 89, // 250: apipb.GobgpApi.DisableRpki:input_type -> apipb.DisableRpkiRequest 14122 90, // 251: apipb.GobgpApi.ResetRpki:input_type -> apipb.ResetRpkiRequest 14123 91, // 252: apipb.GobgpApi.ListRpkiTable:input_type -> apipb.ListRpkiTableRequest 14124 93, // 253: apipb.GobgpApi.EnableZebra:input_type -> apipb.EnableZebraRequest 14125 94, // 254: apipb.GobgpApi.EnableMrt:input_type -> apipb.EnableMrtRequest 14126 95, // 255: apipb.GobgpApi.DisableMrt:input_type -> apipb.DisableMrtRequest 14127 96, // 256: apipb.GobgpApi.AddBmp:input_type -> apipb.AddBmpRequest 14128 97, // 257: apipb.GobgpApi.DeleteBmp:input_type -> apipb.DeleteBmpRequest 14129 98, // 258: apipb.GobgpApi.ListBmp:input_type -> apipb.ListBmpRequest 14130 177, // 259: apipb.GobgpApi.SetLogLevel:input_type -> apipb.SetLogLevelRequest 14131 188, // 260: apipb.GobgpApi.StartBgp:output_type -> google.protobuf.Empty 14132 188, // 261: apipb.GobgpApi.StopBgp:output_type -> google.protobuf.Empty 14133 30, // 262: apipb.GobgpApi.GetBgp:output_type -> apipb.GetBgpResponse 14134 32, // 263: apipb.GobgpApi.WatchEvent:output_type -> apipb.WatchEventResponse 14135 188, // 264: apipb.GobgpApi.AddPeer:output_type -> google.protobuf.Empty 14136 188, // 265: apipb.GobgpApi.DeletePeer:output_type -> google.protobuf.Empty 14137 36, // 266: apipb.GobgpApi.ListPeer:output_type -> apipb.ListPeerResponse 14138 38, // 267: apipb.GobgpApi.UpdatePeer:output_type -> apipb.UpdatePeerResponse 14139 188, // 268: apipb.GobgpApi.ResetPeer:output_type -> google.protobuf.Empty 14140 188, // 269: apipb.GobgpApi.ShutdownPeer:output_type -> google.protobuf.Empty 14141 188, // 270: apipb.GobgpApi.EnablePeer:output_type -> google.protobuf.Empty 14142 188, // 271: apipb.GobgpApi.DisablePeer:output_type -> google.protobuf.Empty 14143 188, // 272: apipb.GobgpApi.AddPeerGroup:output_type -> google.protobuf.Empty 14144 188, // 273: apipb.GobgpApi.DeletePeerGroup:output_type -> google.protobuf.Empty 14145 48, // 274: apipb.GobgpApi.ListPeerGroup:output_type -> apipb.ListPeerGroupResponse 14146 46, // 275: apipb.GobgpApi.UpdatePeerGroup:output_type -> apipb.UpdatePeerGroupResponse 14147 188, // 276: apipb.GobgpApi.AddDynamicNeighbor:output_type -> google.protobuf.Empty 14148 52, // 277: apipb.GobgpApi.ListDynamicNeighbor:output_type -> apipb.ListDynamicNeighborResponse 14149 188, // 278: apipb.GobgpApi.DeleteDynamicNeighbor:output_type -> google.protobuf.Empty 14150 54, // 279: apipb.GobgpApi.AddPath:output_type -> apipb.AddPathResponse 14151 188, // 280: apipb.GobgpApi.DeletePath:output_type -> google.protobuf.Empty 14152 58, // 281: apipb.GobgpApi.ListPath:output_type -> apipb.ListPathResponse 14153 188, // 282: apipb.GobgpApi.AddPathStream:output_type -> google.protobuf.Empty 14154 61, // 283: apipb.GobgpApi.GetTable:output_type -> apipb.GetTableResponse 14155 188, // 284: apipb.GobgpApi.AddVrf:output_type -> google.protobuf.Empty 14156 188, // 285: apipb.GobgpApi.DeleteVrf:output_type -> google.protobuf.Empty 14157 65, // 286: apipb.GobgpApi.ListVrf:output_type -> apipb.ListVrfResponse 14158 188, // 287: apipb.GobgpApi.AddPolicy:output_type -> google.protobuf.Empty 14159 188, // 288: apipb.GobgpApi.DeletePolicy:output_type -> google.protobuf.Empty 14160 69, // 289: apipb.GobgpApi.ListPolicy:output_type -> apipb.ListPolicyResponse 14161 188, // 290: apipb.GobgpApi.SetPolicies:output_type -> google.protobuf.Empty 14162 188, // 291: apipb.GobgpApi.AddDefinedSet:output_type -> google.protobuf.Empty 14163 188, // 292: apipb.GobgpApi.DeleteDefinedSet:output_type -> google.protobuf.Empty 14164 74, // 293: apipb.GobgpApi.ListDefinedSet:output_type -> apipb.ListDefinedSetResponse 14165 188, // 294: apipb.GobgpApi.AddStatement:output_type -> google.protobuf.Empty 14166 188, // 295: apipb.GobgpApi.DeleteStatement:output_type -> google.protobuf.Empty 14167 78, // 296: apipb.GobgpApi.ListStatement:output_type -> apipb.ListStatementResponse 14168 188, // 297: apipb.GobgpApi.AddPolicyAssignment:output_type -> google.protobuf.Empty 14169 188, // 298: apipb.GobgpApi.DeletePolicyAssignment:output_type -> google.protobuf.Empty 14170 82, // 299: apipb.GobgpApi.ListPolicyAssignment:output_type -> apipb.ListPolicyAssignmentResponse 14171 188, // 300: apipb.GobgpApi.SetPolicyAssignment:output_type -> google.protobuf.Empty 14172 188, // 301: apipb.GobgpApi.AddRpki:output_type -> google.protobuf.Empty 14173 188, // 302: apipb.GobgpApi.DeleteRpki:output_type -> google.protobuf.Empty 14174 87, // 303: apipb.GobgpApi.ListRpki:output_type -> apipb.ListRpkiResponse 14175 188, // 304: apipb.GobgpApi.EnableRpki:output_type -> google.protobuf.Empty 14176 188, // 305: apipb.GobgpApi.DisableRpki:output_type -> google.protobuf.Empty 14177 188, // 306: apipb.GobgpApi.ResetRpki:output_type -> google.protobuf.Empty 14178 92, // 307: apipb.GobgpApi.ListRpkiTable:output_type -> apipb.ListRpkiTableResponse 14179 188, // 308: apipb.GobgpApi.EnableZebra:output_type -> google.protobuf.Empty 14180 188, // 309: apipb.GobgpApi.EnableMrt:output_type -> google.protobuf.Empty 14181 188, // 310: apipb.GobgpApi.DisableMrt:output_type -> google.protobuf.Empty 14182 188, // 311: apipb.GobgpApi.AddBmp:output_type -> google.protobuf.Empty 14183 188, // 312: apipb.GobgpApi.DeleteBmp:output_type -> google.protobuf.Empty 14184 99, // 313: apipb.GobgpApi.ListBmp:output_type -> apipb.ListBmpResponse 14185 188, // 314: apipb.GobgpApi.SetLogLevel:output_type -> google.protobuf.Empty 14186 260, // [260:315] is the sub-list for method output_type 14187 205, // [205:260] is the sub-list for method input_type 14188 205, // [205:205] is the sub-list for extension type_name 14189 205, // [205:205] is the sub-list for extension extendee 14190 0, // [0:205] is the sub-list for field type_name 14191 } 14192 14193 func init() { file_gobgp_proto_init() } 14194 func file_gobgp_proto_init() { 14195 if File_gobgp_proto != nil { 14196 return 14197 } 14198 if !protoimpl.UnsafeEnabled { 14199 file_gobgp_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 14200 switch v := v.(*StartBgpRequest); i { 14201 case 0: 14202 return &v.state 14203 case 1: 14204 return &v.sizeCache 14205 case 2: 14206 return &v.unknownFields 14207 default: 14208 return nil 14209 } 14210 } 14211 file_gobgp_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 14212 switch v := v.(*StopBgpRequest); i { 14213 case 0: 14214 return &v.state 14215 case 1: 14216 return &v.sizeCache 14217 case 2: 14218 return &v.unknownFields 14219 default: 14220 return nil 14221 } 14222 } 14223 file_gobgp_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 14224 switch v := v.(*GetBgpRequest); i { 14225 case 0: 14226 return &v.state 14227 case 1: 14228 return &v.sizeCache 14229 case 2: 14230 return &v.unknownFields 14231 default: 14232 return nil 14233 } 14234 } 14235 file_gobgp_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 14236 switch v := v.(*GetBgpResponse); i { 14237 case 0: 14238 return &v.state 14239 case 1: 14240 return &v.sizeCache 14241 case 2: 14242 return &v.unknownFields 14243 default: 14244 return nil 14245 } 14246 } 14247 file_gobgp_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 14248 switch v := v.(*WatchEventRequest); i { 14249 case 0: 14250 return &v.state 14251 case 1: 14252 return &v.sizeCache 14253 case 2: 14254 return &v.unknownFields 14255 default: 14256 return nil 14257 } 14258 } 14259 file_gobgp_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 14260 switch v := v.(*WatchEventResponse); i { 14261 case 0: 14262 return &v.state 14263 case 1: 14264 return &v.sizeCache 14265 case 2: 14266 return &v.unknownFields 14267 default: 14268 return nil 14269 } 14270 } 14271 file_gobgp_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 14272 switch v := v.(*AddPeerRequest); i { 14273 case 0: 14274 return &v.state 14275 case 1: 14276 return &v.sizeCache 14277 case 2: 14278 return &v.unknownFields 14279 default: 14280 return nil 14281 } 14282 } 14283 file_gobgp_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 14284 switch v := v.(*DeletePeerRequest); i { 14285 case 0: 14286 return &v.state 14287 case 1: 14288 return &v.sizeCache 14289 case 2: 14290 return &v.unknownFields 14291 default: 14292 return nil 14293 } 14294 } 14295 file_gobgp_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 14296 switch v := v.(*ListPeerRequest); i { 14297 case 0: 14298 return &v.state 14299 case 1: 14300 return &v.sizeCache 14301 case 2: 14302 return &v.unknownFields 14303 default: 14304 return nil 14305 } 14306 } 14307 file_gobgp_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 14308 switch v := v.(*ListPeerResponse); i { 14309 case 0: 14310 return &v.state 14311 case 1: 14312 return &v.sizeCache 14313 case 2: 14314 return &v.unknownFields 14315 default: 14316 return nil 14317 } 14318 } 14319 file_gobgp_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 14320 switch v := v.(*UpdatePeerRequest); i { 14321 case 0: 14322 return &v.state 14323 case 1: 14324 return &v.sizeCache 14325 case 2: 14326 return &v.unknownFields 14327 default: 14328 return nil 14329 } 14330 } 14331 file_gobgp_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 14332 switch v := v.(*UpdatePeerResponse); i { 14333 case 0: 14334 return &v.state 14335 case 1: 14336 return &v.sizeCache 14337 case 2: 14338 return &v.unknownFields 14339 default: 14340 return nil 14341 } 14342 } 14343 file_gobgp_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 14344 switch v := v.(*ResetPeerRequest); i { 14345 case 0: 14346 return &v.state 14347 case 1: 14348 return &v.sizeCache 14349 case 2: 14350 return &v.unknownFields 14351 default: 14352 return nil 14353 } 14354 } 14355 file_gobgp_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 14356 switch v := v.(*ShutdownPeerRequest); i { 14357 case 0: 14358 return &v.state 14359 case 1: 14360 return &v.sizeCache 14361 case 2: 14362 return &v.unknownFields 14363 default: 14364 return nil 14365 } 14366 } 14367 file_gobgp_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 14368 switch v := v.(*EnablePeerRequest); i { 14369 case 0: 14370 return &v.state 14371 case 1: 14372 return &v.sizeCache 14373 case 2: 14374 return &v.unknownFields 14375 default: 14376 return nil 14377 } 14378 } 14379 file_gobgp_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 14380 switch v := v.(*DisablePeerRequest); i { 14381 case 0: 14382 return &v.state 14383 case 1: 14384 return &v.sizeCache 14385 case 2: 14386 return &v.unknownFields 14387 default: 14388 return nil 14389 } 14390 } 14391 file_gobgp_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 14392 switch v := v.(*AddPeerGroupRequest); i { 14393 case 0: 14394 return &v.state 14395 case 1: 14396 return &v.sizeCache 14397 case 2: 14398 return &v.unknownFields 14399 default: 14400 return nil 14401 } 14402 } 14403 file_gobgp_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 14404 switch v := v.(*DeletePeerGroupRequest); i { 14405 case 0: 14406 return &v.state 14407 case 1: 14408 return &v.sizeCache 14409 case 2: 14410 return &v.unknownFields 14411 default: 14412 return nil 14413 } 14414 } 14415 file_gobgp_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 14416 switch v := v.(*UpdatePeerGroupRequest); i { 14417 case 0: 14418 return &v.state 14419 case 1: 14420 return &v.sizeCache 14421 case 2: 14422 return &v.unknownFields 14423 default: 14424 return nil 14425 } 14426 } 14427 file_gobgp_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 14428 switch v := v.(*UpdatePeerGroupResponse); i { 14429 case 0: 14430 return &v.state 14431 case 1: 14432 return &v.sizeCache 14433 case 2: 14434 return &v.unknownFields 14435 default: 14436 return nil 14437 } 14438 } 14439 file_gobgp_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 14440 switch v := v.(*ListPeerGroupRequest); i { 14441 case 0: 14442 return &v.state 14443 case 1: 14444 return &v.sizeCache 14445 case 2: 14446 return &v.unknownFields 14447 default: 14448 return nil 14449 } 14450 } 14451 file_gobgp_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 14452 switch v := v.(*ListPeerGroupResponse); i { 14453 case 0: 14454 return &v.state 14455 case 1: 14456 return &v.sizeCache 14457 case 2: 14458 return &v.unknownFields 14459 default: 14460 return nil 14461 } 14462 } 14463 file_gobgp_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 14464 switch v := v.(*AddDynamicNeighborRequest); i { 14465 case 0: 14466 return &v.state 14467 case 1: 14468 return &v.sizeCache 14469 case 2: 14470 return &v.unknownFields 14471 default: 14472 return nil 14473 } 14474 } 14475 file_gobgp_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 14476 switch v := v.(*DeleteDynamicNeighborRequest); i { 14477 case 0: 14478 return &v.state 14479 case 1: 14480 return &v.sizeCache 14481 case 2: 14482 return &v.unknownFields 14483 default: 14484 return nil 14485 } 14486 } 14487 file_gobgp_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 14488 switch v := v.(*ListDynamicNeighborRequest); i { 14489 case 0: 14490 return &v.state 14491 case 1: 14492 return &v.sizeCache 14493 case 2: 14494 return &v.unknownFields 14495 default: 14496 return nil 14497 } 14498 } 14499 file_gobgp_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 14500 switch v := v.(*ListDynamicNeighborResponse); i { 14501 case 0: 14502 return &v.state 14503 case 1: 14504 return &v.sizeCache 14505 case 2: 14506 return &v.unknownFields 14507 default: 14508 return nil 14509 } 14510 } 14511 file_gobgp_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 14512 switch v := v.(*AddPathRequest); i { 14513 case 0: 14514 return &v.state 14515 case 1: 14516 return &v.sizeCache 14517 case 2: 14518 return &v.unknownFields 14519 default: 14520 return nil 14521 } 14522 } 14523 file_gobgp_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 14524 switch v := v.(*AddPathResponse); i { 14525 case 0: 14526 return &v.state 14527 case 1: 14528 return &v.sizeCache 14529 case 2: 14530 return &v.unknownFields 14531 default: 14532 return nil 14533 } 14534 } 14535 file_gobgp_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 14536 switch v := v.(*DeletePathRequest); i { 14537 case 0: 14538 return &v.state 14539 case 1: 14540 return &v.sizeCache 14541 case 2: 14542 return &v.unknownFields 14543 default: 14544 return nil 14545 } 14546 } 14547 file_gobgp_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 14548 switch v := v.(*TableLookupPrefix); i { 14549 case 0: 14550 return &v.state 14551 case 1: 14552 return &v.sizeCache 14553 case 2: 14554 return &v.unknownFields 14555 default: 14556 return nil 14557 } 14558 } 14559 file_gobgp_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 14560 switch v := v.(*ListPathRequest); i { 14561 case 0: 14562 return &v.state 14563 case 1: 14564 return &v.sizeCache 14565 case 2: 14566 return &v.unknownFields 14567 default: 14568 return nil 14569 } 14570 } 14571 file_gobgp_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 14572 switch v := v.(*ListPathResponse); i { 14573 case 0: 14574 return &v.state 14575 case 1: 14576 return &v.sizeCache 14577 case 2: 14578 return &v.unknownFields 14579 default: 14580 return nil 14581 } 14582 } 14583 file_gobgp_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 14584 switch v := v.(*AddPathStreamRequest); i { 14585 case 0: 14586 return &v.state 14587 case 1: 14588 return &v.sizeCache 14589 case 2: 14590 return &v.unknownFields 14591 default: 14592 return nil 14593 } 14594 } 14595 file_gobgp_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 14596 switch v := v.(*GetTableRequest); i { 14597 case 0: 14598 return &v.state 14599 case 1: 14600 return &v.sizeCache 14601 case 2: 14602 return &v.unknownFields 14603 default: 14604 return nil 14605 } 14606 } 14607 file_gobgp_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 14608 switch v := v.(*GetTableResponse); i { 14609 case 0: 14610 return &v.state 14611 case 1: 14612 return &v.sizeCache 14613 case 2: 14614 return &v.unknownFields 14615 default: 14616 return nil 14617 } 14618 } 14619 file_gobgp_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 14620 switch v := v.(*AddVrfRequest); i { 14621 case 0: 14622 return &v.state 14623 case 1: 14624 return &v.sizeCache 14625 case 2: 14626 return &v.unknownFields 14627 default: 14628 return nil 14629 } 14630 } 14631 file_gobgp_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 14632 switch v := v.(*DeleteVrfRequest); i { 14633 case 0: 14634 return &v.state 14635 case 1: 14636 return &v.sizeCache 14637 case 2: 14638 return &v.unknownFields 14639 default: 14640 return nil 14641 } 14642 } 14643 file_gobgp_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { 14644 switch v := v.(*ListVrfRequest); i { 14645 case 0: 14646 return &v.state 14647 case 1: 14648 return &v.sizeCache 14649 case 2: 14650 return &v.unknownFields 14651 default: 14652 return nil 14653 } 14654 } 14655 file_gobgp_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { 14656 switch v := v.(*ListVrfResponse); i { 14657 case 0: 14658 return &v.state 14659 case 1: 14660 return &v.sizeCache 14661 case 2: 14662 return &v.unknownFields 14663 default: 14664 return nil 14665 } 14666 } 14667 file_gobgp_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { 14668 switch v := v.(*AddPolicyRequest); i { 14669 case 0: 14670 return &v.state 14671 case 1: 14672 return &v.sizeCache 14673 case 2: 14674 return &v.unknownFields 14675 default: 14676 return nil 14677 } 14678 } 14679 file_gobgp_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { 14680 switch v := v.(*DeletePolicyRequest); i { 14681 case 0: 14682 return &v.state 14683 case 1: 14684 return &v.sizeCache 14685 case 2: 14686 return &v.unknownFields 14687 default: 14688 return nil 14689 } 14690 } 14691 file_gobgp_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { 14692 switch v := v.(*ListPolicyRequest); i { 14693 case 0: 14694 return &v.state 14695 case 1: 14696 return &v.sizeCache 14697 case 2: 14698 return &v.unknownFields 14699 default: 14700 return nil 14701 } 14702 } 14703 file_gobgp_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { 14704 switch v := v.(*ListPolicyResponse); i { 14705 case 0: 14706 return &v.state 14707 case 1: 14708 return &v.sizeCache 14709 case 2: 14710 return &v.unknownFields 14711 default: 14712 return nil 14713 } 14714 } 14715 file_gobgp_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 14716 switch v := v.(*SetPoliciesRequest); i { 14717 case 0: 14718 return &v.state 14719 case 1: 14720 return &v.sizeCache 14721 case 2: 14722 return &v.unknownFields 14723 default: 14724 return nil 14725 } 14726 } 14727 file_gobgp_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 14728 switch v := v.(*AddDefinedSetRequest); i { 14729 case 0: 14730 return &v.state 14731 case 1: 14732 return &v.sizeCache 14733 case 2: 14734 return &v.unknownFields 14735 default: 14736 return nil 14737 } 14738 } 14739 file_gobgp_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { 14740 switch v := v.(*DeleteDefinedSetRequest); i { 14741 case 0: 14742 return &v.state 14743 case 1: 14744 return &v.sizeCache 14745 case 2: 14746 return &v.unknownFields 14747 default: 14748 return nil 14749 } 14750 } 14751 file_gobgp_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { 14752 switch v := v.(*ListDefinedSetRequest); i { 14753 case 0: 14754 return &v.state 14755 case 1: 14756 return &v.sizeCache 14757 case 2: 14758 return &v.unknownFields 14759 default: 14760 return nil 14761 } 14762 } 14763 file_gobgp_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { 14764 switch v := v.(*ListDefinedSetResponse); i { 14765 case 0: 14766 return &v.state 14767 case 1: 14768 return &v.sizeCache 14769 case 2: 14770 return &v.unknownFields 14771 default: 14772 return nil 14773 } 14774 } 14775 file_gobgp_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { 14776 switch v := v.(*AddStatementRequest); i { 14777 case 0: 14778 return &v.state 14779 case 1: 14780 return &v.sizeCache 14781 case 2: 14782 return &v.unknownFields 14783 default: 14784 return nil 14785 } 14786 } 14787 file_gobgp_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { 14788 switch v := v.(*DeleteStatementRequest); i { 14789 case 0: 14790 return &v.state 14791 case 1: 14792 return &v.sizeCache 14793 case 2: 14794 return &v.unknownFields 14795 default: 14796 return nil 14797 } 14798 } 14799 file_gobgp_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { 14800 switch v := v.(*ListStatementRequest); i { 14801 case 0: 14802 return &v.state 14803 case 1: 14804 return &v.sizeCache 14805 case 2: 14806 return &v.unknownFields 14807 default: 14808 return nil 14809 } 14810 } 14811 file_gobgp_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { 14812 switch v := v.(*ListStatementResponse); i { 14813 case 0: 14814 return &v.state 14815 case 1: 14816 return &v.sizeCache 14817 case 2: 14818 return &v.unknownFields 14819 default: 14820 return nil 14821 } 14822 } 14823 file_gobgp_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { 14824 switch v := v.(*AddPolicyAssignmentRequest); i { 14825 case 0: 14826 return &v.state 14827 case 1: 14828 return &v.sizeCache 14829 case 2: 14830 return &v.unknownFields 14831 default: 14832 return nil 14833 } 14834 } 14835 file_gobgp_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { 14836 switch v := v.(*DeletePolicyAssignmentRequest); i { 14837 case 0: 14838 return &v.state 14839 case 1: 14840 return &v.sizeCache 14841 case 2: 14842 return &v.unknownFields 14843 default: 14844 return nil 14845 } 14846 } 14847 file_gobgp_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { 14848 switch v := v.(*ListPolicyAssignmentRequest); i { 14849 case 0: 14850 return &v.state 14851 case 1: 14852 return &v.sizeCache 14853 case 2: 14854 return &v.unknownFields 14855 default: 14856 return nil 14857 } 14858 } 14859 file_gobgp_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { 14860 switch v := v.(*ListPolicyAssignmentResponse); i { 14861 case 0: 14862 return &v.state 14863 case 1: 14864 return &v.sizeCache 14865 case 2: 14866 return &v.unknownFields 14867 default: 14868 return nil 14869 } 14870 } 14871 file_gobgp_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { 14872 switch v := v.(*SetPolicyAssignmentRequest); i { 14873 case 0: 14874 return &v.state 14875 case 1: 14876 return &v.sizeCache 14877 case 2: 14878 return &v.unknownFields 14879 default: 14880 return nil 14881 } 14882 } 14883 file_gobgp_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { 14884 switch v := v.(*AddRpkiRequest); i { 14885 case 0: 14886 return &v.state 14887 case 1: 14888 return &v.sizeCache 14889 case 2: 14890 return &v.unknownFields 14891 default: 14892 return nil 14893 } 14894 } 14895 file_gobgp_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { 14896 switch v := v.(*DeleteRpkiRequest); i { 14897 case 0: 14898 return &v.state 14899 case 1: 14900 return &v.sizeCache 14901 case 2: 14902 return &v.unknownFields 14903 default: 14904 return nil 14905 } 14906 } 14907 file_gobgp_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { 14908 switch v := v.(*ListRpkiRequest); i { 14909 case 0: 14910 return &v.state 14911 case 1: 14912 return &v.sizeCache 14913 case 2: 14914 return &v.unknownFields 14915 default: 14916 return nil 14917 } 14918 } 14919 file_gobgp_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { 14920 switch v := v.(*ListRpkiResponse); i { 14921 case 0: 14922 return &v.state 14923 case 1: 14924 return &v.sizeCache 14925 case 2: 14926 return &v.unknownFields 14927 default: 14928 return nil 14929 } 14930 } 14931 file_gobgp_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { 14932 switch v := v.(*EnableRpkiRequest); i { 14933 case 0: 14934 return &v.state 14935 case 1: 14936 return &v.sizeCache 14937 case 2: 14938 return &v.unknownFields 14939 default: 14940 return nil 14941 } 14942 } 14943 file_gobgp_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { 14944 switch v := v.(*DisableRpkiRequest); i { 14945 case 0: 14946 return &v.state 14947 case 1: 14948 return &v.sizeCache 14949 case 2: 14950 return &v.unknownFields 14951 default: 14952 return nil 14953 } 14954 } 14955 file_gobgp_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { 14956 switch v := v.(*ResetRpkiRequest); i { 14957 case 0: 14958 return &v.state 14959 case 1: 14960 return &v.sizeCache 14961 case 2: 14962 return &v.unknownFields 14963 default: 14964 return nil 14965 } 14966 } 14967 file_gobgp_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { 14968 switch v := v.(*ListRpkiTableRequest); i { 14969 case 0: 14970 return &v.state 14971 case 1: 14972 return &v.sizeCache 14973 case 2: 14974 return &v.unknownFields 14975 default: 14976 return nil 14977 } 14978 } 14979 file_gobgp_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { 14980 switch v := v.(*ListRpkiTableResponse); i { 14981 case 0: 14982 return &v.state 14983 case 1: 14984 return &v.sizeCache 14985 case 2: 14986 return &v.unknownFields 14987 default: 14988 return nil 14989 } 14990 } 14991 file_gobgp_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { 14992 switch v := v.(*EnableZebraRequest); i { 14993 case 0: 14994 return &v.state 14995 case 1: 14996 return &v.sizeCache 14997 case 2: 14998 return &v.unknownFields 14999 default: 15000 return nil 15001 } 15002 } 15003 file_gobgp_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { 15004 switch v := v.(*EnableMrtRequest); i { 15005 case 0: 15006 return &v.state 15007 case 1: 15008 return &v.sizeCache 15009 case 2: 15010 return &v.unknownFields 15011 default: 15012 return nil 15013 } 15014 } 15015 file_gobgp_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { 15016 switch v := v.(*DisableMrtRequest); i { 15017 case 0: 15018 return &v.state 15019 case 1: 15020 return &v.sizeCache 15021 case 2: 15022 return &v.unknownFields 15023 default: 15024 return nil 15025 } 15026 } 15027 file_gobgp_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { 15028 switch v := v.(*AddBmpRequest); i { 15029 case 0: 15030 return &v.state 15031 case 1: 15032 return &v.sizeCache 15033 case 2: 15034 return &v.unknownFields 15035 default: 15036 return nil 15037 } 15038 } 15039 file_gobgp_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { 15040 switch v := v.(*DeleteBmpRequest); i { 15041 case 0: 15042 return &v.state 15043 case 1: 15044 return &v.sizeCache 15045 case 2: 15046 return &v.unknownFields 15047 default: 15048 return nil 15049 } 15050 } 15051 file_gobgp_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { 15052 switch v := v.(*ListBmpRequest); i { 15053 case 0: 15054 return &v.state 15055 case 1: 15056 return &v.sizeCache 15057 case 2: 15058 return &v.unknownFields 15059 default: 15060 return nil 15061 } 15062 } 15063 file_gobgp_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { 15064 switch v := v.(*ListBmpResponse); i { 15065 case 0: 15066 return &v.state 15067 case 1: 15068 return &v.sizeCache 15069 case 2: 15070 return &v.unknownFields 15071 default: 15072 return nil 15073 } 15074 } 15075 file_gobgp_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { 15076 switch v := v.(*Family); i { 15077 case 0: 15078 return &v.state 15079 case 1: 15080 return &v.sizeCache 15081 case 2: 15082 return &v.unknownFields 15083 default: 15084 return nil 15085 } 15086 } 15087 file_gobgp_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { 15088 switch v := v.(*Validation); i { 15089 case 0: 15090 return &v.state 15091 case 1: 15092 return &v.sizeCache 15093 case 2: 15094 return &v.unknownFields 15095 default: 15096 return nil 15097 } 15098 } 15099 file_gobgp_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { 15100 switch v := v.(*Path); i { 15101 case 0: 15102 return &v.state 15103 case 1: 15104 return &v.sizeCache 15105 case 2: 15106 return &v.unknownFields 15107 default: 15108 return nil 15109 } 15110 } 15111 file_gobgp_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { 15112 switch v := v.(*Destination); i { 15113 case 0: 15114 return &v.state 15115 case 1: 15116 return &v.sizeCache 15117 case 2: 15118 return &v.unknownFields 15119 default: 15120 return nil 15121 } 15122 } 15123 file_gobgp_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { 15124 switch v := v.(*Peer); i { 15125 case 0: 15126 return &v.state 15127 case 1: 15128 return &v.sizeCache 15129 case 2: 15130 return &v.unknownFields 15131 default: 15132 return nil 15133 } 15134 } 15135 file_gobgp_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { 15136 switch v := v.(*PeerGroup); i { 15137 case 0: 15138 return &v.state 15139 case 1: 15140 return &v.sizeCache 15141 case 2: 15142 return &v.unknownFields 15143 default: 15144 return nil 15145 } 15146 } 15147 file_gobgp_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { 15148 switch v := v.(*DynamicNeighbor); i { 15149 case 0: 15150 return &v.state 15151 case 1: 15152 return &v.sizeCache 15153 case 2: 15154 return &v.unknownFields 15155 default: 15156 return nil 15157 } 15158 } 15159 file_gobgp_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { 15160 switch v := v.(*ApplyPolicy); i { 15161 case 0: 15162 return &v.state 15163 case 1: 15164 return &v.sizeCache 15165 case 2: 15166 return &v.unknownFields 15167 default: 15168 return nil 15169 } 15170 } 15171 file_gobgp_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { 15172 switch v := v.(*PrefixLimit); i { 15173 case 0: 15174 return &v.state 15175 case 1: 15176 return &v.sizeCache 15177 case 2: 15178 return &v.unknownFields 15179 default: 15180 return nil 15181 } 15182 } 15183 file_gobgp_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { 15184 switch v := v.(*PeerConf); i { 15185 case 0: 15186 return &v.state 15187 case 1: 15188 return &v.sizeCache 15189 case 2: 15190 return &v.unknownFields 15191 default: 15192 return nil 15193 } 15194 } 15195 file_gobgp_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { 15196 switch v := v.(*PeerGroupConf); i { 15197 case 0: 15198 return &v.state 15199 case 1: 15200 return &v.sizeCache 15201 case 2: 15202 return &v.unknownFields 15203 default: 15204 return nil 15205 } 15206 } 15207 file_gobgp_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { 15208 switch v := v.(*PeerGroupState); i { 15209 case 0: 15210 return &v.state 15211 case 1: 15212 return &v.sizeCache 15213 case 2: 15214 return &v.unknownFields 15215 default: 15216 return nil 15217 } 15218 } 15219 file_gobgp_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { 15220 switch v := v.(*TtlSecurity); i { 15221 case 0: 15222 return &v.state 15223 case 1: 15224 return &v.sizeCache 15225 case 2: 15226 return &v.unknownFields 15227 default: 15228 return nil 15229 } 15230 } 15231 file_gobgp_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { 15232 switch v := v.(*EbgpMultihop); i { 15233 case 0: 15234 return &v.state 15235 case 1: 15236 return &v.sizeCache 15237 case 2: 15238 return &v.unknownFields 15239 default: 15240 return nil 15241 } 15242 } 15243 file_gobgp_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { 15244 switch v := v.(*RouteReflector); i { 15245 case 0: 15246 return &v.state 15247 case 1: 15248 return &v.sizeCache 15249 case 2: 15250 return &v.unknownFields 15251 default: 15252 return nil 15253 } 15254 } 15255 file_gobgp_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { 15256 switch v := v.(*PeerState); i { 15257 case 0: 15258 return &v.state 15259 case 1: 15260 return &v.sizeCache 15261 case 2: 15262 return &v.unknownFields 15263 default: 15264 return nil 15265 } 15266 } 15267 file_gobgp_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { 15268 switch v := v.(*Messages); i { 15269 case 0: 15270 return &v.state 15271 case 1: 15272 return &v.sizeCache 15273 case 2: 15274 return &v.unknownFields 15275 default: 15276 return nil 15277 } 15278 } 15279 file_gobgp_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { 15280 switch v := v.(*Message); i { 15281 case 0: 15282 return &v.state 15283 case 1: 15284 return &v.sizeCache 15285 case 2: 15286 return &v.unknownFields 15287 default: 15288 return nil 15289 } 15290 } 15291 file_gobgp_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { 15292 switch v := v.(*Queues); i { 15293 case 0: 15294 return &v.state 15295 case 1: 15296 return &v.sizeCache 15297 case 2: 15298 return &v.unknownFields 15299 default: 15300 return nil 15301 } 15302 } 15303 file_gobgp_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { 15304 switch v := v.(*Timers); i { 15305 case 0: 15306 return &v.state 15307 case 1: 15308 return &v.sizeCache 15309 case 2: 15310 return &v.unknownFields 15311 default: 15312 return nil 15313 } 15314 } 15315 file_gobgp_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { 15316 switch v := v.(*TimersConfig); i { 15317 case 0: 15318 return &v.state 15319 case 1: 15320 return &v.sizeCache 15321 case 2: 15322 return &v.unknownFields 15323 default: 15324 return nil 15325 } 15326 } 15327 file_gobgp_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { 15328 switch v := v.(*TimersState); i { 15329 case 0: 15330 return &v.state 15331 case 1: 15332 return &v.sizeCache 15333 case 2: 15334 return &v.unknownFields 15335 default: 15336 return nil 15337 } 15338 } 15339 file_gobgp_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { 15340 switch v := v.(*Transport); i { 15341 case 0: 15342 return &v.state 15343 case 1: 15344 return &v.sizeCache 15345 case 2: 15346 return &v.unknownFields 15347 default: 15348 return nil 15349 } 15350 } 15351 file_gobgp_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { 15352 switch v := v.(*RouteServer); i { 15353 case 0: 15354 return &v.state 15355 case 1: 15356 return &v.sizeCache 15357 case 2: 15358 return &v.unknownFields 15359 default: 15360 return nil 15361 } 15362 } 15363 file_gobgp_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { 15364 switch v := v.(*GracefulRestart); i { 15365 case 0: 15366 return &v.state 15367 case 1: 15368 return &v.sizeCache 15369 case 2: 15370 return &v.unknownFields 15371 default: 15372 return nil 15373 } 15374 } 15375 file_gobgp_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { 15376 switch v := v.(*MpGracefulRestartConfig); i { 15377 case 0: 15378 return &v.state 15379 case 1: 15380 return &v.sizeCache 15381 case 2: 15382 return &v.unknownFields 15383 default: 15384 return nil 15385 } 15386 } 15387 file_gobgp_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { 15388 switch v := v.(*MpGracefulRestartState); i { 15389 case 0: 15390 return &v.state 15391 case 1: 15392 return &v.sizeCache 15393 case 2: 15394 return &v.unknownFields 15395 default: 15396 return nil 15397 } 15398 } 15399 file_gobgp_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { 15400 switch v := v.(*MpGracefulRestart); i { 15401 case 0: 15402 return &v.state 15403 case 1: 15404 return &v.sizeCache 15405 case 2: 15406 return &v.unknownFields 15407 default: 15408 return nil 15409 } 15410 } 15411 file_gobgp_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { 15412 switch v := v.(*AfiSafiConfig); i { 15413 case 0: 15414 return &v.state 15415 case 1: 15416 return &v.sizeCache 15417 case 2: 15418 return &v.unknownFields 15419 default: 15420 return nil 15421 } 15422 } 15423 file_gobgp_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { 15424 switch v := v.(*AfiSafiState); i { 15425 case 0: 15426 return &v.state 15427 case 1: 15428 return &v.sizeCache 15429 case 2: 15430 return &v.unknownFields 15431 default: 15432 return nil 15433 } 15434 } 15435 file_gobgp_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { 15436 switch v := v.(*RouteSelectionOptionsConfig); i { 15437 case 0: 15438 return &v.state 15439 case 1: 15440 return &v.sizeCache 15441 case 2: 15442 return &v.unknownFields 15443 default: 15444 return nil 15445 } 15446 } 15447 file_gobgp_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { 15448 switch v := v.(*RouteSelectionOptionsState); i { 15449 case 0: 15450 return &v.state 15451 case 1: 15452 return &v.sizeCache 15453 case 2: 15454 return &v.unknownFields 15455 default: 15456 return nil 15457 } 15458 } 15459 file_gobgp_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { 15460 switch v := v.(*RouteSelectionOptions); i { 15461 case 0: 15462 return &v.state 15463 case 1: 15464 return &v.sizeCache 15465 case 2: 15466 return &v.unknownFields 15467 default: 15468 return nil 15469 } 15470 } 15471 file_gobgp_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { 15472 switch v := v.(*UseMultiplePathsConfig); i { 15473 case 0: 15474 return &v.state 15475 case 1: 15476 return &v.sizeCache 15477 case 2: 15478 return &v.unknownFields 15479 default: 15480 return nil 15481 } 15482 } 15483 file_gobgp_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { 15484 switch v := v.(*UseMultiplePathsState); i { 15485 case 0: 15486 return &v.state 15487 case 1: 15488 return &v.sizeCache 15489 case 2: 15490 return &v.unknownFields 15491 default: 15492 return nil 15493 } 15494 } 15495 file_gobgp_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { 15496 switch v := v.(*EbgpConfig); i { 15497 case 0: 15498 return &v.state 15499 case 1: 15500 return &v.sizeCache 15501 case 2: 15502 return &v.unknownFields 15503 default: 15504 return nil 15505 } 15506 } 15507 file_gobgp_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { 15508 switch v := v.(*EbgpState); i { 15509 case 0: 15510 return &v.state 15511 case 1: 15512 return &v.sizeCache 15513 case 2: 15514 return &v.unknownFields 15515 default: 15516 return nil 15517 } 15518 } 15519 file_gobgp_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { 15520 switch v := v.(*Ebgp); i { 15521 case 0: 15522 return &v.state 15523 case 1: 15524 return &v.sizeCache 15525 case 2: 15526 return &v.unknownFields 15527 default: 15528 return nil 15529 } 15530 } 15531 file_gobgp_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { 15532 switch v := v.(*IbgpConfig); i { 15533 case 0: 15534 return &v.state 15535 case 1: 15536 return &v.sizeCache 15537 case 2: 15538 return &v.unknownFields 15539 default: 15540 return nil 15541 } 15542 } 15543 file_gobgp_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { 15544 switch v := v.(*IbgpState); i { 15545 case 0: 15546 return &v.state 15547 case 1: 15548 return &v.sizeCache 15549 case 2: 15550 return &v.unknownFields 15551 default: 15552 return nil 15553 } 15554 } 15555 file_gobgp_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { 15556 switch v := v.(*Ibgp); i { 15557 case 0: 15558 return &v.state 15559 case 1: 15560 return &v.sizeCache 15561 case 2: 15562 return &v.unknownFields 15563 default: 15564 return nil 15565 } 15566 } 15567 file_gobgp_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { 15568 switch v := v.(*UseMultiplePaths); i { 15569 case 0: 15570 return &v.state 15571 case 1: 15572 return &v.sizeCache 15573 case 2: 15574 return &v.unknownFields 15575 default: 15576 return nil 15577 } 15578 } 15579 file_gobgp_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { 15580 switch v := v.(*RouteTargetMembershipConfig); i { 15581 case 0: 15582 return &v.state 15583 case 1: 15584 return &v.sizeCache 15585 case 2: 15586 return &v.unknownFields 15587 default: 15588 return nil 15589 } 15590 } 15591 file_gobgp_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { 15592 switch v := v.(*RouteTargetMembershipState); i { 15593 case 0: 15594 return &v.state 15595 case 1: 15596 return &v.sizeCache 15597 case 2: 15598 return &v.unknownFields 15599 default: 15600 return nil 15601 } 15602 } 15603 file_gobgp_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { 15604 switch v := v.(*RouteTargetMembership); i { 15605 case 0: 15606 return &v.state 15607 case 1: 15608 return &v.sizeCache 15609 case 2: 15610 return &v.unknownFields 15611 default: 15612 return nil 15613 } 15614 } 15615 file_gobgp_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { 15616 switch v := v.(*LongLivedGracefulRestartConfig); i { 15617 case 0: 15618 return &v.state 15619 case 1: 15620 return &v.sizeCache 15621 case 2: 15622 return &v.unknownFields 15623 default: 15624 return nil 15625 } 15626 } 15627 file_gobgp_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { 15628 switch v := v.(*LongLivedGracefulRestartState); i { 15629 case 0: 15630 return &v.state 15631 case 1: 15632 return &v.sizeCache 15633 case 2: 15634 return &v.unknownFields 15635 default: 15636 return nil 15637 } 15638 } 15639 file_gobgp_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { 15640 switch v := v.(*LongLivedGracefulRestart); i { 15641 case 0: 15642 return &v.state 15643 case 1: 15644 return &v.sizeCache 15645 case 2: 15646 return &v.unknownFields 15647 default: 15648 return nil 15649 } 15650 } 15651 file_gobgp_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { 15652 switch v := v.(*AfiSafi); i { 15653 case 0: 15654 return &v.state 15655 case 1: 15656 return &v.sizeCache 15657 case 2: 15658 return &v.unknownFields 15659 default: 15660 return nil 15661 } 15662 } 15663 file_gobgp_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { 15664 switch v := v.(*AddPathsConfig); i { 15665 case 0: 15666 return &v.state 15667 case 1: 15668 return &v.sizeCache 15669 case 2: 15670 return &v.unknownFields 15671 default: 15672 return nil 15673 } 15674 } 15675 file_gobgp_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { 15676 switch v := v.(*AddPathsState); i { 15677 case 0: 15678 return &v.state 15679 case 1: 15680 return &v.sizeCache 15681 case 2: 15682 return &v.unknownFields 15683 default: 15684 return nil 15685 } 15686 } 15687 file_gobgp_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { 15688 switch v := v.(*AddPaths); i { 15689 case 0: 15690 return &v.state 15691 case 1: 15692 return &v.sizeCache 15693 case 2: 15694 return &v.unknownFields 15695 default: 15696 return nil 15697 } 15698 } 15699 file_gobgp_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { 15700 switch v := v.(*Prefix); i { 15701 case 0: 15702 return &v.state 15703 case 1: 15704 return &v.sizeCache 15705 case 2: 15706 return &v.unknownFields 15707 default: 15708 return nil 15709 } 15710 } 15711 file_gobgp_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { 15712 switch v := v.(*DefinedSet); i { 15713 case 0: 15714 return &v.state 15715 case 1: 15716 return &v.sizeCache 15717 case 2: 15718 return &v.unknownFields 15719 default: 15720 return nil 15721 } 15722 } 15723 file_gobgp_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { 15724 switch v := v.(*MatchSet); i { 15725 case 0: 15726 return &v.state 15727 case 1: 15728 return &v.sizeCache 15729 case 2: 15730 return &v.unknownFields 15731 default: 15732 return nil 15733 } 15734 } 15735 file_gobgp_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { 15736 switch v := v.(*AsPathLength); i { 15737 case 0: 15738 return &v.state 15739 case 1: 15740 return &v.sizeCache 15741 case 2: 15742 return &v.unknownFields 15743 default: 15744 return nil 15745 } 15746 } 15747 file_gobgp_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { 15748 switch v := v.(*CommunityCount); i { 15749 case 0: 15750 return &v.state 15751 case 1: 15752 return &v.sizeCache 15753 case 2: 15754 return &v.unknownFields 15755 default: 15756 return nil 15757 } 15758 } 15759 file_gobgp_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { 15760 switch v := v.(*Conditions); i { 15761 case 0: 15762 return &v.state 15763 case 1: 15764 return &v.sizeCache 15765 case 2: 15766 return &v.unknownFields 15767 default: 15768 return nil 15769 } 15770 } 15771 file_gobgp_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { 15772 switch v := v.(*CommunityAction); i { 15773 case 0: 15774 return &v.state 15775 case 1: 15776 return &v.sizeCache 15777 case 2: 15778 return &v.unknownFields 15779 default: 15780 return nil 15781 } 15782 } 15783 file_gobgp_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { 15784 switch v := v.(*MedAction); i { 15785 case 0: 15786 return &v.state 15787 case 1: 15788 return &v.sizeCache 15789 case 2: 15790 return &v.unknownFields 15791 default: 15792 return nil 15793 } 15794 } 15795 file_gobgp_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { 15796 switch v := v.(*AsPrependAction); i { 15797 case 0: 15798 return &v.state 15799 case 1: 15800 return &v.sizeCache 15801 case 2: 15802 return &v.unknownFields 15803 default: 15804 return nil 15805 } 15806 } 15807 file_gobgp_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { 15808 switch v := v.(*NexthopAction); i { 15809 case 0: 15810 return &v.state 15811 case 1: 15812 return &v.sizeCache 15813 case 2: 15814 return &v.unknownFields 15815 default: 15816 return nil 15817 } 15818 } 15819 file_gobgp_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { 15820 switch v := v.(*LocalPrefAction); i { 15821 case 0: 15822 return &v.state 15823 case 1: 15824 return &v.sizeCache 15825 case 2: 15826 return &v.unknownFields 15827 default: 15828 return nil 15829 } 15830 } 15831 file_gobgp_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { 15832 switch v := v.(*OriginAction); i { 15833 case 0: 15834 return &v.state 15835 case 1: 15836 return &v.sizeCache 15837 case 2: 15838 return &v.unknownFields 15839 default: 15840 return nil 15841 } 15842 } 15843 file_gobgp_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { 15844 switch v := v.(*Actions); i { 15845 case 0: 15846 return &v.state 15847 case 1: 15848 return &v.sizeCache 15849 case 2: 15850 return &v.unknownFields 15851 default: 15852 return nil 15853 } 15854 } 15855 file_gobgp_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { 15856 switch v := v.(*Statement); i { 15857 case 0: 15858 return &v.state 15859 case 1: 15860 return &v.sizeCache 15861 case 2: 15862 return &v.unknownFields 15863 default: 15864 return nil 15865 } 15866 } 15867 file_gobgp_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { 15868 switch v := v.(*Policy); i { 15869 case 0: 15870 return &v.state 15871 case 1: 15872 return &v.sizeCache 15873 case 2: 15874 return &v.unknownFields 15875 default: 15876 return nil 15877 } 15878 } 15879 file_gobgp_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { 15880 switch v := v.(*PolicyAssignment); i { 15881 case 0: 15882 return &v.state 15883 case 1: 15884 return &v.sizeCache 15885 case 2: 15886 return &v.unknownFields 15887 default: 15888 return nil 15889 } 15890 } 15891 file_gobgp_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { 15892 switch v := v.(*RoutingPolicy); i { 15893 case 0: 15894 return &v.state 15895 case 1: 15896 return &v.sizeCache 15897 case 2: 15898 return &v.unknownFields 15899 default: 15900 return nil 15901 } 15902 } 15903 file_gobgp_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { 15904 switch v := v.(*Roa); i { 15905 case 0: 15906 return &v.state 15907 case 1: 15908 return &v.sizeCache 15909 case 2: 15910 return &v.unknownFields 15911 default: 15912 return nil 15913 } 15914 } 15915 file_gobgp_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { 15916 switch v := v.(*Vrf); i { 15917 case 0: 15918 return &v.state 15919 case 1: 15920 return &v.sizeCache 15921 case 2: 15922 return &v.unknownFields 15923 default: 15924 return nil 15925 } 15926 } 15927 file_gobgp_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { 15928 switch v := v.(*DefaultRouteDistance); i { 15929 case 0: 15930 return &v.state 15931 case 1: 15932 return &v.sizeCache 15933 case 2: 15934 return &v.unknownFields 15935 default: 15936 return nil 15937 } 15938 } 15939 file_gobgp_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { 15940 switch v := v.(*Global); i { 15941 case 0: 15942 return &v.state 15943 case 1: 15944 return &v.sizeCache 15945 case 2: 15946 return &v.unknownFields 15947 default: 15948 return nil 15949 } 15950 } 15951 file_gobgp_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { 15952 switch v := v.(*Confederation); i { 15953 case 0: 15954 return &v.state 15955 case 1: 15956 return &v.sizeCache 15957 case 2: 15958 return &v.unknownFields 15959 default: 15960 return nil 15961 } 15962 } 15963 file_gobgp_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { 15964 switch v := v.(*RPKIConf); i { 15965 case 0: 15966 return &v.state 15967 case 1: 15968 return &v.sizeCache 15969 case 2: 15970 return &v.unknownFields 15971 default: 15972 return nil 15973 } 15974 } 15975 file_gobgp_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { 15976 switch v := v.(*RPKIState); i { 15977 case 0: 15978 return &v.state 15979 case 1: 15980 return &v.sizeCache 15981 case 2: 15982 return &v.unknownFields 15983 default: 15984 return nil 15985 } 15986 } 15987 file_gobgp_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { 15988 switch v := v.(*Rpki); i { 15989 case 0: 15990 return &v.state 15991 case 1: 15992 return &v.sizeCache 15993 case 2: 15994 return &v.unknownFields 15995 default: 15996 return nil 15997 } 15998 } 15999 file_gobgp_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { 16000 switch v := v.(*SetLogLevelRequest); i { 16001 case 0: 16002 return &v.state 16003 case 1: 16004 return &v.sizeCache 16005 case 2: 16006 return &v.unknownFields 16007 default: 16008 return nil 16009 } 16010 } 16011 file_gobgp_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { 16012 switch v := v.(*WatchEventRequest_Peer); i { 16013 case 0: 16014 return &v.state 16015 case 1: 16016 return &v.sizeCache 16017 case 2: 16018 return &v.unknownFields 16019 default: 16020 return nil 16021 } 16022 } 16023 file_gobgp_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { 16024 switch v := v.(*WatchEventRequest_Table); i { 16025 case 0: 16026 return &v.state 16027 case 1: 16028 return &v.sizeCache 16029 case 2: 16030 return &v.unknownFields 16031 default: 16032 return nil 16033 } 16034 } 16035 file_gobgp_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { 16036 switch v := v.(*WatchEventRequest_Table_Filter); i { 16037 case 0: 16038 return &v.state 16039 case 1: 16040 return &v.sizeCache 16041 case 2: 16042 return &v.unknownFields 16043 default: 16044 return nil 16045 } 16046 } 16047 file_gobgp_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { 16048 switch v := v.(*WatchEventResponse_PeerEvent); i { 16049 case 0: 16050 return &v.state 16051 case 1: 16052 return &v.sizeCache 16053 case 2: 16054 return &v.unknownFields 16055 default: 16056 return nil 16057 } 16058 } 16059 file_gobgp_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { 16060 switch v := v.(*WatchEventResponse_TableEvent); i { 16061 case 0: 16062 return &v.state 16063 case 1: 16064 return &v.sizeCache 16065 case 2: 16066 return &v.unknownFields 16067 default: 16068 return nil 16069 } 16070 } 16071 file_gobgp_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { 16072 switch v := v.(*ListBmpResponse_BmpStation); i { 16073 case 0: 16074 return &v.state 16075 case 1: 16076 return &v.sizeCache 16077 case 2: 16078 return &v.unknownFields 16079 default: 16080 return nil 16081 } 16082 } 16083 file_gobgp_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { 16084 switch v := v.(*ListBmpResponse_BmpStation_Conf); i { 16085 case 0: 16086 return &v.state 16087 case 1: 16088 return &v.sizeCache 16089 case 2: 16090 return &v.unknownFields 16091 default: 16092 return nil 16093 } 16094 } 16095 file_gobgp_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { 16096 switch v := v.(*ListBmpResponse_BmpStation_State); i { 16097 case 0: 16098 return &v.state 16099 case 1: 16100 return &v.sizeCache 16101 case 2: 16102 return &v.unknownFields 16103 default: 16104 return nil 16105 } 16106 } 16107 } 16108 file_gobgp_proto_msgTypes[5].OneofWrappers = []interface{}{ 16109 (*WatchEventResponse_Peer)(nil), 16110 (*WatchEventResponse_Table)(nil), 16111 } 16112 type x struct{} 16113 out := protoimpl.TypeBuilder{ 16114 File: protoimpl.DescBuilder{ 16115 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 16116 RawDescriptor: file_gobgp_proto_rawDesc, 16117 NumEnums: 27, 16118 NumMessages: 159, 16119 NumExtensions: 0, 16120 NumServices: 1, 16121 }, 16122 GoTypes: file_gobgp_proto_goTypes, 16123 DependencyIndexes: file_gobgp_proto_depIdxs, 16124 EnumInfos: file_gobgp_proto_enumTypes, 16125 MessageInfos: file_gobgp_proto_msgTypes, 16126 }.Build() 16127 File_gobgp_proto = out.File 16128 file_gobgp_proto_rawDesc = nil 16129 file_gobgp_proto_goTypes = nil 16130 file_gobgp_proto_depIdxs = nil 16131 }