github.com/osrg/gobgp@v2.0.0+incompatible/api/attribute.pb.go (about) 1 // Code generated by protoc-gen-go. 2 // source: attribute.proto 3 // DO NOT EDIT! 4 5 package gobgpapi 6 7 import proto "github.com/golang/protobuf/proto" 8 import fmt "fmt" 9 import math "math" 10 import google_protobuf "github.com/golang/protobuf/ptypes/any" 11 12 // Reference imports to suppress errors if they are not otherwise used. 13 var _ = proto.Marshal 14 var _ = fmt.Errorf 15 var _ = math.Inf 16 17 type OriginAttribute struct { 18 Origin uint32 `protobuf:"varint,1,opt,name=origin" json:"origin,omitempty"` 19 } 20 21 func (m *OriginAttribute) Reset() { *m = OriginAttribute{} } 22 func (m *OriginAttribute) String() string { return proto.CompactTextString(m) } 23 func (*OriginAttribute) ProtoMessage() {} 24 func (*OriginAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} } 25 26 func (m *OriginAttribute) GetOrigin() uint32 { 27 if m != nil { 28 return m.Origin 29 } 30 return 0 31 } 32 33 type AsSegment struct { 34 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 35 Numbers []uint32 `protobuf:"varint,2,rep,packed,name=numbers" json:"numbers,omitempty"` 36 } 37 38 func (m *AsSegment) Reset() { *m = AsSegment{} } 39 func (m *AsSegment) String() string { return proto.CompactTextString(m) } 40 func (*AsSegment) ProtoMessage() {} 41 func (*AsSegment) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} } 42 43 func (m *AsSegment) GetType() uint32 { 44 if m != nil { 45 return m.Type 46 } 47 return 0 48 } 49 50 func (m *AsSegment) GetNumbers() []uint32 { 51 if m != nil { 52 return m.Numbers 53 } 54 return nil 55 } 56 57 type AsPathAttribute struct { 58 Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"` 59 } 60 61 func (m *AsPathAttribute) Reset() { *m = AsPathAttribute{} } 62 func (m *AsPathAttribute) String() string { return proto.CompactTextString(m) } 63 func (*AsPathAttribute) ProtoMessage() {} 64 func (*AsPathAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} } 65 66 func (m *AsPathAttribute) GetSegments() []*AsSegment { 67 if m != nil { 68 return m.Segments 69 } 70 return nil 71 } 72 73 type NextHopAttribute struct { 74 NextHop string `protobuf:"bytes,1,opt,name=next_hop,json=nextHop" json:"next_hop,omitempty"` 75 } 76 77 func (m *NextHopAttribute) Reset() { *m = NextHopAttribute{} } 78 func (m *NextHopAttribute) String() string { return proto.CompactTextString(m) } 79 func (*NextHopAttribute) ProtoMessage() {} 80 func (*NextHopAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} } 81 82 func (m *NextHopAttribute) GetNextHop() string { 83 if m != nil { 84 return m.NextHop 85 } 86 return "" 87 } 88 89 type MultiExitDiscAttribute struct { 90 Med uint32 `protobuf:"varint,1,opt,name=med" json:"med,omitempty"` 91 } 92 93 func (m *MultiExitDiscAttribute) Reset() { *m = MultiExitDiscAttribute{} } 94 func (m *MultiExitDiscAttribute) String() string { return proto.CompactTextString(m) } 95 func (*MultiExitDiscAttribute) ProtoMessage() {} 96 func (*MultiExitDiscAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} } 97 98 func (m *MultiExitDiscAttribute) GetMed() uint32 { 99 if m != nil { 100 return m.Med 101 } 102 return 0 103 } 104 105 type LocalPrefAttribute struct { 106 LocalPref uint32 `protobuf:"varint,1,opt,name=local_pref,json=localPref" json:"local_pref,omitempty"` 107 } 108 109 func (m *LocalPrefAttribute) Reset() { *m = LocalPrefAttribute{} } 110 func (m *LocalPrefAttribute) String() string { return proto.CompactTextString(m) } 111 func (*LocalPrefAttribute) ProtoMessage() {} 112 func (*LocalPrefAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} } 113 114 func (m *LocalPrefAttribute) GetLocalPref() uint32 { 115 if m != nil { 116 return m.LocalPref 117 } 118 return 0 119 } 120 121 type AtomicAggregateAttribute struct { 122 } 123 124 func (m *AtomicAggregateAttribute) Reset() { *m = AtomicAggregateAttribute{} } 125 func (m *AtomicAggregateAttribute) String() string { return proto.CompactTextString(m) } 126 func (*AtomicAggregateAttribute) ProtoMessage() {} 127 func (*AtomicAggregateAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} } 128 129 type AggregatorAttribute struct { 130 As uint32 `protobuf:"varint,2,opt,name=as" json:"as,omitempty"` 131 Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` 132 } 133 134 func (m *AggregatorAttribute) Reset() { *m = AggregatorAttribute{} } 135 func (m *AggregatorAttribute) String() string { return proto.CompactTextString(m) } 136 func (*AggregatorAttribute) ProtoMessage() {} 137 func (*AggregatorAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} } 138 139 func (m *AggregatorAttribute) GetAs() uint32 { 140 if m != nil { 141 return m.As 142 } 143 return 0 144 } 145 146 func (m *AggregatorAttribute) GetAddress() string { 147 if m != nil { 148 return m.Address 149 } 150 return "" 151 } 152 153 type CommunitiesAttribute struct { 154 Communities []uint32 `protobuf:"varint,1,rep,packed,name=communities" json:"communities,omitempty"` 155 } 156 157 func (m *CommunitiesAttribute) Reset() { *m = CommunitiesAttribute{} } 158 func (m *CommunitiesAttribute) String() string { return proto.CompactTextString(m) } 159 func (*CommunitiesAttribute) ProtoMessage() {} 160 func (*CommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} } 161 162 func (m *CommunitiesAttribute) GetCommunities() []uint32 { 163 if m != nil { 164 return m.Communities 165 } 166 return nil 167 } 168 169 type OriginatorIdAttribute struct { 170 Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` 171 } 172 173 func (m *OriginatorIdAttribute) Reset() { *m = OriginatorIdAttribute{} } 174 func (m *OriginatorIdAttribute) String() string { return proto.CompactTextString(m) } 175 func (*OriginatorIdAttribute) ProtoMessage() {} 176 func (*OriginatorIdAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} } 177 178 func (m *OriginatorIdAttribute) GetId() string { 179 if m != nil { 180 return m.Id 181 } 182 return "" 183 } 184 185 type ClusterListAttribute struct { 186 Ids []string `protobuf:"bytes,1,rep,name=ids" json:"ids,omitempty"` 187 } 188 189 func (m *ClusterListAttribute) Reset() { *m = ClusterListAttribute{} } 190 func (m *ClusterListAttribute) String() string { return proto.CompactTextString(m) } 191 func (*ClusterListAttribute) ProtoMessage() {} 192 func (*ClusterListAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} } 193 194 func (m *ClusterListAttribute) GetIds() []string { 195 if m != nil { 196 return m.Ids 197 } 198 return nil 199 } 200 201 // IPAddressPrefix represents the NLRI for: 202 // - AFI=1, SAFI=1 203 // - AFI=2, SAFI=1 204 type IPAddressPrefix struct { 205 PrefixLen uint32 `protobuf:"varint,1,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` 206 Prefix string `protobuf:"bytes,2,opt,name=prefix" json:"prefix,omitempty"` 207 } 208 209 func (m *IPAddressPrefix) Reset() { *m = IPAddressPrefix{} } 210 func (m *IPAddressPrefix) String() string { return proto.CompactTextString(m) } 211 func (*IPAddressPrefix) ProtoMessage() {} 212 func (*IPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} } 213 214 func (m *IPAddressPrefix) GetPrefixLen() uint32 { 215 if m != nil { 216 return m.PrefixLen 217 } 218 return 0 219 } 220 221 func (m *IPAddressPrefix) GetPrefix() string { 222 if m != nil { 223 return m.Prefix 224 } 225 return "" 226 } 227 228 // LabeledIPAddressPrefix represents the NLRI for: 229 // - AFI=1, SAFI=4 230 // - AFI=2, SAFI=4 231 type LabeledIPAddressPrefix struct { 232 Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels" json:"labels,omitempty"` 233 PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` 234 Prefix string `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"` 235 } 236 237 func (m *LabeledIPAddressPrefix) Reset() { *m = LabeledIPAddressPrefix{} } 238 func (m *LabeledIPAddressPrefix) String() string { return proto.CompactTextString(m) } 239 func (*LabeledIPAddressPrefix) ProtoMessage() {} 240 func (*LabeledIPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} } 241 242 func (m *LabeledIPAddressPrefix) GetLabels() []uint32 { 243 if m != nil { 244 return m.Labels 245 } 246 return nil 247 } 248 249 func (m *LabeledIPAddressPrefix) GetPrefixLen() uint32 { 250 if m != nil { 251 return m.PrefixLen 252 } 253 return 0 254 } 255 256 func (m *LabeledIPAddressPrefix) GetPrefix() string { 257 if m != nil { 258 return m.Prefix 259 } 260 return "" 261 } 262 263 // EncapsulationNLRI represents the NLRI for: 264 // - AFI=1, SAFI=7 265 // - AFI=2, SAFI=7 266 type EncapsulationNLRI struct { 267 Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` 268 } 269 270 func (m *EncapsulationNLRI) Reset() { *m = EncapsulationNLRI{} } 271 func (m *EncapsulationNLRI) String() string { return proto.CompactTextString(m) } 272 func (*EncapsulationNLRI) ProtoMessage() {} 273 func (*EncapsulationNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} } 274 275 func (m *EncapsulationNLRI) GetAddress() string { 276 if m != nil { 277 return m.Address 278 } 279 return "" 280 } 281 282 type RouteDistinguisherTwoOctetAS struct { 283 Admin uint32 `protobuf:"varint,1,opt,name=admin" json:"admin,omitempty"` 284 Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"` 285 } 286 287 func (m *RouteDistinguisherTwoOctetAS) Reset() { *m = RouteDistinguisherTwoOctetAS{} } 288 func (m *RouteDistinguisherTwoOctetAS) String() string { return proto.CompactTextString(m) } 289 func (*RouteDistinguisherTwoOctetAS) ProtoMessage() {} 290 func (*RouteDistinguisherTwoOctetAS) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} } 291 292 func (m *RouteDistinguisherTwoOctetAS) GetAdmin() uint32 { 293 if m != nil { 294 return m.Admin 295 } 296 return 0 297 } 298 299 func (m *RouteDistinguisherTwoOctetAS) GetAssigned() uint32 { 300 if m != nil { 301 return m.Assigned 302 } 303 return 0 304 } 305 306 type RouteDistinguisherIPAddress struct { 307 Admin string `protobuf:"bytes,1,opt,name=admin" json:"admin,omitempty"` 308 Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"` 309 } 310 311 func (m *RouteDistinguisherIPAddress) Reset() { *m = RouteDistinguisherIPAddress{} } 312 func (m *RouteDistinguisherIPAddress) String() string { return proto.CompactTextString(m) } 313 func (*RouteDistinguisherIPAddress) ProtoMessage() {} 314 func (*RouteDistinguisherIPAddress) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} } 315 316 func (m *RouteDistinguisherIPAddress) GetAdmin() string { 317 if m != nil { 318 return m.Admin 319 } 320 return "" 321 } 322 323 func (m *RouteDistinguisherIPAddress) GetAssigned() uint32 { 324 if m != nil { 325 return m.Assigned 326 } 327 return 0 328 } 329 330 type RouteDistinguisherFourOctetAS struct { 331 Admin uint32 `protobuf:"varint,1,opt,name=admin" json:"admin,omitempty"` 332 Assigned uint32 `protobuf:"varint,2,opt,name=assigned" json:"assigned,omitempty"` 333 } 334 335 func (m *RouteDistinguisherFourOctetAS) Reset() { *m = RouteDistinguisherFourOctetAS{} } 336 func (m *RouteDistinguisherFourOctetAS) String() string { return proto.CompactTextString(m) } 337 func (*RouteDistinguisherFourOctetAS) ProtoMessage() {} 338 func (*RouteDistinguisherFourOctetAS) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} } 339 340 func (m *RouteDistinguisherFourOctetAS) GetAdmin() uint32 { 341 if m != nil { 342 return m.Admin 343 } 344 return 0 345 } 346 347 func (m *RouteDistinguisherFourOctetAS) GetAssigned() uint32 { 348 if m != nil { 349 return m.Assigned 350 } 351 return 0 352 } 353 354 type EthernetSegmentIdentifier struct { 355 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 356 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 357 } 358 359 func (m *EthernetSegmentIdentifier) Reset() { *m = EthernetSegmentIdentifier{} } 360 func (m *EthernetSegmentIdentifier) String() string { return proto.CompactTextString(m) } 361 func (*EthernetSegmentIdentifier) ProtoMessage() {} 362 func (*EthernetSegmentIdentifier) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} } 363 364 func (m *EthernetSegmentIdentifier) GetType() uint32 { 365 if m != nil { 366 return m.Type 367 } 368 return 0 369 } 370 371 func (m *EthernetSegmentIdentifier) GetValue() []byte { 372 if m != nil { 373 return m.Value 374 } 375 return nil 376 } 377 378 // EVPNEthernetAutoDiscoveryRoute represents the NLRI for: 379 // - AFI=25, SAFI=70, RouteType=1 380 type EVPNEthernetAutoDiscoveryRoute struct { 381 // One of: 382 // - RouteDistinguisherTwoOctetAS 383 // - RouteDistinguisherIPAddressAS 384 // - RouteDistinguisherFourOctetAS 385 Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` 386 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` 387 EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` 388 Label uint32 `protobuf:"varint,4,opt,name=label" json:"label,omitempty"` 389 } 390 391 func (m *EVPNEthernetAutoDiscoveryRoute) Reset() { *m = EVPNEthernetAutoDiscoveryRoute{} } 392 func (m *EVPNEthernetAutoDiscoveryRoute) String() string { return proto.CompactTextString(m) } 393 func (*EVPNEthernetAutoDiscoveryRoute) ProtoMessage() {} 394 func (*EVPNEthernetAutoDiscoveryRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} } 395 396 func (m *EVPNEthernetAutoDiscoveryRoute) GetRd() *google_protobuf.Any { 397 if m != nil { 398 return m.Rd 399 } 400 return nil 401 } 402 403 func (m *EVPNEthernetAutoDiscoveryRoute) GetEsi() *EthernetSegmentIdentifier { 404 if m != nil { 405 return m.Esi 406 } 407 return nil 408 } 409 410 func (m *EVPNEthernetAutoDiscoveryRoute) GetEthernetTag() uint32 { 411 if m != nil { 412 return m.EthernetTag 413 } 414 return 0 415 } 416 417 func (m *EVPNEthernetAutoDiscoveryRoute) GetLabel() uint32 { 418 if m != nil { 419 return m.Label 420 } 421 return 0 422 } 423 424 // EVPNMACIPAdvertisementRoute represents the NLRI for: 425 // - AFI=25, SAFI=70, RouteType=2 426 type EVPNMACIPAdvertisementRoute struct { 427 // One of: 428 // - RouteDistinguisherTwoOctetAS 429 // - RouteDistinguisherIPAddressAS 430 // - RouteDistinguisherFourOctetAS 431 Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` 432 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` 433 EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` 434 MacAddress string `protobuf:"bytes,4,opt,name=mac_address,json=macAddress" json:"mac_address,omitempty"` 435 IpAddress string `protobuf:"bytes,5,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"` 436 Labels []uint32 `protobuf:"varint,6,rep,packed,name=labels" json:"labels,omitempty"` 437 } 438 439 func (m *EVPNMACIPAdvertisementRoute) Reset() { *m = EVPNMACIPAdvertisementRoute{} } 440 func (m *EVPNMACIPAdvertisementRoute) String() string { return proto.CompactTextString(m) } 441 func (*EVPNMACIPAdvertisementRoute) ProtoMessage() {} 442 func (*EVPNMACIPAdvertisementRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} } 443 444 func (m *EVPNMACIPAdvertisementRoute) GetRd() *google_protobuf.Any { 445 if m != nil { 446 return m.Rd 447 } 448 return nil 449 } 450 451 func (m *EVPNMACIPAdvertisementRoute) GetEsi() *EthernetSegmentIdentifier { 452 if m != nil { 453 return m.Esi 454 } 455 return nil 456 } 457 458 func (m *EVPNMACIPAdvertisementRoute) GetEthernetTag() uint32 { 459 if m != nil { 460 return m.EthernetTag 461 } 462 return 0 463 } 464 465 func (m *EVPNMACIPAdvertisementRoute) GetMacAddress() string { 466 if m != nil { 467 return m.MacAddress 468 } 469 return "" 470 } 471 472 func (m *EVPNMACIPAdvertisementRoute) GetIpAddress() string { 473 if m != nil { 474 return m.IpAddress 475 } 476 return "" 477 } 478 479 func (m *EVPNMACIPAdvertisementRoute) GetLabels() []uint32 { 480 if m != nil { 481 return m.Labels 482 } 483 return nil 484 } 485 486 // EVPNInclusiveMulticastEthernetTagRoute represents the NLRI for: 487 // - AFI=25, SAFI=70, RouteType=3 488 type EVPNInclusiveMulticastEthernetTagRoute struct { 489 // One of: 490 // - RouteDistinguisherTwoOctetAS 491 // - RouteDistinguisherIPAddressAS 492 // - RouteDistinguisherFourOctetAS 493 Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` 494 EthernetTag uint32 `protobuf:"varint,2,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` 495 IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"` 496 } 497 498 func (m *EVPNInclusiveMulticastEthernetTagRoute) Reset() { 499 *m = EVPNInclusiveMulticastEthernetTagRoute{} 500 } 501 func (m *EVPNInclusiveMulticastEthernetTagRoute) String() string { return proto.CompactTextString(m) } 502 func (*EVPNInclusiveMulticastEthernetTagRoute) ProtoMessage() {} 503 func (*EVPNInclusiveMulticastEthernetTagRoute) Descriptor() ([]byte, []int) { 504 return fileDescriptor1, []int{20} 505 } 506 507 func (m *EVPNInclusiveMulticastEthernetTagRoute) GetRd() *google_protobuf.Any { 508 if m != nil { 509 return m.Rd 510 } 511 return nil 512 } 513 514 func (m *EVPNInclusiveMulticastEthernetTagRoute) GetEthernetTag() uint32 { 515 if m != nil { 516 return m.EthernetTag 517 } 518 return 0 519 } 520 521 func (m *EVPNInclusiveMulticastEthernetTagRoute) GetIpAddress() string { 522 if m != nil { 523 return m.IpAddress 524 } 525 return "" 526 } 527 528 // EVPNEthernetSegmentRoute represents the NLRI for: 529 // - AFI=25, SAFI=70, RouteType=4 530 type EVPNEthernetSegmentRoute struct { 531 // One of: 532 // - RouteDistinguisherTwoOctetAS 533 // - RouteDistinguisherIPAddressAS 534 // - RouteDistinguisherFourOctetAS 535 Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` 536 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` 537 IpAddress string `protobuf:"bytes,3,opt,name=ip_address,json=ipAddress" json:"ip_address,omitempty"` 538 } 539 540 func (m *EVPNEthernetSegmentRoute) Reset() { *m = EVPNEthernetSegmentRoute{} } 541 func (m *EVPNEthernetSegmentRoute) String() string { return proto.CompactTextString(m) } 542 func (*EVPNEthernetSegmentRoute) ProtoMessage() {} 543 func (*EVPNEthernetSegmentRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{21} } 544 545 func (m *EVPNEthernetSegmentRoute) GetRd() *google_protobuf.Any { 546 if m != nil { 547 return m.Rd 548 } 549 return nil 550 } 551 552 func (m *EVPNEthernetSegmentRoute) GetEsi() *EthernetSegmentIdentifier { 553 if m != nil { 554 return m.Esi 555 } 556 return nil 557 } 558 559 func (m *EVPNEthernetSegmentRoute) GetIpAddress() string { 560 if m != nil { 561 return m.IpAddress 562 } 563 return "" 564 } 565 566 // EVPNIPPrefixRoute represents the NLRI for: 567 // - AFI=25, SAFI=70, RouteType=5 568 type EVPNIPPrefixRoute struct { 569 // One of: 570 // - RouteDistinguisherTwoOctetAS 571 // - RouteDistinguisherIPAddressAS 572 // - RouteDistinguisherFourOctetAS 573 Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` 574 Esi *EthernetSegmentIdentifier `protobuf:"bytes,2,opt,name=esi" json:"esi,omitempty"` 575 EthernetTag uint32 `protobuf:"varint,3,opt,name=ethernet_tag,json=ethernetTag" json:"ethernet_tag,omitempty"` 576 IpPrefix string `protobuf:"bytes,4,opt,name=ip_prefix,json=ipPrefix" json:"ip_prefix,omitempty"` 577 IpPrefixLen uint32 `protobuf:"varint,5,opt,name=ip_prefix_len,json=ipPrefixLen" json:"ip_prefix_len,omitempty"` 578 GwAddress string `protobuf:"bytes,6,opt,name=gw_address,json=gwAddress" json:"gw_address,omitempty"` 579 Label uint32 `protobuf:"varint,7,opt,name=label" json:"label,omitempty"` 580 } 581 582 func (m *EVPNIPPrefixRoute) Reset() { *m = EVPNIPPrefixRoute{} } 583 func (m *EVPNIPPrefixRoute) String() string { return proto.CompactTextString(m) } 584 func (*EVPNIPPrefixRoute) ProtoMessage() {} 585 func (*EVPNIPPrefixRoute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{22} } 586 587 func (m *EVPNIPPrefixRoute) GetRd() *google_protobuf.Any { 588 if m != nil { 589 return m.Rd 590 } 591 return nil 592 } 593 594 func (m *EVPNIPPrefixRoute) GetEsi() *EthernetSegmentIdentifier { 595 if m != nil { 596 return m.Esi 597 } 598 return nil 599 } 600 601 func (m *EVPNIPPrefixRoute) GetEthernetTag() uint32 { 602 if m != nil { 603 return m.EthernetTag 604 } 605 return 0 606 } 607 608 func (m *EVPNIPPrefixRoute) GetIpPrefix() string { 609 if m != nil { 610 return m.IpPrefix 611 } 612 return "" 613 } 614 615 func (m *EVPNIPPrefixRoute) GetIpPrefixLen() uint32 { 616 if m != nil { 617 return m.IpPrefixLen 618 } 619 return 0 620 } 621 622 func (m *EVPNIPPrefixRoute) GetGwAddress() string { 623 if m != nil { 624 return m.GwAddress 625 } 626 return "" 627 } 628 629 func (m *EVPNIPPrefixRoute) GetLabel() uint32 { 630 if m != nil { 631 return m.Label 632 } 633 return 0 634 } 635 636 // LabeledVPNIPAddressPrefix represents the NLRI for: 637 // - AFI=1, SAFI=128 638 // - AFI=2, SAFI=128 639 type LabeledVPNIPAddressPrefix struct { 640 Labels []uint32 `protobuf:"varint,1,rep,packed,name=labels" json:"labels,omitempty"` 641 // One of: 642 // - TwoOctetAsSpecificExtended 643 // - IPv4AddressSpecificExtended 644 // - FourOctetAsSpecificExtended 645 Rd *google_protobuf.Any `protobuf:"bytes,2,opt,name=rd" json:"rd,omitempty"` 646 PrefixLen uint32 `protobuf:"varint,3,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` 647 Prefix string `protobuf:"bytes,4,opt,name=prefix" json:"prefix,omitempty"` 648 } 649 650 func (m *LabeledVPNIPAddressPrefix) Reset() { *m = LabeledVPNIPAddressPrefix{} } 651 func (m *LabeledVPNIPAddressPrefix) String() string { return proto.CompactTextString(m) } 652 func (*LabeledVPNIPAddressPrefix) ProtoMessage() {} 653 func (*LabeledVPNIPAddressPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{23} } 654 655 func (m *LabeledVPNIPAddressPrefix) GetLabels() []uint32 { 656 if m != nil { 657 return m.Labels 658 } 659 return nil 660 } 661 662 func (m *LabeledVPNIPAddressPrefix) GetRd() *google_protobuf.Any { 663 if m != nil { 664 return m.Rd 665 } 666 return nil 667 } 668 669 func (m *LabeledVPNIPAddressPrefix) GetPrefixLen() uint32 { 670 if m != nil { 671 return m.PrefixLen 672 } 673 return 0 674 } 675 676 func (m *LabeledVPNIPAddressPrefix) GetPrefix() string { 677 if m != nil { 678 return m.Prefix 679 } 680 return "" 681 } 682 683 // RouteTargetMembershipNLRI represents the NLRI for: 684 // - AFI=1, SAFI=132 685 type RouteTargetMembershipNLRI struct { 686 As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` 687 // One of: 688 // - TwoOctetAsSpecificExtended 689 // - IPv4AddressSpecificExtended 690 // - FourOctetAsSpecificExtended 691 Rt *google_protobuf.Any `protobuf:"bytes,2,opt,name=rt" json:"rt,omitempty"` 692 } 693 694 func (m *RouteTargetMembershipNLRI) Reset() { *m = RouteTargetMembershipNLRI{} } 695 func (m *RouteTargetMembershipNLRI) String() string { return proto.CompactTextString(m) } 696 func (*RouteTargetMembershipNLRI) ProtoMessage() {} 697 func (*RouteTargetMembershipNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{24} } 698 699 func (m *RouteTargetMembershipNLRI) GetAs() uint32 { 700 if m != nil { 701 return m.As 702 } 703 return 0 704 } 705 706 func (m *RouteTargetMembershipNLRI) GetRt() *google_protobuf.Any { 707 if m != nil { 708 return m.Rt 709 } 710 return nil 711 } 712 713 type FlowSpecIPPrefix struct { 714 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 715 PrefixLen uint32 `protobuf:"varint,2,opt,name=prefix_len,json=prefixLen" json:"prefix_len,omitempty"` 716 Prefix string `protobuf:"bytes,3,opt,name=prefix" json:"prefix,omitempty"` 717 // IPv6 only 718 Offset uint32 `protobuf:"varint,4,opt,name=offset" json:"offset,omitempty"` 719 } 720 721 func (m *FlowSpecIPPrefix) Reset() { *m = FlowSpecIPPrefix{} } 722 func (m *FlowSpecIPPrefix) String() string { return proto.CompactTextString(m) } 723 func (*FlowSpecIPPrefix) ProtoMessage() {} 724 func (*FlowSpecIPPrefix) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{25} } 725 726 func (m *FlowSpecIPPrefix) GetType() uint32 { 727 if m != nil { 728 return m.Type 729 } 730 return 0 731 } 732 733 func (m *FlowSpecIPPrefix) GetPrefixLen() uint32 { 734 if m != nil { 735 return m.PrefixLen 736 } 737 return 0 738 } 739 740 func (m *FlowSpecIPPrefix) GetPrefix() string { 741 if m != nil { 742 return m.Prefix 743 } 744 return "" 745 } 746 747 func (m *FlowSpecIPPrefix) GetOffset() uint32 { 748 if m != nil { 749 return m.Offset 750 } 751 return 0 752 } 753 754 type FlowSpecMAC struct { 755 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 756 Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"` 757 } 758 759 func (m *FlowSpecMAC) Reset() { *m = FlowSpecMAC{} } 760 func (m *FlowSpecMAC) String() string { return proto.CompactTextString(m) } 761 func (*FlowSpecMAC) ProtoMessage() {} 762 func (*FlowSpecMAC) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{26} } 763 764 func (m *FlowSpecMAC) GetType() uint32 { 765 if m != nil { 766 return m.Type 767 } 768 return 0 769 } 770 771 func (m *FlowSpecMAC) GetAddress() string { 772 if m != nil { 773 return m.Address 774 } 775 return "" 776 } 777 778 type FlowSpecComponentItem struct { 779 // Operator for Numeric type, Operand for Bitmask type 780 Op uint32 `protobuf:"varint,1,opt,name=op" json:"op,omitempty"` 781 Value uint64 `protobuf:"varint,2,opt,name=value" json:"value,omitempty"` 782 } 783 784 func (m *FlowSpecComponentItem) Reset() { *m = FlowSpecComponentItem{} } 785 func (m *FlowSpecComponentItem) String() string { return proto.CompactTextString(m) } 786 func (*FlowSpecComponentItem) ProtoMessage() {} 787 func (*FlowSpecComponentItem) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{27} } 788 789 func (m *FlowSpecComponentItem) GetOp() uint32 { 790 if m != nil { 791 return m.Op 792 } 793 return 0 794 } 795 796 func (m *FlowSpecComponentItem) GetValue() uint64 { 797 if m != nil { 798 return m.Value 799 } 800 return 0 801 } 802 803 type FlowSpecComponent struct { 804 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 805 Items []*FlowSpecComponentItem `protobuf:"bytes,2,rep,name=items" json:"items,omitempty"` 806 } 807 808 func (m *FlowSpecComponent) Reset() { *m = FlowSpecComponent{} } 809 func (m *FlowSpecComponent) String() string { return proto.CompactTextString(m) } 810 func (*FlowSpecComponent) ProtoMessage() {} 811 func (*FlowSpecComponent) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{28} } 812 813 func (m *FlowSpecComponent) GetType() uint32 { 814 if m != nil { 815 return m.Type 816 } 817 return 0 818 } 819 820 func (m *FlowSpecComponent) GetItems() []*FlowSpecComponentItem { 821 if m != nil { 822 return m.Items 823 } 824 return nil 825 } 826 827 // FlowSpecNLRI represents the NLRI for: 828 // - AFI=1, SAFI=133 829 // - AFI=2, SAFI=133 830 type FlowSpecNLRI struct { 831 // One of: 832 // - FlowSpecIPPrefix 833 // - FlowSpecMAC 834 // - FlowSpecComponent 835 Rules []*google_protobuf.Any `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"` 836 } 837 838 func (m *FlowSpecNLRI) Reset() { *m = FlowSpecNLRI{} } 839 func (m *FlowSpecNLRI) String() string { return proto.CompactTextString(m) } 840 func (*FlowSpecNLRI) ProtoMessage() {} 841 func (*FlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{29} } 842 843 func (m *FlowSpecNLRI) GetRules() []*google_protobuf.Any { 844 if m != nil { 845 return m.Rules 846 } 847 return nil 848 } 849 850 // VPNFlowSpecNLRI represents the NLRI for: 851 // - AFI=1, SAFI=134 852 // - AFI=2, SAFI=134 853 // - AFI=25, SAFI=134 854 type VPNFlowSpecNLRI struct { 855 // One of: 856 // - RouteDistinguisherTwoOctetAS 857 // - RouteDistinguisherIPAddressAS 858 // - RouteDistinguisherFourOctetAS 859 Rd *google_protobuf.Any `protobuf:"bytes,1,opt,name=rd" json:"rd,omitempty"` 860 // One of: 861 // - FlowSpecIPPrefix 862 // - FlowSpecMAC 863 // - FlowSpecComponent 864 Rules []*google_protobuf.Any `protobuf:"bytes,2,rep,name=rules" json:"rules,omitempty"` 865 } 866 867 func (m *VPNFlowSpecNLRI) Reset() { *m = VPNFlowSpecNLRI{} } 868 func (m *VPNFlowSpecNLRI) String() string { return proto.CompactTextString(m) } 869 func (*VPNFlowSpecNLRI) ProtoMessage() {} 870 func (*VPNFlowSpecNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{30} } 871 872 func (m *VPNFlowSpecNLRI) GetRd() *google_protobuf.Any { 873 if m != nil { 874 return m.Rd 875 } 876 return nil 877 } 878 879 func (m *VPNFlowSpecNLRI) GetRules() []*google_protobuf.Any { 880 if m != nil { 881 return m.Rules 882 } 883 return nil 884 } 885 886 // OpaqueNLRI represents the NLRI for: 887 // - AFI=16397, SAFI=241 888 type OpaqueNLRI struct { 889 Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 890 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 891 } 892 893 func (m *OpaqueNLRI) Reset() { *m = OpaqueNLRI{} } 894 func (m *OpaqueNLRI) String() string { return proto.CompactTextString(m) } 895 func (*OpaqueNLRI) ProtoMessage() {} 896 func (*OpaqueNLRI) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{31} } 897 898 func (m *OpaqueNLRI) GetKey() []byte { 899 if m != nil { 900 return m.Key 901 } 902 return nil 903 } 904 905 func (m *OpaqueNLRI) GetValue() []byte { 906 if m != nil { 907 return m.Value 908 } 909 return nil 910 } 911 912 type MpReachNLRIAttribute struct { 913 Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` 914 NextHops []string `protobuf:"bytes,2,rep,name=next_hops,json=nextHops" json:"next_hops,omitempty"` 915 // Each NLRI must be one of: 916 // - IPAddressPrefix 917 // - LabeledIPAddressPrefix 918 // - EncapsulationNLRI 919 // - EVPNEthernetAutoDiscoveryRoute 920 // - EVPNMACIPAdvertisementRoute 921 // - EVPNInclusiveMulticastEthernetTagRoute 922 // - EVPNEthernetSegmentRoute 923 // - EVPNIPPrefixRoute 924 // - LabeledVPNIPAddressPrefix 925 // - RouteTargetMembershipNLRI 926 // - FlowSpecNLRI 927 // - VPNFlowSpecNLRI 928 // - OpaqueNLRI 929 Nlris []*google_protobuf.Any `protobuf:"bytes,3,rep,name=nlris" json:"nlris,omitempty"` 930 } 931 932 func (m *MpReachNLRIAttribute) Reset() { *m = MpReachNLRIAttribute{} } 933 func (m *MpReachNLRIAttribute) String() string { return proto.CompactTextString(m) } 934 func (*MpReachNLRIAttribute) ProtoMessage() {} 935 func (*MpReachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{32} } 936 937 func (m *MpReachNLRIAttribute) GetFamily() *Family { 938 if m != nil { 939 return m.Family 940 } 941 return nil 942 } 943 944 func (m *MpReachNLRIAttribute) GetNextHops() []string { 945 if m != nil { 946 return m.NextHops 947 } 948 return nil 949 } 950 951 func (m *MpReachNLRIAttribute) GetNlris() []*google_protobuf.Any { 952 if m != nil { 953 return m.Nlris 954 } 955 return nil 956 } 957 958 type MpUnreachNLRIAttribute struct { 959 Family *Family `protobuf:"bytes,1,opt,name=family" json:"family,omitempty"` 960 // The same as NLRI field of MpReachNLRIAttribute 961 Nlris []*google_protobuf.Any `protobuf:"bytes,3,rep,name=nlris" json:"nlris,omitempty"` 962 } 963 964 func (m *MpUnreachNLRIAttribute) Reset() { *m = MpUnreachNLRIAttribute{} } 965 func (m *MpUnreachNLRIAttribute) String() string { return proto.CompactTextString(m) } 966 func (*MpUnreachNLRIAttribute) ProtoMessage() {} 967 func (*MpUnreachNLRIAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{33} } 968 969 func (m *MpUnreachNLRIAttribute) GetFamily() *Family { 970 if m != nil { 971 return m.Family 972 } 973 return nil 974 } 975 976 func (m *MpUnreachNLRIAttribute) GetNlris() []*google_protobuf.Any { 977 if m != nil { 978 return m.Nlris 979 } 980 return nil 981 } 982 983 type TwoOctetAsSpecificExtended struct { 984 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` 985 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` 986 As uint32 `protobuf:"varint,3,opt,name=as" json:"as,omitempty"` 987 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 988 } 989 990 func (m *TwoOctetAsSpecificExtended) Reset() { *m = TwoOctetAsSpecificExtended{} } 991 func (m *TwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } 992 func (*TwoOctetAsSpecificExtended) ProtoMessage() {} 993 func (*TwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{34} } 994 995 func (m *TwoOctetAsSpecificExtended) GetIsTransitive() bool { 996 if m != nil { 997 return m.IsTransitive 998 } 999 return false 1000 } 1001 1002 func (m *TwoOctetAsSpecificExtended) GetSubType() uint32 { 1003 if m != nil { 1004 return m.SubType 1005 } 1006 return 0 1007 } 1008 1009 func (m *TwoOctetAsSpecificExtended) GetAs() uint32 { 1010 if m != nil { 1011 return m.As 1012 } 1013 return 0 1014 } 1015 1016 func (m *TwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { 1017 if m != nil { 1018 return m.LocalAdmin 1019 } 1020 return 0 1021 } 1022 1023 type IPv4AddressSpecificExtended struct { 1024 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` 1025 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` 1026 Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` 1027 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 1028 } 1029 1030 func (m *IPv4AddressSpecificExtended) Reset() { *m = IPv4AddressSpecificExtended{} } 1031 func (m *IPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) } 1032 func (*IPv4AddressSpecificExtended) ProtoMessage() {} 1033 func (*IPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{35} } 1034 1035 func (m *IPv4AddressSpecificExtended) GetIsTransitive() bool { 1036 if m != nil { 1037 return m.IsTransitive 1038 } 1039 return false 1040 } 1041 1042 func (m *IPv4AddressSpecificExtended) GetSubType() uint32 { 1043 if m != nil { 1044 return m.SubType 1045 } 1046 return 0 1047 } 1048 1049 func (m *IPv4AddressSpecificExtended) GetAddress() string { 1050 if m != nil { 1051 return m.Address 1052 } 1053 return "" 1054 } 1055 1056 func (m *IPv4AddressSpecificExtended) GetLocalAdmin() uint32 { 1057 if m != nil { 1058 return m.LocalAdmin 1059 } 1060 return 0 1061 } 1062 1063 type FourOctetAsSpecificExtended struct { 1064 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` 1065 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` 1066 As uint32 `protobuf:"varint,3,opt,name=as" json:"as,omitempty"` 1067 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 1068 } 1069 1070 func (m *FourOctetAsSpecificExtended) Reset() { *m = FourOctetAsSpecificExtended{} } 1071 func (m *FourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } 1072 func (*FourOctetAsSpecificExtended) ProtoMessage() {} 1073 func (*FourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{36} } 1074 1075 func (m *FourOctetAsSpecificExtended) GetIsTransitive() bool { 1076 if m != nil { 1077 return m.IsTransitive 1078 } 1079 return false 1080 } 1081 1082 func (m *FourOctetAsSpecificExtended) GetSubType() uint32 { 1083 if m != nil { 1084 return m.SubType 1085 } 1086 return 0 1087 } 1088 1089 func (m *FourOctetAsSpecificExtended) GetAs() uint32 { 1090 if m != nil { 1091 return m.As 1092 } 1093 return 0 1094 } 1095 1096 func (m *FourOctetAsSpecificExtended) GetLocalAdmin() uint32 { 1097 if m != nil { 1098 return m.LocalAdmin 1099 } 1100 return 0 1101 } 1102 1103 type ValidationExtended struct { 1104 State uint32 `protobuf:"varint,1,opt,name=state" json:"state,omitempty"` 1105 } 1106 1107 func (m *ValidationExtended) Reset() { *m = ValidationExtended{} } 1108 func (m *ValidationExtended) String() string { return proto.CompactTextString(m) } 1109 func (*ValidationExtended) ProtoMessage() {} 1110 func (*ValidationExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{37} } 1111 1112 func (m *ValidationExtended) GetState() uint32 { 1113 if m != nil { 1114 return m.State 1115 } 1116 return 0 1117 } 1118 1119 type ColorExtended struct { 1120 Color uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"` 1121 } 1122 1123 func (m *ColorExtended) Reset() { *m = ColorExtended{} } 1124 func (m *ColorExtended) String() string { return proto.CompactTextString(m) } 1125 func (*ColorExtended) ProtoMessage() {} 1126 func (*ColorExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{38} } 1127 1128 func (m *ColorExtended) GetColor() uint32 { 1129 if m != nil { 1130 return m.Color 1131 } 1132 return 0 1133 } 1134 1135 type EncapExtended struct { 1136 TunnelType uint32 `protobuf:"varint,1,opt,name=tunnel_type,json=tunnelType" json:"tunnel_type,omitempty"` 1137 } 1138 1139 func (m *EncapExtended) Reset() { *m = EncapExtended{} } 1140 func (m *EncapExtended) String() string { return proto.CompactTextString(m) } 1141 func (*EncapExtended) ProtoMessage() {} 1142 func (*EncapExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{39} } 1143 1144 func (m *EncapExtended) GetTunnelType() uint32 { 1145 if m != nil { 1146 return m.TunnelType 1147 } 1148 return 0 1149 } 1150 1151 type DefaultGatewayExtended struct { 1152 } 1153 1154 func (m *DefaultGatewayExtended) Reset() { *m = DefaultGatewayExtended{} } 1155 func (m *DefaultGatewayExtended) String() string { return proto.CompactTextString(m) } 1156 func (*DefaultGatewayExtended) ProtoMessage() {} 1157 func (*DefaultGatewayExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{40} } 1158 1159 type OpaqueExtended struct { 1160 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` 1161 Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 1162 } 1163 1164 func (m *OpaqueExtended) Reset() { *m = OpaqueExtended{} } 1165 func (m *OpaqueExtended) String() string { return proto.CompactTextString(m) } 1166 func (*OpaqueExtended) ProtoMessage() {} 1167 func (*OpaqueExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{41} } 1168 1169 func (m *OpaqueExtended) GetIsTransitive() bool { 1170 if m != nil { 1171 return m.IsTransitive 1172 } 1173 return false 1174 } 1175 1176 func (m *OpaqueExtended) GetValue() []byte { 1177 if m != nil { 1178 return m.Value 1179 } 1180 return nil 1181 } 1182 1183 type ESILabelExtended struct { 1184 IsSingleActive bool `protobuf:"varint,1,opt,name=is_single_active,json=isSingleActive" json:"is_single_active,omitempty"` 1185 Label uint32 `protobuf:"varint,2,opt,name=label" json:"label,omitempty"` 1186 } 1187 1188 func (m *ESILabelExtended) Reset() { *m = ESILabelExtended{} } 1189 func (m *ESILabelExtended) String() string { return proto.CompactTextString(m) } 1190 func (*ESILabelExtended) ProtoMessage() {} 1191 func (*ESILabelExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{42} } 1192 1193 func (m *ESILabelExtended) GetIsSingleActive() bool { 1194 if m != nil { 1195 return m.IsSingleActive 1196 } 1197 return false 1198 } 1199 1200 func (m *ESILabelExtended) GetLabel() uint32 { 1201 if m != nil { 1202 return m.Label 1203 } 1204 return 0 1205 } 1206 1207 type ESImportRouteTarget struct { 1208 EsImport string `protobuf:"bytes,1,opt,name=es_import,json=esImport" json:"es_import,omitempty"` 1209 } 1210 1211 func (m *ESImportRouteTarget) Reset() { *m = ESImportRouteTarget{} } 1212 func (m *ESImportRouteTarget) String() string { return proto.CompactTextString(m) } 1213 func (*ESImportRouteTarget) ProtoMessage() {} 1214 func (*ESImportRouteTarget) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{43} } 1215 1216 func (m *ESImportRouteTarget) GetEsImport() string { 1217 if m != nil { 1218 return m.EsImport 1219 } 1220 return "" 1221 } 1222 1223 type MacMobilityExtended struct { 1224 IsSticky bool `protobuf:"varint,1,opt,name=is_sticky,json=isSticky" json:"is_sticky,omitempty"` 1225 SequenceNum uint32 `protobuf:"varint,2,opt,name=sequence_num,json=sequenceNum" json:"sequence_num,omitempty"` 1226 } 1227 1228 func (m *MacMobilityExtended) Reset() { *m = MacMobilityExtended{} } 1229 func (m *MacMobilityExtended) String() string { return proto.CompactTextString(m) } 1230 func (*MacMobilityExtended) ProtoMessage() {} 1231 func (*MacMobilityExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{44} } 1232 1233 func (m *MacMobilityExtended) GetIsSticky() bool { 1234 if m != nil { 1235 return m.IsSticky 1236 } 1237 return false 1238 } 1239 1240 func (m *MacMobilityExtended) GetSequenceNum() uint32 { 1241 if m != nil { 1242 return m.SequenceNum 1243 } 1244 return 0 1245 } 1246 1247 type RouterMacExtended struct { 1248 Mac string `protobuf:"bytes,1,opt,name=mac" json:"mac,omitempty"` 1249 } 1250 1251 func (m *RouterMacExtended) Reset() { *m = RouterMacExtended{} } 1252 func (m *RouterMacExtended) String() string { return proto.CompactTextString(m) } 1253 func (*RouterMacExtended) ProtoMessage() {} 1254 func (*RouterMacExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{45} } 1255 1256 func (m *RouterMacExtended) GetMac() string { 1257 if m != nil { 1258 return m.Mac 1259 } 1260 return "" 1261 } 1262 1263 type TrafficRateExtended struct { 1264 As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` 1265 Rate float32 `protobuf:"fixed32,2,opt,name=rate" json:"rate,omitempty"` 1266 } 1267 1268 func (m *TrafficRateExtended) Reset() { *m = TrafficRateExtended{} } 1269 func (m *TrafficRateExtended) String() string { return proto.CompactTextString(m) } 1270 func (*TrafficRateExtended) ProtoMessage() {} 1271 func (*TrafficRateExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{46} } 1272 1273 func (m *TrafficRateExtended) GetAs() uint32 { 1274 if m != nil { 1275 return m.As 1276 } 1277 return 0 1278 } 1279 1280 func (m *TrafficRateExtended) GetRate() float32 { 1281 if m != nil { 1282 return m.Rate 1283 } 1284 return 0 1285 } 1286 1287 type TrafficActionExtended struct { 1288 Terminal bool `protobuf:"varint,1,opt,name=terminal" json:"terminal,omitempty"` 1289 Sample bool `protobuf:"varint,2,opt,name=sample" json:"sample,omitempty"` 1290 } 1291 1292 func (m *TrafficActionExtended) Reset() { *m = TrafficActionExtended{} } 1293 func (m *TrafficActionExtended) String() string { return proto.CompactTextString(m) } 1294 func (*TrafficActionExtended) ProtoMessage() {} 1295 func (*TrafficActionExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{47} } 1296 1297 func (m *TrafficActionExtended) GetTerminal() bool { 1298 if m != nil { 1299 return m.Terminal 1300 } 1301 return false 1302 } 1303 1304 func (m *TrafficActionExtended) GetSample() bool { 1305 if m != nil { 1306 return m.Sample 1307 } 1308 return false 1309 } 1310 1311 type RedirectTwoOctetAsSpecificExtended struct { 1312 As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` 1313 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 1314 } 1315 1316 func (m *RedirectTwoOctetAsSpecificExtended) Reset() { *m = RedirectTwoOctetAsSpecificExtended{} } 1317 func (m *RedirectTwoOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } 1318 func (*RedirectTwoOctetAsSpecificExtended) ProtoMessage() {} 1319 func (*RedirectTwoOctetAsSpecificExtended) Descriptor() ([]byte, []int) { 1320 return fileDescriptor1, []int{48} 1321 } 1322 1323 func (m *RedirectTwoOctetAsSpecificExtended) GetAs() uint32 { 1324 if m != nil { 1325 return m.As 1326 } 1327 return 0 1328 } 1329 1330 func (m *RedirectTwoOctetAsSpecificExtended) GetLocalAdmin() uint32 { 1331 if m != nil { 1332 return m.LocalAdmin 1333 } 1334 return 0 1335 } 1336 1337 type RedirectIPv4AddressSpecificExtended struct { 1338 Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` 1339 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 1340 } 1341 1342 func (m *RedirectIPv4AddressSpecificExtended) Reset() { *m = RedirectIPv4AddressSpecificExtended{} } 1343 func (m *RedirectIPv4AddressSpecificExtended) String() string { return proto.CompactTextString(m) } 1344 func (*RedirectIPv4AddressSpecificExtended) ProtoMessage() {} 1345 func (*RedirectIPv4AddressSpecificExtended) Descriptor() ([]byte, []int) { 1346 return fileDescriptor1, []int{49} 1347 } 1348 1349 func (m *RedirectIPv4AddressSpecificExtended) GetAddress() string { 1350 if m != nil { 1351 return m.Address 1352 } 1353 return "" 1354 } 1355 1356 func (m *RedirectIPv4AddressSpecificExtended) GetLocalAdmin() uint32 { 1357 if m != nil { 1358 return m.LocalAdmin 1359 } 1360 return 0 1361 } 1362 1363 type RedirectFourOctetAsSpecificExtended struct { 1364 As uint32 `protobuf:"varint,1,opt,name=as" json:"as,omitempty"` 1365 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 1366 } 1367 1368 func (m *RedirectFourOctetAsSpecificExtended) Reset() { *m = RedirectFourOctetAsSpecificExtended{} } 1369 func (m *RedirectFourOctetAsSpecificExtended) String() string { return proto.CompactTextString(m) } 1370 func (*RedirectFourOctetAsSpecificExtended) ProtoMessage() {} 1371 func (*RedirectFourOctetAsSpecificExtended) Descriptor() ([]byte, []int) { 1372 return fileDescriptor1, []int{50} 1373 } 1374 1375 func (m *RedirectFourOctetAsSpecificExtended) GetAs() uint32 { 1376 if m != nil { 1377 return m.As 1378 } 1379 return 0 1380 } 1381 1382 func (m *RedirectFourOctetAsSpecificExtended) GetLocalAdmin() uint32 { 1383 if m != nil { 1384 return m.LocalAdmin 1385 } 1386 return 0 1387 } 1388 1389 type TrafficRemarkExtended struct { 1390 Dscp uint32 `protobuf:"varint,1,opt,name=dscp" json:"dscp,omitempty"` 1391 } 1392 1393 func (m *TrafficRemarkExtended) Reset() { *m = TrafficRemarkExtended{} } 1394 func (m *TrafficRemarkExtended) String() string { return proto.CompactTextString(m) } 1395 func (*TrafficRemarkExtended) ProtoMessage() {} 1396 func (*TrafficRemarkExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{51} } 1397 1398 func (m *TrafficRemarkExtended) GetDscp() uint32 { 1399 if m != nil { 1400 return m.Dscp 1401 } 1402 return 0 1403 } 1404 1405 type UnknownExtended struct { 1406 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 1407 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 1408 } 1409 1410 func (m *UnknownExtended) Reset() { *m = UnknownExtended{} } 1411 func (m *UnknownExtended) String() string { return proto.CompactTextString(m) } 1412 func (*UnknownExtended) ProtoMessage() {} 1413 func (*UnknownExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{52} } 1414 1415 func (m *UnknownExtended) GetType() uint32 { 1416 if m != nil { 1417 return m.Type 1418 } 1419 return 0 1420 } 1421 1422 func (m *UnknownExtended) GetValue() []byte { 1423 if m != nil { 1424 return m.Value 1425 } 1426 return nil 1427 } 1428 1429 type ExtendedCommunitiesAttribute struct { 1430 // Each Community must be one of: 1431 // - TwoOctetAsSpecificExtended 1432 // - IPv4AddressSpecificExtended 1433 // - FourOctetAsSpecificExtended 1434 // - OpaqueExtended 1435 // - ESILabelExtended 1436 // - MacMobilityExtended 1437 // - RouterMacExtended 1438 // - TrafficRateExtended 1439 // - TrafficActionExtended 1440 // - RedirectTwoOctetAsSpecificExtended 1441 // - RedirectIPv4AddressSpecificExtended 1442 // - RedirectFourOctetAsSpecificExtended 1443 // - TrafficRemarkExtended 1444 // - UnknownExtended 1445 Communities []*google_protobuf.Any `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"` 1446 } 1447 1448 func (m *ExtendedCommunitiesAttribute) Reset() { *m = ExtendedCommunitiesAttribute{} } 1449 func (m *ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) } 1450 func (*ExtendedCommunitiesAttribute) ProtoMessage() {} 1451 func (*ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{53} } 1452 1453 func (m *ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any { 1454 if m != nil { 1455 return m.Communities 1456 } 1457 return nil 1458 } 1459 1460 type As4PathAttribute struct { 1461 Segments []*AsSegment `protobuf:"bytes,1,rep,name=segments" json:"segments,omitempty"` 1462 } 1463 1464 func (m *As4PathAttribute) Reset() { *m = As4PathAttribute{} } 1465 func (m *As4PathAttribute) String() string { return proto.CompactTextString(m) } 1466 func (*As4PathAttribute) ProtoMessage() {} 1467 func (*As4PathAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{54} } 1468 1469 func (m *As4PathAttribute) GetSegments() []*AsSegment { 1470 if m != nil { 1471 return m.Segments 1472 } 1473 return nil 1474 } 1475 1476 type As4AggregatorAttribute struct { 1477 As uint32 `protobuf:"varint,2,opt,name=as" json:"as,omitempty"` 1478 Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` 1479 } 1480 1481 func (m *As4AggregatorAttribute) Reset() { *m = As4AggregatorAttribute{} } 1482 func (m *As4AggregatorAttribute) String() string { return proto.CompactTextString(m) } 1483 func (*As4AggregatorAttribute) ProtoMessage() {} 1484 func (*As4AggregatorAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{55} } 1485 1486 func (m *As4AggregatorAttribute) GetAs() uint32 { 1487 if m != nil { 1488 return m.As 1489 } 1490 return 0 1491 } 1492 1493 func (m *As4AggregatorAttribute) GetAddress() string { 1494 if m != nil { 1495 return m.Address 1496 } 1497 return "" 1498 } 1499 1500 type PmsiTunnelAttribute struct { 1501 Flags uint32 `protobuf:"varint,1,opt,name=flags" json:"flags,omitempty"` 1502 Type uint32 `protobuf:"varint,2,opt,name=type" json:"type,omitempty"` 1503 Label uint32 `protobuf:"varint,3,opt,name=label" json:"label,omitempty"` 1504 Id []byte `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` 1505 } 1506 1507 func (m *PmsiTunnelAttribute) Reset() { *m = PmsiTunnelAttribute{} } 1508 func (m *PmsiTunnelAttribute) String() string { return proto.CompactTextString(m) } 1509 func (*PmsiTunnelAttribute) ProtoMessage() {} 1510 func (*PmsiTunnelAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{56} } 1511 1512 func (m *PmsiTunnelAttribute) GetFlags() uint32 { 1513 if m != nil { 1514 return m.Flags 1515 } 1516 return 0 1517 } 1518 1519 func (m *PmsiTunnelAttribute) GetType() uint32 { 1520 if m != nil { 1521 return m.Type 1522 } 1523 return 0 1524 } 1525 1526 func (m *PmsiTunnelAttribute) GetLabel() uint32 { 1527 if m != nil { 1528 return m.Label 1529 } 1530 return 0 1531 } 1532 1533 func (m *PmsiTunnelAttribute) GetId() []byte { 1534 if m != nil { 1535 return m.Id 1536 } 1537 return nil 1538 } 1539 1540 type TunnelEncapSubTLVEncapsulation struct { 1541 Key uint32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"` 1542 Cookie []byte `protobuf:"bytes,2,opt,name=cookie,proto3" json:"cookie,omitempty"` 1543 } 1544 1545 func (m *TunnelEncapSubTLVEncapsulation) Reset() { *m = TunnelEncapSubTLVEncapsulation{} } 1546 func (m *TunnelEncapSubTLVEncapsulation) String() string { return proto.CompactTextString(m) } 1547 func (*TunnelEncapSubTLVEncapsulation) ProtoMessage() {} 1548 func (*TunnelEncapSubTLVEncapsulation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{57} } 1549 1550 func (m *TunnelEncapSubTLVEncapsulation) GetKey() uint32 { 1551 if m != nil { 1552 return m.Key 1553 } 1554 return 0 1555 } 1556 1557 func (m *TunnelEncapSubTLVEncapsulation) GetCookie() []byte { 1558 if m != nil { 1559 return m.Cookie 1560 } 1561 return nil 1562 } 1563 1564 type TunnelEncapSubTLVProtocol struct { 1565 Protocol uint32 `protobuf:"varint,1,opt,name=protocol" json:"protocol,omitempty"` 1566 } 1567 1568 func (m *TunnelEncapSubTLVProtocol) Reset() { *m = TunnelEncapSubTLVProtocol{} } 1569 func (m *TunnelEncapSubTLVProtocol) String() string { return proto.CompactTextString(m) } 1570 func (*TunnelEncapSubTLVProtocol) ProtoMessage() {} 1571 func (*TunnelEncapSubTLVProtocol) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{58} } 1572 1573 func (m *TunnelEncapSubTLVProtocol) GetProtocol() uint32 { 1574 if m != nil { 1575 return m.Protocol 1576 } 1577 return 0 1578 } 1579 1580 type TunnelEncapSubTLVColor struct { 1581 Color uint32 `protobuf:"varint,1,opt,name=color" json:"color,omitempty"` 1582 } 1583 1584 func (m *TunnelEncapSubTLVColor) Reset() { *m = TunnelEncapSubTLVColor{} } 1585 func (m *TunnelEncapSubTLVColor) String() string { return proto.CompactTextString(m) } 1586 func (*TunnelEncapSubTLVColor) ProtoMessage() {} 1587 func (*TunnelEncapSubTLVColor) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{59} } 1588 1589 func (m *TunnelEncapSubTLVColor) GetColor() uint32 { 1590 if m != nil { 1591 return m.Color 1592 } 1593 return 0 1594 } 1595 1596 type TunnelEncapSubTLVUnknown struct { 1597 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 1598 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 1599 } 1600 1601 func (m *TunnelEncapSubTLVUnknown) Reset() { *m = TunnelEncapSubTLVUnknown{} } 1602 func (m *TunnelEncapSubTLVUnknown) String() string { return proto.CompactTextString(m) } 1603 func (*TunnelEncapSubTLVUnknown) ProtoMessage() {} 1604 func (*TunnelEncapSubTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{60} } 1605 1606 func (m *TunnelEncapSubTLVUnknown) GetType() uint32 { 1607 if m != nil { 1608 return m.Type 1609 } 1610 return 0 1611 } 1612 1613 func (m *TunnelEncapSubTLVUnknown) GetValue() []byte { 1614 if m != nil { 1615 return m.Value 1616 } 1617 return nil 1618 } 1619 1620 type TunnelEncapTLV struct { 1621 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 1622 // Each TLV must be one of: 1623 // - TunnelEncapSubTLVEncapsulation 1624 // - TunnelEncapSubTLVProtocol 1625 // - TunnelEncapSubTLVColor 1626 // - TunnelEncapSubTLVUnknown 1627 Tlvs []*google_protobuf.Any `protobuf:"bytes,2,rep,name=tlvs" json:"tlvs,omitempty"` 1628 } 1629 1630 func (m *TunnelEncapTLV) Reset() { *m = TunnelEncapTLV{} } 1631 func (m *TunnelEncapTLV) String() string { return proto.CompactTextString(m) } 1632 func (*TunnelEncapTLV) ProtoMessage() {} 1633 func (*TunnelEncapTLV) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{61} } 1634 1635 func (m *TunnelEncapTLV) GetType() uint32 { 1636 if m != nil { 1637 return m.Type 1638 } 1639 return 0 1640 } 1641 1642 func (m *TunnelEncapTLV) GetTlvs() []*google_protobuf.Any { 1643 if m != nil { 1644 return m.Tlvs 1645 } 1646 return nil 1647 } 1648 1649 type TunnelEncapAttribute struct { 1650 Tlvs []*TunnelEncapTLV `protobuf:"bytes,1,rep,name=tlvs" json:"tlvs,omitempty"` 1651 } 1652 1653 func (m *TunnelEncapAttribute) Reset() { *m = TunnelEncapAttribute{} } 1654 func (m *TunnelEncapAttribute) String() string { return proto.CompactTextString(m) } 1655 func (*TunnelEncapAttribute) ProtoMessage() {} 1656 func (*TunnelEncapAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{62} } 1657 1658 func (m *TunnelEncapAttribute) GetTlvs() []*TunnelEncapTLV { 1659 if m != nil { 1660 return m.Tlvs 1661 } 1662 return nil 1663 } 1664 1665 type IPv6AddressSpecificExtended struct { 1666 IsTransitive bool `protobuf:"varint,1,opt,name=is_transitive,json=isTransitive" json:"is_transitive,omitempty"` 1667 SubType uint32 `protobuf:"varint,2,opt,name=sub_type,json=subType" json:"sub_type,omitempty"` 1668 Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"` 1669 LocalAdmin uint32 `protobuf:"varint,4,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 1670 } 1671 1672 func (m *IPv6AddressSpecificExtended) Reset() { *m = IPv6AddressSpecificExtended{} } 1673 func (m *IPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) } 1674 func (*IPv6AddressSpecificExtended) ProtoMessage() {} 1675 func (*IPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{63} } 1676 1677 func (m *IPv6AddressSpecificExtended) GetIsTransitive() bool { 1678 if m != nil { 1679 return m.IsTransitive 1680 } 1681 return false 1682 } 1683 1684 func (m *IPv6AddressSpecificExtended) GetSubType() uint32 { 1685 if m != nil { 1686 return m.SubType 1687 } 1688 return 0 1689 } 1690 1691 func (m *IPv6AddressSpecificExtended) GetAddress() string { 1692 if m != nil { 1693 return m.Address 1694 } 1695 return "" 1696 } 1697 1698 func (m *IPv6AddressSpecificExtended) GetLocalAdmin() uint32 { 1699 if m != nil { 1700 return m.LocalAdmin 1701 } 1702 return 0 1703 } 1704 1705 type RedirectIPv6AddressSpecificExtended struct { 1706 Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` 1707 LocalAdmin uint32 `protobuf:"varint,2,opt,name=local_admin,json=localAdmin" json:"local_admin,omitempty"` 1708 } 1709 1710 func (m *RedirectIPv6AddressSpecificExtended) Reset() { *m = RedirectIPv6AddressSpecificExtended{} } 1711 func (m *RedirectIPv6AddressSpecificExtended) String() string { return proto.CompactTextString(m) } 1712 func (*RedirectIPv6AddressSpecificExtended) ProtoMessage() {} 1713 func (*RedirectIPv6AddressSpecificExtended) Descriptor() ([]byte, []int) { 1714 return fileDescriptor1, []int{64} 1715 } 1716 1717 func (m *RedirectIPv6AddressSpecificExtended) GetAddress() string { 1718 if m != nil { 1719 return m.Address 1720 } 1721 return "" 1722 } 1723 1724 func (m *RedirectIPv6AddressSpecificExtended) GetLocalAdmin() uint32 { 1725 if m != nil { 1726 return m.LocalAdmin 1727 } 1728 return 0 1729 } 1730 1731 type IP6ExtendedCommunitiesAttribute struct { 1732 // Each Community must be one of: 1733 // - IPv6AddressSpecificExtended 1734 // - RedirectIPv6AddressSpecificExtended 1735 Communities []*google_protobuf.Any `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"` 1736 } 1737 1738 func (m *IP6ExtendedCommunitiesAttribute) Reset() { *m = IP6ExtendedCommunitiesAttribute{} } 1739 func (m *IP6ExtendedCommunitiesAttribute) String() string { return proto.CompactTextString(m) } 1740 func (*IP6ExtendedCommunitiesAttribute) ProtoMessage() {} 1741 func (*IP6ExtendedCommunitiesAttribute) Descriptor() ([]byte, []int) { 1742 return fileDescriptor1, []int{65} 1743 } 1744 1745 func (m *IP6ExtendedCommunitiesAttribute) GetCommunities() []*google_protobuf.Any { 1746 if m != nil { 1747 return m.Communities 1748 } 1749 return nil 1750 } 1751 1752 type AigpTLVIGPMetric struct { 1753 Metric uint64 `protobuf:"varint,1,opt,name=metric" json:"metric,omitempty"` 1754 } 1755 1756 func (m *AigpTLVIGPMetric) Reset() { *m = AigpTLVIGPMetric{} } 1757 func (m *AigpTLVIGPMetric) String() string { return proto.CompactTextString(m) } 1758 func (*AigpTLVIGPMetric) ProtoMessage() {} 1759 func (*AigpTLVIGPMetric) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{66} } 1760 1761 func (m *AigpTLVIGPMetric) GetMetric() uint64 { 1762 if m != nil { 1763 return m.Metric 1764 } 1765 return 0 1766 } 1767 1768 type AigpTLVUnknown struct { 1769 Type uint32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` 1770 Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 1771 } 1772 1773 func (m *AigpTLVUnknown) Reset() { *m = AigpTLVUnknown{} } 1774 func (m *AigpTLVUnknown) String() string { return proto.CompactTextString(m) } 1775 func (*AigpTLVUnknown) ProtoMessage() {} 1776 func (*AigpTLVUnknown) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{67} } 1777 1778 func (m *AigpTLVUnknown) GetType() uint32 { 1779 if m != nil { 1780 return m.Type 1781 } 1782 return 0 1783 } 1784 1785 func (m *AigpTLVUnknown) GetValue() []byte { 1786 if m != nil { 1787 return m.Value 1788 } 1789 return nil 1790 } 1791 1792 type AigpAttribute struct { 1793 // Each TLV must be one of: 1794 // - AigpTLVIGPMetric 1795 // - AigpTLVUnknown 1796 Tlvs []*google_protobuf.Any `protobuf:"bytes,1,rep,name=tlvs" json:"tlvs,omitempty"` 1797 } 1798 1799 func (m *AigpAttribute) Reset() { *m = AigpAttribute{} } 1800 func (m *AigpAttribute) String() string { return proto.CompactTextString(m) } 1801 func (*AigpAttribute) ProtoMessage() {} 1802 func (*AigpAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{68} } 1803 1804 func (m *AigpAttribute) GetTlvs() []*google_protobuf.Any { 1805 if m != nil { 1806 return m.Tlvs 1807 } 1808 return nil 1809 } 1810 1811 type LargeCommunity struct { 1812 GlobalAdmin uint32 `protobuf:"varint,1,opt,name=global_admin,json=globalAdmin" json:"global_admin,omitempty"` 1813 LocalData1 uint32 `protobuf:"varint,2,opt,name=local_data1,json=localData1" json:"local_data1,omitempty"` 1814 LocalData2 uint32 `protobuf:"varint,3,opt,name=local_data2,json=localData2" json:"local_data2,omitempty"` 1815 } 1816 1817 func (m *LargeCommunity) Reset() { *m = LargeCommunity{} } 1818 func (m *LargeCommunity) String() string { return proto.CompactTextString(m) } 1819 func (*LargeCommunity) ProtoMessage() {} 1820 func (*LargeCommunity) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{69} } 1821 1822 func (m *LargeCommunity) GetGlobalAdmin() uint32 { 1823 if m != nil { 1824 return m.GlobalAdmin 1825 } 1826 return 0 1827 } 1828 1829 func (m *LargeCommunity) GetLocalData1() uint32 { 1830 if m != nil { 1831 return m.LocalData1 1832 } 1833 return 0 1834 } 1835 1836 func (m *LargeCommunity) GetLocalData2() uint32 { 1837 if m != nil { 1838 return m.LocalData2 1839 } 1840 return 0 1841 } 1842 1843 type LargeCommunitiesAttribute struct { 1844 Communities []*LargeCommunity `protobuf:"bytes,1,rep,name=communities" json:"communities,omitempty"` 1845 } 1846 1847 func (m *LargeCommunitiesAttribute) Reset() { *m = LargeCommunitiesAttribute{} } 1848 func (m *LargeCommunitiesAttribute) String() string { return proto.CompactTextString(m) } 1849 func (*LargeCommunitiesAttribute) ProtoMessage() {} 1850 func (*LargeCommunitiesAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{70} } 1851 1852 func (m *LargeCommunitiesAttribute) GetCommunities() []*LargeCommunity { 1853 if m != nil { 1854 return m.Communities 1855 } 1856 return nil 1857 } 1858 1859 type UnknownAttribute struct { 1860 Flags uint32 `protobuf:"varint,1,opt,name=flags" json:"flags,omitempty"` 1861 Type uint32 `protobuf:"varint,2,opt,name=type" json:"type,omitempty"` 1862 Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"` 1863 } 1864 1865 func (m *UnknownAttribute) Reset() { *m = UnknownAttribute{} } 1866 func (m *UnknownAttribute) String() string { return proto.CompactTextString(m) } 1867 func (*UnknownAttribute) ProtoMessage() {} 1868 func (*UnknownAttribute) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{71} } 1869 1870 func (m *UnknownAttribute) GetFlags() uint32 { 1871 if m != nil { 1872 return m.Flags 1873 } 1874 return 0 1875 } 1876 1877 func (m *UnknownAttribute) GetType() uint32 { 1878 if m != nil { 1879 return m.Type 1880 } 1881 return 0 1882 } 1883 1884 func (m *UnknownAttribute) GetValue() []byte { 1885 if m != nil { 1886 return m.Value 1887 } 1888 return nil 1889 } 1890 1891 func init() { 1892 proto.RegisterType((*OriginAttribute)(nil), "gobgpapi.OriginAttribute") 1893 proto.RegisterType((*AsSegment)(nil), "gobgpapi.AsSegment") 1894 proto.RegisterType((*AsPathAttribute)(nil), "gobgpapi.AsPathAttribute") 1895 proto.RegisterType((*NextHopAttribute)(nil), "gobgpapi.NextHopAttribute") 1896 proto.RegisterType((*MultiExitDiscAttribute)(nil), "gobgpapi.MultiExitDiscAttribute") 1897 proto.RegisterType((*LocalPrefAttribute)(nil), "gobgpapi.LocalPrefAttribute") 1898 proto.RegisterType((*AtomicAggregateAttribute)(nil), "gobgpapi.AtomicAggregateAttribute") 1899 proto.RegisterType((*AggregatorAttribute)(nil), "gobgpapi.AggregatorAttribute") 1900 proto.RegisterType((*CommunitiesAttribute)(nil), "gobgpapi.CommunitiesAttribute") 1901 proto.RegisterType((*OriginatorIdAttribute)(nil), "gobgpapi.OriginatorIdAttribute") 1902 proto.RegisterType((*ClusterListAttribute)(nil), "gobgpapi.ClusterListAttribute") 1903 proto.RegisterType((*IPAddressPrefix)(nil), "gobgpapi.IPAddressPrefix") 1904 proto.RegisterType((*LabeledIPAddressPrefix)(nil), "gobgpapi.LabeledIPAddressPrefix") 1905 proto.RegisterType((*EncapsulationNLRI)(nil), "gobgpapi.EncapsulationNLRI") 1906 proto.RegisterType((*RouteDistinguisherTwoOctetAS)(nil), "gobgpapi.RouteDistinguisherTwoOctetAS") 1907 proto.RegisterType((*RouteDistinguisherIPAddress)(nil), "gobgpapi.RouteDistinguisherIPAddress") 1908 proto.RegisterType((*RouteDistinguisherFourOctetAS)(nil), "gobgpapi.RouteDistinguisherFourOctetAS") 1909 proto.RegisterType((*EthernetSegmentIdentifier)(nil), "gobgpapi.EthernetSegmentIdentifier") 1910 proto.RegisterType((*EVPNEthernetAutoDiscoveryRoute)(nil), "gobgpapi.EVPNEthernetAutoDiscoveryRoute") 1911 proto.RegisterType((*EVPNMACIPAdvertisementRoute)(nil), "gobgpapi.EVPNMACIPAdvertisementRoute") 1912 proto.RegisterType((*EVPNInclusiveMulticastEthernetTagRoute)(nil), "gobgpapi.EVPNInclusiveMulticastEthernetTagRoute") 1913 proto.RegisterType((*EVPNEthernetSegmentRoute)(nil), "gobgpapi.EVPNEthernetSegmentRoute") 1914 proto.RegisterType((*EVPNIPPrefixRoute)(nil), "gobgpapi.EVPNIPPrefixRoute") 1915 proto.RegisterType((*LabeledVPNIPAddressPrefix)(nil), "gobgpapi.LabeledVPNIPAddressPrefix") 1916 proto.RegisterType((*RouteTargetMembershipNLRI)(nil), "gobgpapi.RouteTargetMembershipNLRI") 1917 proto.RegisterType((*FlowSpecIPPrefix)(nil), "gobgpapi.FlowSpecIPPrefix") 1918 proto.RegisterType((*FlowSpecMAC)(nil), "gobgpapi.FlowSpecMAC") 1919 proto.RegisterType((*FlowSpecComponentItem)(nil), "gobgpapi.FlowSpecComponentItem") 1920 proto.RegisterType((*FlowSpecComponent)(nil), "gobgpapi.FlowSpecComponent") 1921 proto.RegisterType((*FlowSpecNLRI)(nil), "gobgpapi.FlowSpecNLRI") 1922 proto.RegisterType((*VPNFlowSpecNLRI)(nil), "gobgpapi.VPNFlowSpecNLRI") 1923 proto.RegisterType((*OpaqueNLRI)(nil), "gobgpapi.OpaqueNLRI") 1924 proto.RegisterType((*MpReachNLRIAttribute)(nil), "gobgpapi.MpReachNLRIAttribute") 1925 proto.RegisterType((*MpUnreachNLRIAttribute)(nil), "gobgpapi.MpUnreachNLRIAttribute") 1926 proto.RegisterType((*TwoOctetAsSpecificExtended)(nil), "gobgpapi.TwoOctetAsSpecificExtended") 1927 proto.RegisterType((*IPv4AddressSpecificExtended)(nil), "gobgpapi.IPv4AddressSpecificExtended") 1928 proto.RegisterType((*FourOctetAsSpecificExtended)(nil), "gobgpapi.FourOctetAsSpecificExtended") 1929 proto.RegisterType((*ValidationExtended)(nil), "gobgpapi.ValidationExtended") 1930 proto.RegisterType((*ColorExtended)(nil), "gobgpapi.ColorExtended") 1931 proto.RegisterType((*EncapExtended)(nil), "gobgpapi.EncapExtended") 1932 proto.RegisterType((*DefaultGatewayExtended)(nil), "gobgpapi.DefaultGatewayExtended") 1933 proto.RegisterType((*OpaqueExtended)(nil), "gobgpapi.OpaqueExtended") 1934 proto.RegisterType((*ESILabelExtended)(nil), "gobgpapi.ESILabelExtended") 1935 proto.RegisterType((*ESImportRouteTarget)(nil), "gobgpapi.ESImportRouteTarget") 1936 proto.RegisterType((*MacMobilityExtended)(nil), "gobgpapi.MacMobilityExtended") 1937 proto.RegisterType((*RouterMacExtended)(nil), "gobgpapi.RouterMacExtended") 1938 proto.RegisterType((*TrafficRateExtended)(nil), "gobgpapi.TrafficRateExtended") 1939 proto.RegisterType((*TrafficActionExtended)(nil), "gobgpapi.TrafficActionExtended") 1940 proto.RegisterType((*RedirectTwoOctetAsSpecificExtended)(nil), "gobgpapi.RedirectTwoOctetAsSpecificExtended") 1941 proto.RegisterType((*RedirectIPv4AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv4AddressSpecificExtended") 1942 proto.RegisterType((*RedirectFourOctetAsSpecificExtended)(nil), "gobgpapi.RedirectFourOctetAsSpecificExtended") 1943 proto.RegisterType((*TrafficRemarkExtended)(nil), "gobgpapi.TrafficRemarkExtended") 1944 proto.RegisterType((*UnknownExtended)(nil), "gobgpapi.UnknownExtended") 1945 proto.RegisterType((*ExtendedCommunitiesAttribute)(nil), "gobgpapi.ExtendedCommunitiesAttribute") 1946 proto.RegisterType((*As4PathAttribute)(nil), "gobgpapi.As4PathAttribute") 1947 proto.RegisterType((*As4AggregatorAttribute)(nil), "gobgpapi.As4AggregatorAttribute") 1948 proto.RegisterType((*PmsiTunnelAttribute)(nil), "gobgpapi.PmsiTunnelAttribute") 1949 proto.RegisterType((*TunnelEncapSubTLVEncapsulation)(nil), "gobgpapi.TunnelEncapSubTLVEncapsulation") 1950 proto.RegisterType((*TunnelEncapSubTLVProtocol)(nil), "gobgpapi.TunnelEncapSubTLVProtocol") 1951 proto.RegisterType((*TunnelEncapSubTLVColor)(nil), "gobgpapi.TunnelEncapSubTLVColor") 1952 proto.RegisterType((*TunnelEncapSubTLVUnknown)(nil), "gobgpapi.TunnelEncapSubTLVUnknown") 1953 proto.RegisterType((*TunnelEncapTLV)(nil), "gobgpapi.TunnelEncapTLV") 1954 proto.RegisterType((*TunnelEncapAttribute)(nil), "gobgpapi.TunnelEncapAttribute") 1955 proto.RegisterType((*IPv6AddressSpecificExtended)(nil), "gobgpapi.IPv6AddressSpecificExtended") 1956 proto.RegisterType((*RedirectIPv6AddressSpecificExtended)(nil), "gobgpapi.RedirectIPv6AddressSpecificExtended") 1957 proto.RegisterType((*IP6ExtendedCommunitiesAttribute)(nil), "gobgpapi.IP6ExtendedCommunitiesAttribute") 1958 proto.RegisterType((*AigpTLVIGPMetric)(nil), "gobgpapi.AigpTLVIGPMetric") 1959 proto.RegisterType((*AigpTLVUnknown)(nil), "gobgpapi.AigpTLVUnknown") 1960 proto.RegisterType((*AigpAttribute)(nil), "gobgpapi.AigpAttribute") 1961 proto.RegisterType((*LargeCommunity)(nil), "gobgpapi.LargeCommunity") 1962 proto.RegisterType((*LargeCommunitiesAttribute)(nil), "gobgpapi.LargeCommunitiesAttribute") 1963 proto.RegisterType((*UnknownAttribute)(nil), "gobgpapi.UnknownAttribute") 1964 } 1965 1966 func init() { proto.RegisterFile("attribute.proto", fileDescriptor1) } 1967 1968 var fileDescriptor1 = []byte{ 1969 // 1881 bytes of a gzipped FileDescriptorProto 1970 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0x4b, 0x73, 0x1b, 0xc7, 1971 0x11, 0x2e, 0x2c, 0x40, 0x0a, 0x68, 0x10, 0x24, 0x04, 0x52, 0x2c, 0x90, 0xb4, 0x4c, 0x65, 0x14, 1972 0x27, 0x8c, 0x12, 0x53, 0x09, 0x2d, 0x2b, 0x91, 0x5c, 0xa9, 0x14, 0x4c, 0xd2, 0x36, 0x62, 0x82, 1973 0x82, 0x97, 0x14, 0x53, 0xb9, 0x04, 0x19, 0xec, 0x0e, 0x96, 0x53, 0xdc, 0x97, 0x77, 0x66, 0xf9, 1974 0xf8, 0x09, 0x3e, 0x24, 0xa5, 0x53, 0x2a, 0xbf, 0x24, 0xff, 0x2c, 0xf7, 0xd4, 0xbc, 0xf6, 0x41, 1975 0xf0, 0x21, 0x4a, 0x51, 0x95, 0x6e, 0xdb, 0xb3, 0x3d, 0xdd, 0x3d, 0xdf, 0x74, 0x7f, 0xdd, 0xbb, 1976 0xb0, 0x80, 0x39, 0x4f, 0xe8, 0x38, 0xe5, 0x64, 0x33, 0x4e, 0x22, 0x1e, 0x75, 0xea, 0x5e, 0x34, 1977 0xf6, 0x62, 0x1c, 0xd3, 0xd5, 0x15, 0x2f, 0x8a, 0x3c, 0x9f, 0x3c, 0x95, 0xeb, 0xe3, 0x74, 0xf2, 1978 0x14, 0x87, 0x17, 0x4a, 0x69, 0xb5, 0x29, 0x95, 0x94, 0x80, 0x7e, 0x05, 0x0b, 0xaf, 0x12, 0xea, 1979 0xd1, 0xb0, 0x67, 0x4c, 0x75, 0x96, 0x61, 0x36, 0x92, 0x4b, 0xdd, 0xca, 0xa3, 0xca, 0x46, 0xcb, 1980 0xd6, 0x12, 0x7a, 0x01, 0x8d, 0x1e, 0x3b, 0x20, 0x5e, 0x40, 0x42, 0xde, 0xe9, 0x40, 0x8d, 0x5f, 1981 0xc4, 0x44, 0xab, 0xc8, 0xe7, 0x4e, 0x17, 0xee, 0x85, 0x69, 0x30, 0x26, 0x09, 0xeb, 0x5a, 0x8f, 1982 0xaa, 0x1b, 0x2d, 0xdb, 0x88, 0xe8, 0x6b, 0x58, 0xe8, 0xb1, 0x21, 0xe6, 0xc7, 0xb9, 0x97, 0xa7, 1983 0x50, 0x67, 0xca, 0x16, 0xeb, 0x56, 0x1e, 0x55, 0x37, 0x9a, 0x5b, 0x8b, 0x9b, 0x26, 0xfa, 0xcd, 1984 0xcc, 0x8f, 0x9d, 0x29, 0xa1, 0xcf, 0xa1, 0xbd, 0x4f, 0xce, 0xf9, 0x77, 0x51, 0x9c, 0x1b, 0x59, 1985 0x81, 0x7a, 0x48, 0xce, 0xf9, 0xe8, 0x38, 0x8a, 0x65, 0x24, 0x0d, 0xfb, 0x5e, 0xa8, 0x74, 0xd0, 1986 0x13, 0x58, 0x1e, 0xa4, 0x3e, 0xa7, 0xbb, 0xe7, 0x94, 0xef, 0x50, 0xe6, 0xe4, 0x9b, 0xda, 0x50, 1987 0x0d, 0x88, 0xab, 0x23, 0x17, 0x8f, 0xe8, 0x0b, 0xe8, 0xec, 0x45, 0x0e, 0xf6, 0x87, 0x09, 0x99, 1988 0xe4, 0x7a, 0x0f, 0x01, 0x7c, 0xb1, 0x3a, 0x8a, 0x13, 0x32, 0xd1, 0xea, 0x0d, 0xdf, 0xe8, 0xa1, 1989 0x55, 0xe8, 0xf6, 0x78, 0x14, 0x50, 0xa7, 0xe7, 0x79, 0x09, 0xf1, 0x30, 0x27, 0xd9, 0x56, 0xf4, 1990 0x27, 0x58, 0x34, 0xab, 0x51, 0x92, 0x5b, 0x9c, 0x07, 0x0b, 0x0b, 0x6c, 0x84, 0x25, 0x0b, 0x33, 1991 0x01, 0x18, 0x76, 0xdd, 0x84, 0x30, 0xd6, 0xad, 0xaa, 0xe8, 0xb5, 0x88, 0xfe, 0x00, 0x4b, 0xdb, 1992 0x51, 0x10, 0xa4, 0x21, 0xe5, 0x94, 0xb0, 0xdc, 0xc2, 0x23, 0x68, 0x3a, 0xf9, 0xba, 0x04, 0xae, 1993 0x65, 0x17, 0x97, 0xd0, 0x2f, 0xe1, 0x81, 0xba, 0x50, 0xe1, 0xba, 0xef, 0x96, 0x9c, 0x53, 0x57, 1994 0xa3, 0x64, 0x51, 0x17, 0x6d, 0xc0, 0xd2, 0xb6, 0x9f, 0x32, 0x4e, 0x92, 0x3d, 0xca, 0x78, 0x09, 1995 0x1e, 0xea, 0x2a, 0xd3, 0x0d, 0x5b, 0x3c, 0xa2, 0xef, 0x60, 0xa1, 0x3f, 0xec, 0xa9, 0xc8, 0xc4, 1996 0xd1, 0xe9, 0xb9, 0xc0, 0x26, 0x96, 0x4f, 0x23, 0x9f, 0x98, 0x3c, 0x69, 0xa8, 0x95, 0x3d, 0x12, 1997 0x8a, 0x14, 0x52, 0x82, 0x3c, 0x6c, 0xc3, 0xd6, 0x12, 0xf2, 0x60, 0x79, 0x0f, 0x8f, 0x89, 0x4f, 1998 0xdc, 0xcb, 0x06, 0x97, 0x61, 0xd6, 0x17, 0x6f, 0xcc, 0x99, 0xb4, 0x74, 0xc9, 0x91, 0x75, 0xbd, 1999 0xa3, 0x6a, 0xc9, 0xd1, 0xe7, 0x70, 0x7f, 0x37, 0x74, 0x70, 0xcc, 0x52, 0x1f, 0x73, 0x1a, 0x85, 2000 0xfb, 0x7b, 0x76, 0xbf, 0x08, 0x77, 0xa5, 0x0c, 0xf7, 0x10, 0x3e, 0xb1, 0xa3, 0x94, 0x93, 0x1d, 2001 0xca, 0x38, 0x0d, 0xbd, 0x94, 0xb2, 0x63, 0x92, 0x1c, 0x9e, 0x45, 0xaf, 0x1c, 0x4e, 0x78, 0xef, 2002 0xa0, 0xb3, 0x04, 0x33, 0xd8, 0x0d, 0xb2, 0x8a, 0x50, 0x42, 0x67, 0x15, 0xea, 0x98, 0x31, 0xea, 2003 0x85, 0xc4, 0xd5, 0x91, 0x65, 0x32, 0x7a, 0x05, 0x6b, 0xd3, 0x16, 0xb3, 0x43, 0x97, 0x0d, 0x36, 2004 0xde, 0xc6, 0xe0, 0x0f, 0xf0, 0x70, 0xda, 0xe0, 0x37, 0x51, 0x9a, 0xbc, 0x7b, 0x8c, 0xbb, 0xb0, 2005 0xb2, 0xcb, 0x8f, 0x49, 0x12, 0x12, 0xae, 0xcb, 0xad, 0xef, 0x92, 0x90, 0xd3, 0x09, 0x25, 0xc9, 2006 0x95, 0x05, 0xbe, 0x04, 0x33, 0xa7, 0xd8, 0x4f, 0x89, 0xb4, 0x34, 0x67, 0x2b, 0x01, 0xfd, 0xa7, 2007 0x02, 0x9f, 0xee, 0x1e, 0x0d, 0xf7, 0x8d, 0xad, 0x5e, 0xca, 0x23, 0x51, 0x71, 0xd1, 0x29, 0x49, 2008 0x2e, 0x64, 0xcc, 0x9d, 0x9f, 0x83, 0x95, 0xa8, 0xdc, 0x6b, 0x6e, 0x2d, 0x6d, 0x2a, 0x6a, 0xda, 2009 0x34, 0xd4, 0xb4, 0xd9, 0x0b, 0x2f, 0x6c, 0x2b, 0x71, 0x3b, 0x5f, 0x42, 0x95, 0x30, 0x2a, 0x8d, 2010 0x37, 0xb7, 0x1e, 0xe7, 0x6c, 0x70, 0x6d, 0x90, 0xb6, 0xd0, 0xef, 0xfc, 0x0c, 0xe6, 0x88, 0xd6, 2011 0x18, 0x71, 0xec, 0xc9, 0x4c, 0x68, 0xd9, 0x4d, 0xb3, 0x76, 0x88, 0x3d, 0x11, 0xb8, 0xcc, 0xa7, 2012 0x6e, 0x4d, 0x61, 0x23, 0x05, 0xf4, 0xdf, 0x0a, 0xac, 0x89, 0xc0, 0x07, 0xbd, 0x6d, 0x71, 0x33, 2013 0xa7, 0x24, 0xe1, 0x94, 0x11, 0x49, 0x3b, 0x1f, 0x45, 0xd4, 0xeb, 0xd0, 0x0c, 0xb0, 0x33, 0x32, 2014 0x39, 0x5b, 0x93, 0xa9, 0x02, 0x01, 0x76, 0x4c, 0x16, 0x3d, 0x04, 0xa0, 0x71, 0xf6, 0x7e, 0x46, 2015 0xbe, 0x6f, 0xd0, 0xd8, 0xbc, 0xce, 0x6b, 0x6a, 0xb6, 0x58, 0x53, 0xe8, 0x4d, 0x05, 0x7e, 0x21, 2016 0xce, 0xdd, 0x0f, 0x1d, 0x3f, 0x65, 0xf4, 0x94, 0x48, 0xa2, 0x74, 0x30, 0xe3, 0xbb, 0xb9, 0xf7, 2017 0xbb, 0x40, 0x70, 0xf9, 0x2c, 0xd6, 0xf4, 0x59, 0xca, 0xa1, 0x56, 0x2f, 0x85, 0x8a, 0xfe, 0x55, 2018 0x81, 0x6e, 0x31, 0x87, 0x0c, 0xfd, 0x7f, 0xf8, 0x7b, 0xb8, 0x25, 0xb0, 0x9f, 0x2c, 0xb8, 0x2f, 2019 0xb1, 0x1a, 0x2a, 0xa2, 0xfa, 0x38, 0x32, 0x63, 0x0d, 0x1a, 0x34, 0x1e, 0x69, 0xe6, 0x53, 0x79, 2020 0x51, 0xa7, 0xb1, 0xa6, 0x52, 0x04, 0xad, 0xec, 0xa5, 0x64, 0xcd, 0x19, 0x65, 0xc0, 0x28, 0x08, 2021 0xde, 0x7c, 0x08, 0xe0, 0x9d, 0x65, 0xa7, 0x9e, 0x55, 0xa7, 0xf6, 0xce, 0x0a, 0xf4, 0xa4, 0xea, 2022 0xe5, 0x5e, 0xb1, 0x5e, 0xde, 0x54, 0x60, 0x45, 0xd3, 0xb7, 0x44, 0xe4, 0xed, 0x18, 0x5c, 0x61, 2023 0x65, 0xdd, 0x82, 0x55, 0x99, 0xe7, 0xab, 0xd7, 0xf3, 0x7c, 0xad, 0xc4, 0xf3, 0x3f, 0xc0, 0x8a, 2024 0xbc, 0x91, 0x43, 0x9c, 0x78, 0x84, 0x0f, 0x88, 0x1c, 0x37, 0x8e, 0x69, 0x2c, 0xf9, 0x5e, 0xb5, 2025 0xdb, 0x4a, 0xd6, 0x6e, 0x45, 0x24, 0xfc, 0x96, 0x48, 0x38, 0x4a, 0xa1, 0xfd, 0x8d, 0x1f, 0x9d, 2026 0x1d, 0xc4, 0xc4, 0x31, 0x97, 0x7e, 0x25, 0x19, 0xbe, 0x5b, 0x67, 0x92, 0xd3, 0xd5, 0x64, 0xc2, 2027 0x08, 0xd7, 0x5c, 0xa4, 0x25, 0xf4, 0x15, 0x34, 0x8d, 0xdb, 0x41, 0x6f, 0xfb, 0xba, 0xf9, 0xca, 2028 0xdc, 0x98, 0x55, 0xee, 0x5f, 0x7f, 0x84, 0x07, 0x66, 0xf3, 0x76, 0x14, 0xc4, 0x51, 0x28, 0xd2, 2029 0x8a, 0x93, 0x40, 0x40, 0xa0, 0x47, 0xa3, 0x96, 0x6d, 0x45, 0x71, 0x99, 0xc1, 0x6b, 0x86, 0xc1, 2030 0xff, 0x06, 0xf7, 0xa7, 0xb6, 0x5f, 0x19, 0xc1, 0x97, 0x30, 0x43, 0x39, 0x09, 0xd4, 0x7c, 0xd7, 2031 0xdc, 0x5a, 0xcf, 0x73, 0xfa, 0x4a, 0xf7, 0xb6, 0xd2, 0x46, 0x2f, 0x61, 0xce, 0xbc, 0x97, 0x17, 2032 0xf3, 0x04, 0x66, 0x92, 0xd4, 0x27, 0x66, 0xf0, 0xbb, 0xfa, 0x2e, 0x94, 0x0a, 0x72, 0x60, 0xe1, 2033 0x68, 0xb8, 0x5f, 0xda, 0xfe, 0x76, 0xd5, 0x97, 0x39, 0xb1, 0x6e, 0x77, 0xf2, 0x0c, 0xe0, 0x55, 2034 0x8c, 0x7f, 0x4c, 0x89, 0xb4, 0xdf, 0x86, 0xea, 0x09, 0xb9, 0x90, 0x0e, 0xe6, 0x6c, 0xf1, 0x78, 2035 0x4d, 0xe3, 0xfb, 0xa9, 0x02, 0x4b, 0x83, 0xd8, 0x26, 0xd8, 0x39, 0x16, 0xfb, 0xf2, 0x11, 0x6a, 2036 0x03, 0x66, 0x27, 0x38, 0xa0, 0xfe, 0x85, 0x0e, 0xb2, 0x5d, 0xc0, 0x49, 0xae, 0xdb, 0xfa, 0xbd, 2037 0x28, 0x64, 0x33, 0xc0, 0xaa, 0x40, 0x1b, 0x76, 0x5d, 0x4f, 0xb0, 0x4c, 0x9c, 0x20, 0xf4, 0x13, 2038 0x2a, 0x58, 0xe9, 0x86, 0x13, 0x48, 0x15, 0x14, 0xc2, 0xf2, 0x20, 0x7e, 0x1d, 0x26, 0xef, 0x13, 2039 0xcc, 0x5d, 0xfc, 0xfd, 0xa3, 0x02, 0xab, 0xd9, 0x80, 0xc4, 0xc4, 0xd5, 0xd0, 0x09, 0x75, 0x76, 2040 0xcf, 0x39, 0x09, 0x5d, 0xe2, 0x76, 0x1e, 0x43, 0x8b, 0xb2, 0x11, 0x4f, 0x70, 0xc8, 0x28, 0xa7, 2041 0xa7, 0x2a, 0x8b, 0xea, 0xf6, 0x1c, 0x65, 0x87, 0xd9, 0x9a, 0x98, 0xde, 0x59, 0x3a, 0x1e, 0xc9, 2042 0x2c, 0x53, 0xf5, 0x73, 0x8f, 0xa5, 0xe3, 0x43, 0x91, 0x68, 0xaa, 0x74, 0xab, 0x59, 0xe9, 0xae, 2043 0x43, 0x53, 0xcd, 0xe2, 0x6a, 0xc4, 0x51, 0xa5, 0xa3, 0xc6, 0xf3, 0x9e, 0x58, 0x41, 0xff, 0xae, 2044 0xc0, 0x5a, 0x7f, 0x78, 0xfa, 0x4c, 0x73, 0xd2, 0xff, 0x3d, 0xa0, 0x6b, 0x47, 0xf5, 0xdb, 0x43, 2045 0xfb, 0x67, 0x05, 0xd6, 0xf2, 0x41, 0xed, 0x23, 0xc0, 0xea, 0x09, 0x74, 0x8e, 0xb0, 0x4f, 0x5d, 2046 0x39, 0x19, 0x67, 0x61, 0x2c, 0xc1, 0x0c, 0xe3, 0x98, 0x9b, 0x82, 0x57, 0x02, 0xfa, 0x0c, 0x5a, 2047 0xdb, 0x91, 0x1f, 0x25, 0x45, 0x35, 0x47, 0x2c, 0x18, 0x35, 0x29, 0xa0, 0xdf, 0x42, 0x4b, 0xce, 2048 0xdb, 0x99, 0xda, 0x3a, 0x34, 0x79, 0x1a, 0x86, 0xc4, 0x1f, 0x15, 0x48, 0x04, 0xd4, 0x92, 0x88, 2049 0x1a, 0x75, 0x61, 0x79, 0x87, 0x4c, 0x70, 0xea, 0xf3, 0x6f, 0x31, 0x27, 0x67, 0xf8, 0xc2, 0x6c, 2050 0x45, 0xdf, 0xc3, 0xbc, 0x2a, 0xc6, 0xbb, 0x21, 0x94, 0xd5, 0x68, 0xb5, 0x58, 0xa3, 0x36, 0xb4, 2051 0x77, 0x0f, 0xfa, 0xb2, 0x6b, 0x65, 0xe6, 0x36, 0xa0, 0x4d, 0xd9, 0x88, 0xd1, 0xd0, 0xf3, 0xc9, 2052 0x08, 0x3b, 0x05, 0x8b, 0xf3, 0x94, 0x1d, 0xc8, 0xe5, 0x9e, 0x63, 0x6c, 0xaa, 0x3e, 0x68, 0x15, 2053 0xfb, 0xe0, 0x16, 0x2c, 0xee, 0x1e, 0xf4, 0x83, 0x38, 0x4a, 0x78, 0xa1, 0xf9, 0x88, 0x5a, 0x26, 2054 0x6c, 0x44, 0xe5, 0xba, 0x9e, 0xeb, 0xeb, 0x84, 0x29, 0x3d, 0xf4, 0x1a, 0x16, 0x07, 0xd8, 0x19, 2055 0x44, 0x63, 0xea, 0x53, 0x9e, 0x9d, 0x55, 0x36, 0x72, 0x36, 0x62, 0x9c, 0x3a, 0x27, 0x17, 0x3a, 2056 0x86, 0x3a, 0x65, 0x07, 0x52, 0x16, 0x83, 0x00, 0x23, 0x3f, 0xa6, 0x24, 0x74, 0xc8, 0x28, 0x4c, 2057 0x03, 0x33, 0x56, 0x99, 0xb5, 0xfd, 0x34, 0x40, 0x9f, 0xc1, 0x7d, 0x19, 0x42, 0x32, 0xc0, 0x79, 2058 0x42, 0x89, 0x0f, 0x5c, 0xec, 0xe8, 0x10, 0xc4, 0x23, 0x7a, 0x01, 0x8b, 0x87, 0x09, 0x9e, 0x4c, 2059 0xa8, 0x63, 0x63, 0x9e, 0xe3, 0x7a, 0xb9, 0x41, 0x76, 0xa0, 0x96, 0x88, 0x0c, 0x10, 0x8e, 0x2c, 2060 0x5b, 0x3e, 0xa3, 0xef, 0xe1, 0x81, 0xde, 0x2a, 0x30, 0x29, 0xe4, 0xcb, 0x2a, 0xd4, 0x39, 0x49, 2061 0x02, 0x1a, 0x62, 0xdf, 0x44, 0x6e, 0x64, 0xd1, 0xe4, 0x18, 0x0e, 0x62, 0x5f, 0x99, 0xaa, 0xdb, 2062 0x5a, 0x42, 0xaf, 0x01, 0xd9, 0xc4, 0xa5, 0x09, 0x71, 0xf8, 0x0d, 0xe4, 0x71, 0x39, 0xac, 0x4b, 2063 0x09, 0x6d, 0x4d, 0x25, 0xf4, 0xdf, 0xe1, 0xb1, 0x31, 0x7b, 0x13, 0x07, 0x5c, 0xfb, 0xfd, 0x77, 2064 0xbb, 0x87, 0xa3, 0xdc, 0xc3, 0x4d, 0xa5, 0x7c, 0xe7, 0xc8, 0x7f, 0x9d, 0xa1, 0x6b, 0x93, 0x00, 2065 0x27, 0x27, 0x99, 0xa5, 0x0e, 0xd4, 0x5c, 0xe6, 0x98, 0xd6, 0x2d, 0x9f, 0xd1, 0x57, 0xb0, 0xf0, 2066 0x3a, 0x3c, 0x09, 0xa3, 0xb3, 0xb0, 0xa8, 0xf6, 0x96, 0x5f, 0x69, 0x47, 0xf0, 0x89, 0xd9, 0x75, 2067 0xe5, 0x9f, 0x85, 0xe7, 0xd3, 0x7f, 0x16, 0xae, 0x6b, 0x01, 0xa5, 0xff, 0x0d, 0xdb, 0xd0, 0xee, 2068 0xb1, 0x67, 0xef, 0xf9, 0x6f, 0xe7, 0x6b, 0x58, 0xee, 0xb1, 0x67, 0xef, 0xf7, 0xcb, 0x84, 0xc0, 2069 0xe2, 0x30, 0x60, 0xf4, 0x50, 0x52, 0x4c, 0x6e, 0x60, 0x09, 0x66, 0x26, 0x3e, 0xf6, 0xcc, 0xad, 2070 0x28, 0x21, 0xc3, 0xcd, 0x2a, 0xe3, 0xa6, 0x8a, 0xbd, 0x5a, 0x28, 0x76, 0xfd, 0xdb, 0xa4, 0x26, 2071 0xa1, 0xb4, 0xa8, 0x8b, 0xfe, 0x0c, 0x9f, 0x2a, 0x17, 0x92, 0xef, 0x0e, 0xd2, 0xf1, 0xe1, 0xde, 2072 0x51, 0xe9, 0x57, 0x43, 0x71, 0x7c, 0x68, 0xa9, 0xf1, 0x61, 0x19, 0x66, 0x9d, 0x28, 0x3a, 0xa1, 2073 0xe6, 0x4a, 0xb4, 0x84, 0x7e, 0x0f, 0x2b, 0x53, 0xb6, 0x86, 0x02, 0x69, 0x27, 0xf2, 0x45, 0x7d, 2074 0xc5, 0xfa, 0x59, 0xdb, 0xca, 0x64, 0xb4, 0x09, 0xcb, 0x53, 0x1b, 0x25, 0x4d, 0x5f, 0x43, 0xcf, 2075 0x3b, 0xd0, 0x9d, 0xd2, 0xd7, 0xa9, 0x74, 0x87, 0x14, 0xda, 0x87, 0xf9, 0x82, 0x95, 0xc3, 0xbd, 2076 0xa3, 0x2b, 0xf7, 0x6e, 0x40, 0x8d, 0xfb, 0xa7, 0x37, 0x8f, 0x5d, 0x52, 0x03, 0xed, 0xc0, 0x52, 2077 0xc1, 0x5e, 0x7e, 0x65, 0xbf, 0xd1, 0x16, 0x54, 0xea, 0x74, 0xf3, 0xd4, 0x29, 0x7b, 0xd7, 0x56, 2078 0x74, 0xe7, 0x7f, 0xfe, 0x11, 0x76, 0xfe, 0x32, 0x2f, 0x3d, 0xff, 0x00, 0xbc, 0xf4, 0x57, 0x58, 2079 0xef, 0x0f, 0x9f, 0x7f, 0x90, 0xc2, 0x7e, 0x02, 0xed, 0x1e, 0xf5, 0x04, 0xd0, 0xfd, 0x6f, 0x87, 2080 0x03, 0xc2, 0x13, 0xea, 0x88, 0x44, 0x0e, 0xe4, 0x93, 0x0c, 0xb4, 0x66, 0x6b, 0x09, 0xbd, 0x84, 2081 0x79, 0xad, 0x7b, 0xf7, 0xac, 0x7a, 0x01, 0x2d, 0xb1, 0xb7, 0x38, 0xb0, 0x16, 0xaf, 0xff, 0xa6, 2082 0x04, 0x4a, 0x61, 0x7e, 0x4f, 0xf4, 0x5e, 0x73, 0x6e, 0xd9, 0x32, 0x3d, 0x3f, 0x1a, 0x67, 0x88, 2083 0x29, 0xf7, 0x4d, 0xb5, 0x26, 0x21, 0xcb, 0x31, 0x75, 0x31, 0xc7, 0xbf, 0x2b, 0x61, 0xba, 0x23, 2084 0x56, 0xca, 0x0a, 0x5b, 0x9a, 0x0d, 0x72, 0x85, 0x2d, 0xf4, 0x17, 0xf1, 0x19, 0x5c, 0x70, 0x5b, 2085 0x82, 0xfb, 0xe5, 0x55, 0x70, 0x17, 0x72, 0xb8, 0x1c, 0x70, 0x19, 0x72, 0x1b, 0xda, 0x1a, 0xbf, 2086 0x77, 0xe4, 0xaf, 0xe9, 0x01, 0x68, 0x3c, 0x2b, 0x71, 0xfb, 0xe2, 0x7f, 0x01, 0x00, 0x00, 0xff, 2087 0xff, 0xc5, 0x72, 0x43, 0xec, 0x2c, 0x18, 0x00, 0x00, 2088 }