{ "address_types": ["ipv4","ipv6"], "ipv4base": "10.0.0.0", "ipv4mask": 24, "ipv6base": "fd00::", "ipv6mask": 64, "link_ip_start": { "ipv4": "10.0.0.0", "v4mask": 24, "ipv6": "fd00::", "v6mask": 64 }, "lo_prefix": { "ipv4": "1.0.", "v4mask": 32, "ipv6": "2001:db8:f::", "v6mask": 128 }, "routers": { "r1": { "links": { "r3-link1": {"ipv4": "192.168.1.1/24", "ipv6": "fd00:0:0:1::1/120", "vrf": "RED"}, "r3-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r3-link3": {"ipv4": "192.168.1.1/24", "ipv6": "fd00:0:0:1::1/120", "vrf": "GREEN"}, "r3-link4": {"ipv4": "auto", "ipv6": "auto"} }, "vrfs":[ {"name": "RED", "id": "1"}, {"name": "BLUE", "id": "2"}, {"name": "GREEN", "id": "3"} ], "bgp": [ { "local_as": "1", "vrf": "RED", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link1": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "1", "vrf": "BLUE", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link2": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "1", "vrf": "GREEN", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link3": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "1", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r1-link4": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } } ], "route_maps": { "rmap_global": [{ "action": "permit", "set": { "ipv6": { "nexthop": "prefer-global" } } }] } }, "r2": { "links": { "r3-link1": {"ipv4": "auto", "ipv6": "auto", "vrf": "RED"}, "r3-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r3-link3": {"ipv4": "auto", "ipv6": "auto", "vrf": "GREEN"}, "r3-link4": {"ipv4": "auto", "ipv6": "auto"} }, "vrfs":[ {"name": "RED", "id": "1"}, {"name": "BLUE", "id": "2"}, {"name": "GREEN", "id": "3"} ], "bgp": [ { "local_as": "2", "vrf": "RED", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link1": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "2", "vrf": "BLUE", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link2": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "2", "vrf": "GREEN", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link3": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "2", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r2-link4": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } } ], "route_maps": { "rmap_global": [{ "action": "permit", "set": { "ipv6": { "nexthop": "prefer-global" } } }] } }, "r3": { "links": { "r1-link1": {"ipv4": "192.168.1.2/24", "ipv6": "fd00:0:0:1::2/120", "vrf": "RED"}, "r1-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r1-link3": {"ipv4": "192.168.1.2/24", "ipv6": "fd00:0:0:1::2/120", "vrf": "GREEN"}, "r1-link4": {"ipv4": "auto", "ipv6": "auto"}, "r2-link1": {"ipv4": "auto", "ipv6": "auto", "vrf": "RED"}, "r2-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r2-link3": {"ipv4": "auto", "ipv6": "auto", "vrf": "GREEN"}, "r2-link4": {"ipv4": "auto", "ipv6": "auto"}, "r4-link1": {"ipv4": "auto", "ipv6": "auto", "vrf": "RED"}, "r4-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r4-link3": {"ipv4": "auto", "ipv6": "auto", "vrf": "GREEN"}, "r4-link4": {"ipv4": "auto", "ipv6": "auto"}, "r5-link1": {"ipv4": "auto", "ipv6": "auto", "vrf": "RED"}, "r5-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r5-link3": {"ipv4": "auto", "ipv6": "auto", "vrf": "GREEN"}, "r5-link4": {"ipv4": "auto", "ipv6": "auto"} }, "vrfs":[ {"name": "RED", "id": "1"}, {"name": "BLUE", "id": "2"}, {"name": "GREEN", "id": "3"} ], "bgp": [ { "local_as": "3", "vrf": "RED", "address_family": { "ipv4": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link1": {} } }, "r2": { "dest_link": { "r3-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r4": { "dest_link": { "r3-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r5": { "dest_link": { "r3-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link1": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r2": { "dest_link": { "r3-link1": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r4": { "dest_link": { "r3-link1": { "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r5": { "dest_link": { "r3-link1": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "3", "vrf": "BLUE", "address_family": { "ipv4": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link2": {} } }, "r2": { "dest_link": { "r3-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r4": { "dest_link": { "r3-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r5": { "dest_link": { "r3-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link2": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r2": { "dest_link": { "r3-link2": { "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r4": { "dest_link": { "r3-link2": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r5": { "dest_link": { "r3-link2": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "3", "vrf": "GREEN", "address_family": { "ipv4": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r2": { "dest_link": { "r3-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r4": { "dest_link": { "r3-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r5": { "dest_link": { "r3-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link3": { "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r2": { "dest_link": { "r3-link3": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r4": { "dest_link": { "r3-link3": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r5": { "dest_link": { "r3-link3": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } }, { "local_as": "3", "address_family": { "ipv4": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r2": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r4": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } }, "r5": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r1": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r2": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r4": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } }, "r5": { "dest_link": { "r3-link4": { "keepalivetimer": 1, "holddowntimer": 3, "route_maps": [{ "name": "rmap_global", "direction": "in" }] } } } } } } } } ], "route_maps": { "rmap_global": [{ "action": "permit", "set": { "ipv6": { "nexthop": "prefer-global" } } }] } }, "r4": { "links": { "r3-link1": {"ipv4": "auto", "ipv6": "auto", "vrf": "RED"}, "r3-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r3-link3": {"ipv4": "auto", "ipv6": "auto", "vrf": "GREEN"}, "r3-link4": {"ipv4": "auto", "ipv6": "auto"} }, "vrfs":[ {"name": "RED", "id": "1"}, {"name": "BLUE", "id": "2"}, {"name": "GREEN", "id": "3"} ], "bgp": [ { "local_as": "4", "vrf": "RED", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } } } }, { "local_as": "4", "vrf": "BLUE", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link2": {} } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } } } }, { "local_as": "4", "vrf": "GREEN", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } } } }, { "local_as": "4", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r4-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } } } } ] }, "r5": { "links": { "r3-link1": {"ipv4": "auto", "ipv6": "auto", "vrf": "RED"}, "r3-link2": {"ipv4": "auto", "ipv6": "auto", "vrf": "BLUE"}, "r3-link3": {"ipv4": "auto", "ipv6": "auto", "vrf": "GREEN"}, "r3-link4": {"ipv4": "auto", "ipv6": "auto"} }, "vrfs":[ {"name": "RED", "id": "1"}, {"name": "BLUE", "id": "2"}, {"name": "GREEN", "id": "3"} ], "bgp": [ { "local_as": "3", "vrf": "RED", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link1": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } } } }, { "local_as": "3", "vrf": "BLUE", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link2": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } } } }, { "local_as": "3", "vrf": "GREEN", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link3": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link3": {} } } } } } } }, { "local_as": "3", "address_family": { "ipv4": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } }, "ipv6": { "unicast": { "neighbor": { "r3": { "dest_link": { "r5-link4": { "keepalivetimer": 1, "holddowntimer": 3 } } } } } } } } ] } } }