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": "100", 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 "redistribute": [ 316 { 317 "redist_type": "static" 318 } 319 ] 320 } 321 }, 322 "ipv6": { 323 "unicast": { 324 "neighbor": { 325 "r1": { 326 "dest_link": { 327 "r2-link1": {} 328 } 329 }, 330 "r3": { 331 "dest_link": { 332 "r2-link1": { 333 "next_hop_self": true 334 }, 335 "r2-link2": { 336 "next_hop_self": true 337 }, 338 "r2-link3": { 339 "next_hop_self": true 340 }, 341 "r2-link4": { 342 "next_hop_self": true 343 }, 344 "r2-link5": { 345 "next_hop_self": true 346 }, 347 "r2-link6": { 348 "next_hop_self": true 349 }, 350 "r2-link7": { 351 "next_hop_self": true 352 }, 353 "r2-link8": { 354 "next_hop_self": true 355 }, 356 "r2-link9": { 357 "next_hop_self": true 358 }, 359 "r2-link10": { 360 "next_hop_self": true 361 }, 362 "r2-link11": { 363 "next_hop_self": true 364 }, 365 "r2-link12": { 366 "next_hop_self": true 367 }, 368 "r2-link13": { 369 "next_hop_self": true 370 }, 371 "r2-link14": { 372 "next_hop_self": true 373 }, 374 "r2-link15": { 375 "next_hop_self": true 376 }, 377 "r2-link16": { 378 "next_hop_self": true 379 }, 380 "r2-link17": { 381 "next_hop_self": true 382 }, 383 "r2-link18": { 384 "next_hop_self": true 385 }, 386 "r2-link19": { 387 "next_hop_self": true 388 }, 389 "r2-link20": { 390 "next_hop_self": true 391 }, 392 "r2-link21": { 393 "next_hop_self": true 394 }, 395 "r2-link22": { 396 "next_hop_self": true 397 }, 398 "r2-link23": { 399 "next_hop_self": true 400 }, 401 "r2-link24": { 402 "next_hop_self": true 403 }, 404 "r2-link25": { 405 "next_hop_self": true 406 }, 407 "r2-link26": { 408 "next_hop_self": true 409 }, 410 "r2-link27": { 411 "next_hop_self": true 412 }, 413 "r2-link28": { 414 "next_hop_self": true 415 }, 416 "r2-link29": { 417 "next_hop_self": true 418 }, 419 "r2-link30": { 420 "next_hop_self": true 421 }, 422 "r2-link31": { 423 "next_hop_self": true 424 }, 425 "r2-link32": { 426 "next_hop_self": true 427 } 428 } 429 } 430 }, 431 "redistribute": [ 432 { 433 "redist_type": "static" 434 } 435 ] 436 } 437 } 438 } 439 } 440 }, 441 "r3": { 442 "links": { 443 "lo": { 444 "ipv4": "auto", 445 "ipv6": "auto", 446 "type": "loopback" 447 }, 448 "r2-link1": { 449 "ipv4": "auto", 450 "ipv6": "auto" 451 }, 452 "r2-link2": { 453 "ipv4": "auto", 454 "ipv6": "auto" 455 }, 456 "r2-link3": { 457 "ipv4": "auto", 458 "ipv6": "auto" 459 }, 460 "r2-link4": { 461 "ipv4": "auto", 462 "ipv6": "auto" 463 }, 464 "r2-link5": { 465 "ipv4": "auto", 466 "ipv6": "auto" 467 }, 468 "r2-link6": { 469 "ipv4": "auto", 470 "ipv6": "auto" 471 }, 472 "r2-link7": { 473 "ipv4": "auto", 474 "ipv6": "auto" 475 }, 476 "r2-link8": { 477 "ipv4": "auto", 478 "ipv6": "auto" 479 }, 480 "r2-link9": { 481 "ipv4": "auto", 482 "ipv6": "auto" 483 }, 484 "r2-link10": { 485 "ipv4": "auto", 486 "ipv6": "auto" 487 }, 488 "r2-link11": { 489 "ipv4": "auto", 490 "ipv6": "auto" 491 }, 492 "r2-link12": { 493 "ipv4": "auto", 494 "ipv6": "auto" 495 }, 496 "r2-link13": { 497 "ipv4": "auto", 498 "ipv6": "auto" 499 }, 500 "r2-link14": { 501 "ipv4": "auto", 502 "ipv6": "auto" 503 }, 504 "r2-link15": { 505 "ipv4": "auto", 506 "ipv6": "auto" 507 }, 508 "r2-link16": { 509 "ipv4": "auto", 510 "ipv6": "auto" 511 }, 512 "r2-link17": { 513 "ipv4": "auto", 514 "ipv6": "auto" 515 }, 516 "r2-link18": { 517 "ipv4": "auto", 518 "ipv6": "auto" 519 }, 520 "r2-link19": { 521 "ipv4": "auto", 522 "ipv6": "auto" 523 }, 524 "r2-link20": { 525 "ipv4": "auto", 526 "ipv6": "auto" 527 }, 528 "r2-link21": { 529 "ipv4": "auto", 530 "ipv6": "auto" 531 }, 532 "r2-link22": { 533 "ipv4": "auto", 534 "ipv6": "auto" 535 }, 536 "r2-link23": { 537 "ipv4": "auto", 538 "ipv6": "auto" 539 }, 540 "r2-link24": { 541 "ipv4": "auto", 542 "ipv6": "auto" 543 }, 544 "r2-link25": { 545 "ipv4": "auto", 546 "ipv6": "auto" 547 }, 548 "r2-link26": { 549 "ipv4": "auto", 550 "ipv6": "auto" 551 }, 552 "r2-link27": { 553 "ipv4": "auto", 554 "ipv6": "auto" 555 }, 556 "r2-link28": { 557 "ipv4": "auto", 558 "ipv6": "auto" 559 }, 560 "r2-link29": { 561 "ipv4": "auto", 562 "ipv6": "auto" 563 }, 564 "r2-link30": { 565 "ipv4": "auto", 566 "ipv6": "auto" 567 }, 568 "r2-link31": { 569 "ipv4": "auto", 570 "ipv6": "auto" 571 }, 572 "r2-link32": { 573 "ipv4": "auto", 574 "ipv6": "auto" 575 } 576 }, 577 "route_maps": { 578 "rmap_global": [{ 579 "action": "permit", 580 "set": { 581 "ipv6": { 582 "nexthop": "prefer-global" 583 } 584 } 585 }] 586 }, 587 "bgp": { 588 "local_as": "100", 589 "address_family": { 590 "ipv4": { 591 "unicast": { 592 "maximum_paths": { 593 "ibgp": 32 594 }, 595 "neighbor": { 596 "r2": { 597 "dest_link": { 598 "r3-link1": {}, 599 "r3-link2": {}, 600 "r3-link3": {}, 601 "r3-link4": {}, 602 "r3-link5": {}, 603 "r3-link6": {}, 604 "r3-link7": {}, 605 "r3-link8": {}, 606 "r3-link9": {}, 607 "r3-link10": {}, 608 "r3-link11": {}, 609 "r3-link12": {}, 610 "r3-link13": {}, 611 "r3-link14": {}, 612 "r3-link15": {}, 613 "r3-link16": {}, 614 "r3-link17": {}, 615 "r3-link18": {}, 616 "r3-link19": {}, 617 "r3-link20": {}, 618 "r3-link21": {}, 619 "r3-link22": {}, 620 "r3-link23": {}, 621 "r3-link24": {}, 622 "r3-link25": {}, 623 "r3-link26": {}, 624 "r3-link27": {}, 625 "r3-link28": {}, 626 "r3-link29": {}, 627 "r3-link30": {}, 628 "r3-link31": {}, 629 "r3-link32": {} 630 } 631 } 632 } 633 } 634 }, 635 "ipv6": { 636 "unicast": { 637 "maximum_paths": { 638 "ibgp": 32 639 }, 640 "neighbor": { 641 "r2": { 642 "dest_link": { 643 "r3-link1": { 644 "route_maps": [{ 645 "name": "rmap_global", 646 "direction": "in" 647 }] 648 }, 649 "r3-link2": { 650 "route_maps": [{ 651 "name": "rmap_global", 652 "direction": "in" 653 }] 654 }, 655 "r3-link3": { 656 "route_maps": [{ 657 "name": "rmap_global", 658 "direction": "in" 659 }] 660 }, 661 "r3-link4": { 662 "route_maps": [{ 663 "name": "rmap_global", 664 "direction": "in" 665 }] 666 }, 667 "r3-link5": { 668 "route_maps": [{ 669 "name": "rmap_global", 670 "direction": "in" 671 }] 672 }, 673 "r3-link6": { 674 "route_maps": [{ 675 "name": "rmap_global", 676 "direction": "in" 677 }] 678 }, 679 "r3-link7": { 680 "route_maps": [{ 681 "name": "rmap_global", 682 "direction": "in" 683 }] 684 }, 685 "r3-link8": { 686 "route_maps": [{ 687 "name": "rmap_global", 688 "direction": "in" 689 }] 690 }, 691 "r3-link9": { 692 "route_maps": [{ 693 "name": "rmap_global", 694 "direction": "in" 695 }] 696 }, 697 "r3-link10": { 698 "route_maps": [{ 699 "name": "rmap_global", 700 "direction": "in" 701 }] 702 }, 703 "r3-link11": { 704 "route_maps": [{ 705 "name": "rmap_global", 706 "direction": "in" 707 }] 708 }, 709 "r3-link12": { 710 "route_maps": [{ 711 "name": "rmap_global", 712 "direction": "in" 713 }] 714 }, 715 "r3-link13": { 716 "route_maps": [{ 717 "name": "rmap_global", 718 "direction": "in" 719 }] 720 }, 721 "r3-link14": { 722 "route_maps": [{ 723 "name": "rmap_global", 724 "direction": "in" 725 }] 726 }, 727 "r3-link15": { 728 "route_maps": [{ 729 "name": "rmap_global", 730 "direction": "in" 731 }] 732 }, 733 "r3-link16": { 734 "route_maps": [{ 735 "name": "rmap_global", 736 "direction": "in" 737 }] 738 }, 739 "r3-link17": { 740 "route_maps": [{ 741 "name": "rmap_global", 742 "direction": "in" 743 }] 744 }, 745 "r3-link18": { 746 "route_maps": [{ 747 "name": "rmap_global", 748 "direction": "in" 749 }] 750 }, 751 "r3-link19": { 752 "route_maps": [{ 753 "name": "rmap_global", 754 "direction": "in" 755 }] 756 }, 757 "r3-link20": { 758 "route_maps": [{ 759 "name": "rmap_global", 760 "direction": "in" 761 }] 762 }, 763 "r3-link21": { 764 "route_maps": [{ 765 "name": "rmap_global", 766 "direction": "in" 767 }] 768 }, 769 "r3-link22": { 770 "route_maps": [{ 771 "name": "rmap_global", 772 "direction": "in" 773 }] 774 }, 775 "r3-link23": { 776 "route_maps": [{ 777 "name": "rmap_global", 778 "direction": "in" 779 }] 780 }, 781 "r3-link24": { 782 "route_maps": [{ 783 "name": "rmap_global", 784 "direction": "in" 785 }] 786 }, 787 "r3-link25": { 788 "route_maps": [{ 789 "name": "rmap_global", 790 "direction": "in" 791 }] 792 }, 793 "r3-link26": { 794 "route_maps": [{ 795 "name": "rmap_global", 796 "direction": "in" 797 }] 798 }, 799 "r3-link27": { 800 "route_maps": [{ 801 "name": "rmap_global", 802 "direction": "in" 803 }] 804 }, 805 "r3-link28": { 806 "route_maps": [{ 807 "name": "rmap_global", 808 "direction": "in" 809 }] 810 }, 811 "r3-link29": { 812 "route_maps": [{ 813 "name": "rmap_global", 814 "direction": "in" 815 }] 816 }, 817 "r3-link30": { 818 "route_maps": [{ 819 "name": "rmap_global", 820 "direction": "in" 821 }] 822 }, 823 "r3-link31": { 824 "route_maps": [{ 825 "name": "rmap_global", 826 "direction": "in" 827 }] 828 }, 829 "r3-link32": { 830 "route_maps": [{ 831 "name": "rmap_global", 832 "direction": "in" 833 }] 834 } 835 } 836 } 837 } 838 } 839 } 840 } 841 } 842 } 843 } 844}