1{ 2 "address_types": [ 3 "ipv4", 4 "ipv6" 5 ], 6 "ipv4base": "10.0.0.0", 7 "ipv4mask": 24, 8 "ipv6base": "fd00::", 9 "ipv6mask": 64, 10 "link_ip_start": { 11 "ipv4": "10.0.0.0", 12 "v4mask": 24, 13 "ipv6": "fd00::", 14 "v6mask": 64 15 }, 16 "lo_prefix": { 17 "ipv4": "1.0.", 18 "v4mask": 32, 19 "ipv6": "2001:DB8:F::", 20 "v6mask": 128 21 }, 22 "routers": { 23 "r1": { 24 "links": { 25 "lo": { 26 "ipv4": "auto", 27 "ipv6": "auto", 28 "type": "loopback" 29 }, 30 "r2-link1": { 31 "ipv4": "auto", 32 "ipv6": "auto" 33 } 34 }, 35 "bgp": { 36 "local_as": "100", 37 "address_family": { 38 "ipv4": { 39 "unicast": { 40 "neighbor": { 41 "r2": { 42 "dest_link": { 43 "r1-link1": {} 44 } 45 } 46 } 47 } 48 }, 49 "ipv6": { 50 "unicast": { 51 "neighbor": { 52 "r2": { 53 "dest_link": { 54 "r1-link1": {} 55 } 56 } 57 } 58 } 59 } 60 } 61 } 62 }, 63 "r2": { 64 "links": { 65 "lo": { 66 "ipv4": "auto", 67 "ipv6": "auto", 68 "type": "loopback" 69 }, 70 "r1-link1": { 71 "ipv4": "auto", 72 "ipv6": "auto" 73 }, 74 "r3-link1": { 75 "ipv4": "auto", 76 "ipv6": "auto" 77 }, 78 "r3-link2": { 79 "ipv4": "auto", 80 "ipv6": "auto" 81 }, 82 "r3-link3": { 83 "ipv4": "auto", 84 "ipv6": "auto" 85 }, 86 "r3-link4": { 87 "ipv4": "auto", 88 "ipv6": "auto" 89 }, 90 "r3-link5": { 91 "ipv4": "auto", 92 "ipv6": "auto" 93 }, 94 "r3-link6": { 95 "ipv4": "auto", 96 "ipv6": "auto" 97 }, 98 "r3-link7": { 99 "ipv4": "auto", 100 "ipv6": "auto" 101 }, 102 "r3-link8": { 103 "ipv4": "auto", 104 "ipv6": "auto" 105 }, 106 "r3-link9": { 107 "ipv4": "auto", 108 "ipv6": "auto" 109 }, 110 "r3-link10": { 111 "ipv4": "auto", 112 "ipv6": "auto" 113 }, 114 "r3-link11": { 115 "ipv4": "auto", 116 "ipv6": "auto" 117 }, 118 "r3-link12": { 119 "ipv4": "auto", 120 "ipv6": "auto" 121 }, 122 "r3-link13": { 123 "ipv4": "auto", 124 "ipv6": "auto" 125 }, 126 "r3-link14": { 127 "ipv4": "auto", 128 "ipv6": "auto" 129 }, 130 "r3-link15": { 131 "ipv4": "auto", 132 "ipv6": "auto" 133 }, 134 "r3-link16": { 135 "ipv4": "auto", 136 "ipv6": "auto" 137 }, 138 "r3-link17": { 139 "ipv4": "auto", 140 "ipv6": "auto" 141 }, 142 "r3-link18": { 143 "ipv4": "auto", 144 "ipv6": "auto" 145 }, 146 "r3-link19": { 147 "ipv4": "auto", 148 "ipv6": "auto" 149 }, 150 "r3-link20": { 151 "ipv4": "auto", 152 "ipv6": "auto" 153 }, 154 "r3-link21": { 155 "ipv4": "auto", 156 "ipv6": "auto" 157 }, 158 "r3-link22": { 159 "ipv4": "auto", 160 "ipv6": "auto" 161 }, 162 "r3-link23": { 163 "ipv4": "auto", 164 "ipv6": "auto" 165 }, 166 "r3-link24": { 167 "ipv4": "auto", 168 "ipv6": "auto" 169 }, 170 "r3-link25": { 171 "ipv4": "auto", 172 "ipv6": "auto" 173 }, 174 "r3-link26": { 175 "ipv4": "auto", 176 "ipv6": "auto" 177 }, 178 "r3-link27": { 179 "ipv4": "auto", 180 "ipv6": "auto" 181 }, 182 "r3-link28": { 183 "ipv4": "auto", 184 "ipv6": "auto" 185 }, 186 "r3-link29": { 187 "ipv4": "auto", 188 "ipv6": "auto" 189 }, 190 "r3-link30": { 191 "ipv4": "auto", 192 "ipv6": "auto" 193 }, 194 "r3-link31": { 195 "ipv4": "auto", 196 "ipv6": "auto" 197 }, 198 "r3-link32": { 199 "ipv4": "auto", 200 "ipv6": "auto" 201 } 202 }, 203 "bgp": { 204 "local_as": "200", 205 "address_family": { 206 "ipv4": { 207 "unicast": { 208 "neighbor": { 209 "r1": { 210 "dest_link": { 211 "r2-link1": {} 212 } 213 }, 214 "r3": { 215 "dest_link": { 216 "r2-link1": { 217 "next_hop_self": true 218 }, 219 "r2-link2": { 220 "next_hop_self": true 221 }, 222 "r2-link3": { 223 "next_hop_self": true 224 }, 225 "r2-link4": { 226 "next_hop_self": true 227 }, 228 "r2-link5": { 229 "next_hop_self": true 230 }, 231 "r2-link6": { 232 "next_hop_self": true 233 }, 234 "r2-link7": { 235 "next_hop_self": true 236 }, 237 "r2-link8": { 238 "next_hop_self": true 239 }, 240 "r2-link9": { 241 "next_hop_self": true 242 }, 243 "r2-link10": { 244 "next_hop_self": true 245 }, 246 "r2-link11": { 247 "next_hop_self": true 248 }, 249 "r2-link12": { 250 "next_hop_self": true 251 }, 252 "r2-link13": { 253 "next_hop_self": true 254 }, 255 "r2-link14": { 256 "next_hop_self": true 257 }, 258 "r2-link15": { 259 "next_hop_self": true 260 }, 261 "r2-link16": { 262 "next_hop_self": true 263 }, 264 "r2-link17": { 265 "next_hop_self": true 266 }, 267 "r2-link18": { 268 "next_hop_self": true 269 }, 270 "r2-link19": { 271 "next_hop_self": true 272 }, 273 "r2-link20": { 274 "next_hop_self": true 275 }, 276 "r2-link21": { 277 "next_hop_self": true 278 }, 279 "r2-link22": { 280 "next_hop_self": true 281 }, 282 "r2-link23": { 283 "next_hop_self": true 284 }, 285 "r2-link24": { 286 "next_hop_self": true 287 }, 288 "r2-link25": { 289 "next_hop_self": true 290 }, 291 "r2-link26": { 292 "next_hop_self": true 293 }, 294 "r2-link27": { 295 "next_hop_self": true 296 }, 297 "r2-link28": { 298 "next_hop_self": true 299 }, 300 "r2-link29": { 301 "next_hop_self": true 302 }, 303 "r2-link30": { 304 "next_hop_self": true 305 }, 306 "r2-link31": { 307 "next_hop_self": true 308 }, 309 "r2-link32": { 310 "next_hop_self": true 311 } 312 } 313 } 314 } 315 } 316 }, 317 "ipv6": { 318 "unicast": { 319 "neighbor": { 320 "r1": { 321 "dest_link": { 322 "r2-link1": {} 323 } 324 }, 325 "r3": { 326 "dest_link": { 327 "r2-link1": { 328 "next_hop_self": true 329 }, 330 "r2-link2": { 331 "next_hop_self": true 332 }, 333 "r2-link3": { 334 "next_hop_self": true 335 }, 336 "r2-link4": { 337 "next_hop_self": true 338 }, 339 "r2-link5": { 340 "next_hop_self": true 341 }, 342 "r2-link6": { 343 "next_hop_self": true 344 }, 345 "r2-link7": { 346 "next_hop_self": true 347 }, 348 "r2-link8": { 349 "next_hop_self": true 350 }, 351 "r2-link9": { 352 "next_hop_self": true 353 }, 354 "r2-link10": { 355 "next_hop_self": true 356 }, 357 "r2-link11": { 358 "next_hop_self": true 359 }, 360 "r2-link12": { 361 "next_hop_self": true 362 }, 363 "r2-link13": { 364 "next_hop_self": true 365 }, 366 "r2-link14": { 367 "next_hop_self": true 368 }, 369 "r2-link15": { 370 "next_hop_self": true 371 }, 372 "r2-link16": { 373 "next_hop_self": true 374 }, 375 "r2-link17": { 376 "next_hop_self": true 377 }, 378 "r2-link18": { 379 "next_hop_self": true 380 }, 381 "r2-link19": { 382 "next_hop_self": true 383 }, 384 "r2-link20": { 385 "next_hop_self": true 386 }, 387 "r2-link21": { 388 "next_hop_self": true 389 }, 390 "r2-link22": { 391 "next_hop_self": true 392 }, 393 "r2-link23": { 394 "next_hop_self": true 395 }, 396 "r2-link24": { 397 "next_hop_self": true 398 }, 399 "r2-link25": { 400 "next_hop_self": true 401 }, 402 "r2-link26": { 403 "next_hop_self": true 404 }, 405 "r2-link27": { 406 "next_hop_self": true 407 }, 408 "r2-link28": { 409 "next_hop_self": true 410 }, 411 "r2-link29": { 412 "next_hop_self": true 413 }, 414 "r2-link30": { 415 "next_hop_self": true 416 }, 417 "r2-link31": { 418 "next_hop_self": true 419 }, 420 "r2-link32": { 421 "next_hop_self": true 422 } 423 } 424 } 425 } 426 } 427 } 428 } 429 } 430 }, 431 "r3": { 432 "links": { 433 "lo": { 434 "ipv4": "auto", 435 "ipv6": "auto", 436 "type": "loopback" 437 }, 438 "r2-link1": { 439 "ipv4": "auto", 440 "ipv6": "auto" 441 }, 442 "r2-link2": { 443 "ipv4": "auto", 444 "ipv6": "auto" 445 }, 446 "r2-link3": { 447 "ipv4": "auto", 448 "ipv6": "auto" 449 }, 450 "r2-link4": { 451 "ipv4": "auto", 452 "ipv6": "auto" 453 }, 454 "r2-link5": { 455 "ipv4": "auto", 456 "ipv6": "auto" 457 }, 458 "r2-link6": { 459 "ipv4": "auto", 460 "ipv6": "auto" 461 }, 462 "r2-link7": { 463 "ipv4": "auto", 464 "ipv6": "auto" 465 }, 466 "r2-link8": { 467 "ipv4": "auto", 468 "ipv6": "auto" 469 }, 470 "r2-link9": { 471 "ipv4": "auto", 472 "ipv6": "auto" 473 }, 474 "r2-link10": { 475 "ipv4": "auto", 476 "ipv6": "auto" 477 }, 478 "r2-link11": { 479 "ipv4": "auto", 480 "ipv6": "auto" 481 }, 482 "r2-link12": { 483 "ipv4": "auto", 484 "ipv6": "auto" 485 }, 486 "r2-link13": { 487 "ipv4": "auto", 488 "ipv6": "auto" 489 }, 490 "r2-link14": { 491 "ipv4": "auto", 492 "ipv6": "auto" 493 }, 494 "r2-link15": { 495 "ipv4": "auto", 496 "ipv6": "auto" 497 }, 498 "r2-link16": { 499 "ipv4": "auto", 500 "ipv6": "auto" 501 }, 502 "r2-link17": { 503 "ipv4": "auto", 504 "ipv6": "auto" 505 }, 506 "r2-link18": { 507 "ipv4": "auto", 508 "ipv6": "auto" 509 }, 510 "r2-link19": { 511 "ipv4": "auto", 512 "ipv6": "auto" 513 }, 514 "r2-link20": { 515 "ipv4": "auto", 516 "ipv6": "auto" 517 }, 518 "r2-link21": { 519 "ipv4": "auto", 520 "ipv6": "auto" 521 }, 522 "r2-link22": { 523 "ipv4": "auto", 524 "ipv6": "auto" 525 }, 526 "r2-link23": { 527 "ipv4": "auto", 528 "ipv6": "auto" 529 }, 530 "r2-link24": { 531 "ipv4": "auto", 532 "ipv6": "auto" 533 }, 534 "r2-link25": { 535 "ipv4": "auto", 536 "ipv6": "auto" 537 }, 538 "r2-link26": { 539 "ipv4": "auto", 540 "ipv6": "auto" 541 }, 542 "r2-link27": { 543 "ipv4": "auto", 544 "ipv6": "auto" 545 }, 546 "r2-link28": { 547 "ipv4": "auto", 548 "ipv6": "auto" 549 }, 550 "r2-link29": { 551 "ipv4": "auto", 552 "ipv6": "auto" 553 }, 554 "r2-link30": { 555 "ipv4": "auto", 556 "ipv6": "auto" 557 }, 558 "r2-link31": { 559 "ipv4": "auto", 560 "ipv6": "auto" 561 }, 562 "r2-link32": { 563 "ipv4": "auto", 564 "ipv6": "auto" 565 } 566 }, 567 "route_maps": { 568 "rmap_global": [{ 569 "action": "permit", 570 "set": { 571 "ipv6": { 572 "nexthop": "prefer-global" 573 } 574 } 575 }] 576 }, 577 "bgp": { 578 "local_as": "300", 579 "address_family": { 580 "ipv4": { 581 "unicast": { 582 "maximum_paths": { 583 "ebgp": 32 584 }, 585 "neighbor": { 586 "r2": { 587 "dest_link": { 588 "r3-link1": {}, 589 "r3-link2": {}, 590 "r3-link3": {}, 591 "r3-link4": {}, 592 "r3-link5": {}, 593 "r3-link6": {}, 594 "r3-link7": {}, 595 "r3-link8": {}, 596 "r3-link9": {}, 597 "r3-link10": {}, 598 "r3-link11": {}, 599 "r3-link12": {}, 600 "r3-link13": {}, 601 "r3-link14": {}, 602 "r3-link15": {}, 603 "r3-link16": {}, 604 "r3-link17": {}, 605 "r3-link18": {}, 606 "r3-link19": {}, 607 "r3-link20": {}, 608 "r3-link21": {}, 609 "r3-link22": {}, 610 "r3-link23": {}, 611 "r3-link24": {}, 612 "r3-link25": {}, 613 "r3-link26": {}, 614 "r3-link27": {}, 615 "r3-link28": {}, 616 "r3-link29": {}, 617 "r3-link30": {}, 618 "r3-link31": {}, 619 "r3-link32": {} 620 } 621 } 622 } 623 } 624 }, 625 "ipv6": { 626 "unicast": { 627 "maximum_paths": { 628 "ebgp": 32 629 }, 630 "neighbor": { 631 "r2": { 632 "dest_link": { 633 "r3-link1": { 634 "route_maps": [{ 635 "name": "rmap_global", 636 "direction": "in" 637 }] 638 }, 639 "r3-link2": { 640 "route_maps": [{ 641 "name": "rmap_global", 642 "direction": "in" 643 }] 644 }, 645 "r3-link3": { 646 "route_maps": [{ 647 "name": "rmap_global", 648 "direction": "in" 649 }] 650 }, 651 "r3-link4": { 652 "route_maps": [{ 653 "name": "rmap_global", 654 "direction": "in" 655 }] 656 }, 657 "r3-link5": { 658 "route_maps": [{ 659 "name": "rmap_global", 660 "direction": "in" 661 }] 662 }, 663 "r3-link6": { 664 "route_maps": [{ 665 "name": "rmap_global", 666 "direction": "in" 667 }] 668 }, 669 "r3-link7": { 670 "route_maps": [{ 671 "name": "rmap_global", 672 "direction": "in" 673 }] 674 }, 675 "r3-link8": { 676 "route_maps": [{ 677 "name": "rmap_global", 678 "direction": "in" 679 }] 680 }, 681 "r3-link9": { 682 "route_maps": [{ 683 "name": "rmap_global", 684 "direction": "in" 685 }] 686 }, 687 "r3-link10": { 688 "route_maps": [{ 689 "name": "rmap_global", 690 "direction": "in" 691 }] 692 }, 693 "r3-link11": { 694 "route_maps": [{ 695 "name": "rmap_global", 696 "direction": "in" 697 }] 698 }, 699 "r3-link12": { 700 "route_maps": [{ 701 "name": "rmap_global", 702 "direction": "in" 703 }] 704 }, 705 "r3-link13": { 706 "route_maps": [{ 707 "name": "rmap_global", 708 "direction": "in" 709 }] 710 }, 711 "r3-link14": { 712 "route_maps": [{ 713 "name": "rmap_global", 714 "direction": "in" 715 }] 716 }, 717 "r3-link15": { 718 "route_maps": [{ 719 "name": "rmap_global", 720 "direction": "in" 721 }] 722 }, 723 "r3-link16": { 724 "route_maps": [{ 725 "name": "rmap_global", 726 "direction": "in" 727 }] 728 }, 729 "r3-link17": { 730 "route_maps": [{ 731 "name": "rmap_global", 732 "direction": "in" 733 }] 734 }, 735 "r3-link18": { 736 "route_maps": [{ 737 "name": "rmap_global", 738 "direction": "in" 739 }] 740 }, 741 "r3-link19": { 742 "route_maps": [{ 743 "name": "rmap_global", 744 "direction": "in" 745 }] 746 }, 747 "r3-link20": { 748 "route_maps": [{ 749 "name": "rmap_global", 750 "direction": "in" 751 }] 752 }, 753 "r3-link21": { 754 "route_maps": [{ 755 "name": "rmap_global", 756 "direction": "in" 757 }] 758 }, 759 "r3-link22": { 760 "route_maps": [{ 761 "name": "rmap_global", 762 "direction": "in" 763 }] 764 }, 765 "r3-link23": { 766 "route_maps": [{ 767 "name": "rmap_global", 768 "direction": "in" 769 }] 770 }, 771 "r3-link24": { 772 "route_maps": [{ 773 "name": "rmap_global", 774 "direction": "in" 775 }] 776 }, 777 "r3-link25": { 778 "route_maps": [{ 779 "name": "rmap_global", 780 "direction": "in" 781 }] 782 }, 783 "r3-link26": { 784 "route_maps": [{ 785 "name": "rmap_global", 786 "direction": "in" 787 }] 788 }, 789 "r3-link27": { 790 "route_maps": [{ 791 "name": "rmap_global", 792 "direction": "in" 793 }] 794 }, 795 "r3-link28": { 796 "route_maps": [{ 797 "name": "rmap_global", 798 "direction": "in" 799 }] 800 }, 801 "r3-link29": { 802 "route_maps": [{ 803 "name": "rmap_global", 804 "direction": "in" 805 }] 806 }, 807 "r3-link30": { 808 "route_maps": [{ 809 "name": "rmap_global", 810 "direction": "in" 811 }] 812 }, 813 "r3-link31": { 814 "route_maps": [{ 815 "name": "rmap_global", 816 "direction": "in" 817 }] 818 }, 819 "r3-link32": { 820 "route_maps": [{ 821 "name": "rmap_global", 822 "direction": "in" 823 }] 824 } 825 } 826 } 827 } 828 } 829 } 830 } 831 } 832 } 833 } 834}