annotations: []
smart_annotations: []
nodes:
  - boot_disk_size: null
    configuration:
      - name: default
        content: System Bridge
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: false
    id: n0
    image_definition: null
    label: ext-conn-0
    node_definition: external_connector
    parameters: {}
    ram: null
    tags: []
    x: 1067
    y: 434
    interfaces:
      - id: i0
        label: port
        mac_address: null
        slot: 0
        type: physical
  - boot_disk_size: null
    configuration: []
    cpu_limit: null
    cpus: null
    data_volume: null
    hide_links: true
    id: n1
    image_definition: null
    label: mgmt-sw-1
    node_definition: unmanaged_switch
    parameters: {}
    ram: null
    tags: []
    x: 970
    y: 185
    interfaces:
      - id: i0
        label: port0
        mac_address: null
        slot: 0
        type: physical
      - id: i1
        label: port1
        mac_address: null
        slot: 1
        type: physical
      - id: i2
        label: port2
        mac_address: null
        slot: 2
        type: physical
      - id: i3
        label: port3
        mac_address: null
        slot: 3
        type: physical
      - id: i4
        label: port4
        mac_address: null
        slot: 4
        type: physical
      - id: i5
        label: port5
        mac_address: null
        slot: 5
        type: physical
      - id: i6
        label: port6
        mac_address: null
        slot: 6
        type: physical
      - id: i7
        label: port7
        mac_address: null
        slot: 7
        type: physical
      - id: i8
        label: port8
        mac_address: null
        slot: 8
        type: physical
      - id: i9
        label: port9
        mac_address: null
        slot: 9
        type: physical
      - id: i10
        label: port10
        mac_address: null
        slot: 10
        type: physical
      - id: i11
        label: port11
        mac_address: null
        slot: 11
        type: physical
      - id: i12
        label: port12
        mac_address: null
        slot: 12
        type: physical
      - id: i13
        label: port13
        mac_address: null
        slot: 13
        type: physical
      - id: i14
        label: port14
        mac_address: null
        slot: 14
        type: physical
      - id: i15
        label: port15
        mac_address: null
        slot: 15
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site1-S1
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.11/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n2
    image_definition: nexus9500v64-lite.10.5.3.F
    label: Site1-S1
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 600
    y: 160
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
      - id: i5
        label: Ethernet1/4
        mac_address: null
        slot: 4
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site1-S2
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.12/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n3
    image_definition: nexus9500v64-lite.10.5.3.F
    label: Site1-S2
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 760
    y: 160
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
      - id: i5
        label: Ethernet1/4
        mac_address: null
        slot: 4
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site1-L1
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.13/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n4
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Site1-L1
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 560
    y: 320
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
      - id: i5
        label: Ethernet1/4
        mac_address: null
        slot: 4
        type: physical
      - id: i6
        label: Ethernet1/5
        mac_address: null
        slot: 5
        type: physical
      - id: i7
        label: Ethernet1/6
        mac_address: null
        slot: 6
        type: physical
      - id: i8
        label: Ethernet1/7
        mac_address: null
        slot: 7
        type: physical
      - id: i9
        label: Ethernet1/8
        mac_address: null
        slot: 8
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site1-L2
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.14/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n5
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Site1-L2
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 720
    y: 320
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
      - id: i5
        label: Ethernet1/4
        mac_address: null
        slot: 4
        type: physical
      - id: i6
        label: Ethernet1/5
        mac_address: null
        slot: 5
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site1-BL1
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.15/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n6
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Site1-BL1
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 880
    y: 320
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site1-BGW1
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.16/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n7
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Site1-BGW1
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 673
    y: -12
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site2-BGW1
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.19/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
          !
          feature nxapi
          nv overlay evpn
          feature ospf
          feature bgp
          feature pim
          feature interface-vlan
          feature vn-segment-vlan-based
          feature lacp
          feature dhcp
          feature lldp
          feature nv overlay
          feature ngoam
          !
          snmp-server user admin network-admin auth md5 cisco.123 priv cisco.123 localizedV2key
          !
          ip domain-lookup
          !
          ntp server 10.81.254.131 use-vrf management
          !
          fabric forwarding anycast-gateway-mac 2020.0000.00aa
          ip pim rp-address 10.252.252.1 group-list 239.1.1.0/25
          !
          vrf context management
            ip name-server 10.0.249.16
          !
          interface nve1
            no shutdown
            host-reachability protocol bgp
            source-interface loopback1
          !
          interface Ethernet1/1
            description connected-to-site2-s1-Ethernet1/4
            no switchport
            mtu 9216
            ip address 10.2.0.3/31
            ip ospf network point-to-point
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
            no shutdown
          !
          interface loopback0
            description Routing loopback interface
            ip address 10.22.0.6/32 tag 54321
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
          !
          interface loopback1
            description VTEP loopback interface
            ip address 10.222.0.6/32 tag 54321
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
          !
          router ospf UNDERLAY
            router-id 10.22.0.6
          router bgp 65222
            router-id 10.22.0.6
            neighbor 10.22.0.4
              remote-as 65222
              update-source loopback0
              address-family l2vpn evpn
                send-community
                send-community extended
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n8
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Site2-BGW1
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 1200
    y: 0
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site2-S1
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.17/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
          !
          feature nxapi
          nv overlay evpn
          feature ospf
          feature bgp
          feature pim
          feature lldp
          feature nv overlay
          feature ngoam
          !
          ip domain-lookup
          !
          snmp-server user admin network-admin auth md5 cisco.123 priv cisco.123 localizedV2key
          !
          ntp server 10.81.254.131 use-vrf management
          !
          ip pim rp-address 10.252.252.1 group-list 239.1.1.0/25
          ip pim anycast-rp 10.252.252.1 10.22.0.4
          ip pim anycast-rp 10.252.252.1 10.22.0.5
          !
          vrf context management
            ip name-server 10.0.249.16
          !
          interface Ethernet1/1
            description connected-to-site2-l1-Ethernet1/1
            mtu 9216
            ip address 10.2.0.0/31
            ip ospf network point-to-point
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
            no shutdown
          !
          interface Ethernet1/4
            description connected-to-site2-bgw1-Ethernet1/1
            mtu 9216
            ip address 10.2.0.2/31
            ip ospf network point-to-point
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
            no shutdown
          !
          interface loopback0
            description Routing loopback interface
            ip address 10.22.0.4/32
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
          !
          interface loopback252
            description RP loopback interface
            ip address 10.252.252.1/32
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
          !
          router ospf UNDERLAY
            router-id 10.22.0.4
          router bgp 65222
            router-id 10.22.0.4
            neighbor 10.22.0.1
              remote-as 65222
              update-source loopback0
              address-family l2vpn evpn
                send-community
                send-community extended
                route-reflector-client
            neighbor 10.22.0.6
              remote-as 65222
              update-source loopback0
              address-family l2vpn evpn
                send-community
                send-community extended
                route-reflector-client
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n9
    image_definition: nexus9500v64-lite.10.5.3.F
    label: Site2-S1
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 1200
    y: 200
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
      - id: i5
        label: Ethernet1/4
        mac_address: null
        slot: 4
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Site2-L1
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.18/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
          !
          feature nxapi
          nv overlay evpn
          feature ospf
          feature bgp
          feature pim
          feature interface-vlan
          feature vn-segment-vlan-based
          feature lacp
          feature dhcp
          feature lldp
          feature nv overlay
          feature ngoam
          !
          snmp-server user admin network-admin auth md5 cisco.123 priv cisco.123 localizedV2key
          !
          ip domain-lookup
          !
          ntp server 10.81.254.131 use-vrf management
          !
          fabric forwarding anycast-gateway-mac 2020.0000.00aa
          ip pim rp-address 10.252.252.1 group-list 239.1.1.0/25
          vlan 1,2299,2999
          vlan 2299
            name RedVRF
            vn-segment 59000
          vlan 2999
            name RedNet1
            vn-segment 49000
          !
          vrf context management
            ip name-server 10.0.249.16
          !
          vrf context RedVRF
            description RedVRF
            vni 59000
            rd auto
            address-family ipv4 unicast
              route-target both auto
              route-target both auto evpn
            address-family ipv6 unicast
              route-target both auto
              route-target both auto evpn
          !
          interface Vlan2299
            description RedVRF
            no shutdown
            mtu 9216
            vrf member RedVRF
            no ip redirects
            ip forward
            ipv6 address use-link-local-only
            no ipv6 redirects
          !
          interface Vlan2999
            description RedNet1
            no shutdown
            mtu 9216
            vrf member RedVRF
            no ip redirects
            ip address 192.168.21.1/24
            no ipv6 redirects
            fabric forwarding mode anycast-gateway
          !
          interface nve1
            no shutdown
            host-reachability protocol bgp
            source-interface loopback1
            member vni 49000
              mcast-group 239.1.1.1
            member vni 59000 associate-vrf
          !
          interface Ethernet1/1
            description connected-to-site2-s1-Ethernet1/1
            no switchport
            mtu 9216
            ip address 10.2.0.1/31
            ip ospf network point-to-point
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
            no shutdown
          !
          interface loopback0
            description Routing loopback interface
            ip address 10.22.0.1/32
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
          !
          interface loopback1
            description VTEP loopback interface
            ip address 10.222.0.1/32
            ip router ospf UNDERLAY area 0.0.0.0
            ip pim sparse-mode
          !
          router ospf UNDERLAY
            router-id 10.22.0.1
          router bgp 65222
            router-id 10.22.0.1
            neighbor 10.22.0.4
              remote-as 65222
              update-source loopback0
              address-family l2vpn evpn
                send-community
                send-community extended
            vrf RedVRF
              address-family ipv4 unicast
                advertise l2vpn evpn
                maximum-paths ibgp 2
              address-family ipv6 unicast
                advertise l2vpn evpn
                maximum-paths ibgp 2
          evpn
            vni 49000 l2
              rd auto
              route-target import auto
              route-target export auto
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n10
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Site2-L1
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 1200
    y: 320
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
      - id: i5
        label: Ethernet1/4
        mac_address: null
        slot: 4
        type: physical
      - id: i6
        label: Ethernet1/5
        mac_address: null
        slot: 5
        type: physical
  - boot_disk_size: 16
    configuration:
      - name: iosxe_config.txt
        content: |-
          # this is a shell script which will be sourced at boot
          hostname server1
          # configurable user account
          USERNAME=cisco
          PASSWORD=cisco.123
          # no password for tc user by default
          TC_PASSWORD=cisco.123
          ifconfig eth0 10.3.1.21 netmask 255.255.255.0 broadcast 10.3.1.255 up
          ifconfig eth1 192.168.11.21 netmask 255.255.255.0 broadcast 192.168.11.255 up
          route add default gw 10.3.1.1
          route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.11.1
          route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.11.1
          echo nameserver 10.0.249.16 >> /etc/resolv.conf
    cpu_limit: 100
    cpus: 1
    data_volume: 0
    hide_links: false
    id: n11
    image_definition: null
    label: server-1
    node_definition: server
    parameters: {}
    ram: 128
    tags: []
    x: 558
    y: 465
    interfaces:
      - id: i0
        label: eth0
        mac_address: null
        slot: 0
        type: physical
      - id: i1
        label: eth1
        mac_address: null
        slot: 1
        type: physical
  - boot_disk_size: 16
    configuration:
      - name: iosxe_config.txt
        content: |-
          # this is a shell script which will be sourced at boot
          hostname server2
          # configurable user account
          USERNAME=cisco
          PASSWORD=cisco.123
          # no password for tc user by default
          TC_PASSWORD=cisco.123
          ifconfig eth0 10.3.1.22 netmask 255.255.255.0 broadcast 10.3.1.255 up
          ifconfig eth1 192.168.12.22 netmask 255.255.255.0 broadcast 192.168.12.255 up
          route add default gw 10.3.1.1
          route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.12.1
          route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.12.1
          echo nameserver 10.0.249.16 >> /etc/resolv.conf
    cpu_limit: 100
    cpus: 1
    data_volume: 0
    hide_links: false
    id: n12
    image_definition: null
    label: server-2
    node_definition: server
    parameters: {}
    ram: 128
    tags: []
    x: 720
    y: 465
    interfaces:
      - id: i0
        label: eth0
        mac_address: null
        slot: 0
        type: physical
      - id: i1
        label: eth1
        mac_address: null
        slot: 1
        type: physical
  - boot_disk_size: 16
    configuration:
      - name: iosxe_config.txt
        content: |-
          # this is a shell script which will be sourced at boot
          hostname server3
          # configurable user account
          USERNAME=cisco
          PASSWORD=cisco.123
          # no password for tc user by default
          TC_PASSWORD=cisco.123
          ifconfig eth0 10.3.1.23 netmask 255.255.255.0 broadcast 10.3.1.255 up
          ifconfig eth1 192.168.11.23 netmask 255.255.255.0 broadcast 192.168.11.255 up
          route add default gw 10.3.1.1
          route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.11.1
          route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.11.1
          echo nameserver 10.0.249.16 >> /etc/resolv.conf
    cpu_limit: 100
    cpus: 1
    data_volume: 0
    hide_links: false
    id: n13
    image_definition: null
    label: server-3
    node_definition: server
    parameters: {}
    ram: 128
    tags: []
    x: 1178
    y: 465
    interfaces:
      - id: i0
        label: eth0
        mac_address: null
        slot: 0
        type: physical
      - id: i1
        label: eth1
        mac_address: null
        slot: 1
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Core-Rtr
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.20/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
          interface ethernet 1/1-2
            no switchport
            mtu 9216
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n14
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Core-Rtr
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 960
    y: 0
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
  - boot_disk_size: null
    configuration:
      - name: nxos_config.txt
        content: |-
          # workaround for booting to loader> prompt
          echo 'from cli import cli' > set_boot.py
          echo 'import json' >> set_boot.py
          echo 'import os' >> set_boot.py
          echo 'import time' >> set_boot.py
          echo 'bootimage = json.loads(cli("show version | json"))["kick_file_name"]' >> set_boot.py
          echo 'set_boot = cli("conf t ; boot nxos {} ; no event manager applet BOOTCONFIG".format(bootimage))' >> set_boot.py
          echo 'i = 0' >> set_boot.py
          echo 'while i < 10:' >> set_boot.py
          echo '    try:' >> set_boot.py
          echo '        save_config = cli("copy running-config startup-config")' >> set_boot.py
          echo '        break' >> set_boot.py
          echo '    except Exception:' >> set_boot.py
          echo '        i += 1' >> set_boot.py
          echo '        time.sleep(1)' >> set_boot.py
          echo 'os.remove("/bootflash/set_boot.py")' >> set_boot.py
          event manager applet BOOTCONFIG
           event syslog pattern "Configured from vty"
           action 1.0 cli python bootflash:set_boot.py
          # minimum needed config to login
          no password strength-check
          username admin role network-admin
          username admin password cisco.123 role network-admin
          username cisco role network-admin
          username cisco password cisco role network-admin
          hostname Ext-Rtr
          feature nxapi
          copp profile strict
          vrf context management
            ip route 0.0.0.0/0 10.3.1.1
          interface mgmt 0
            no cdp enable
            ip address 10.3.1.10/24
          interface ethernet 1/1-10
            shutdown
            no shutdown
          interface ethernet 1/3
            no switchport
            mtu 9216
            no shutdown
    cpu_limit: 100
    cpus: 2
    data_volume: null
    hide_links: false
    id: n15
    image_definition: nexus9300v64-lite.10.5.3.F
    label: Ext-Rtr
    node_definition: nxosv9000
    parameters: {}
    ram: 6144
    tags: []
    x: 960
    y: 440
    interfaces:
      - id: i0
        label: Loopback0
        mac_address: null
        type: loopback
      - id: i1
        label: mgmt0
        mac_address: null
        slot: 0
        type: physical
      - id: i2
        label: Ethernet1/1
        mac_address: null
        slot: 1
        type: physical
      - id: i3
        label: Ethernet1/2
        mac_address: null
        slot: 2
        type: physical
      - id: i4
        label: Ethernet1/3
        mac_address: null
        slot: 3
        type: physical
links:
  - id: l0
    n1: n0
    n2: n1
    i1: i0
    i2: i0
    conditioning: {}
    label: ext-conn-0-port<->mgmt-sw-1-port0
  - id: l1
    n1: n1
    n2: n2
    i1: i1
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port1<->Site1-S1-mgmt0
  - id: l2
    n1: n1
    n2: n3
    i1: i2
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port2<->Site1-S2-mgmt0
  - id: l3
    n1: n1
    n2: n4
    i1: i3
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port3<->Site1-L1-mgmt0
  - id: l4
    n1: n1
    n2: n5
    i1: i4
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port4<->Site1-L2-mgmt0
  - id: l5
    n1: n2
    n2: n4
    i1: i2
    i2: i2
    conditioning: {}
    label: Site1-S1-Ethernet1/1<->Site1-L1-Ethernet1/1
  - id: l6
    n1: n2
    n2: n5
    i1: i3
    i2: i2
    conditioning: {}
    label: Site1-S1-Ethernet1/2<->Site1-L2-Ethernet1/1
  - id: l7
    n1: n3
    n2: n4
    i1: i2
    i2: i3
    conditioning: {}
    label: Site1-S2-Ethernet1/1<->Site1-L1-Ethernet1/2
  - id: l8
    n1: n3
    n2: n5
    i1: i3
    i2: i3
    conditioning: {}
    label: Site1-S2-Ethernet1/2<->Site1-L2-Ethernet1/2
  - id: l9
    n1: n1
    n2: n6
    i1: i5
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port5<->Site1-BL1-mgmt0
  - id: l10
    n1: n2
    n2: n6
    i1: i4
    i2: i2
    conditioning: {}
    label: Site1-S1-Ethernet1/3<->Site1-BL1-Ethernet1/1
  - id: l11
    n1: n3
    n2: n6
    i1: i4
    i2: i3
    conditioning: {}
    label: Site1-S2-Ethernet1/3<->Site1-BL1-Ethernet1/2
  - id: l12
    n1: n4
    n2: n5
    i1: i4
    i2: i4
    conditioning: {}
    label: Site1-L1-Ethernet1/3<->Site1-L2-Ethernet1/3
  - id: l13
    n1: n4
    n2: n5
    i1: i5
    i2: i5
    conditioning: {}
    label: Site1-L1-Ethernet1/4<->Site1-L2-Ethernet1/4
  - id: l14
    n1: n1
    n2: n7
    i1: i6
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port6<->Site1-BGW1-mgmt0
  - id: l15
    n1: n2
    n2: n7
    i1: i5
    i2: i2
    conditioning: {}
    label: Site1-S1-Ethernet1/4<->Site1-BGW1-Ethernet1/1
  - id: l16
    n1: n3
    n2: n7
    i1: i5
    i2: i3
    conditioning: {}
    label: Site1-S2-Ethernet1/4<->Site1-BGW1-Ethernet1/2
  - id: l17
    n1: n1
    n2: n8
    i1: i7
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port7<->Site2-BGW1-mgmt0
  - id: l18
    n1: n1
    n2: n9
    i1: i8
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port8<->Site2-S1-mgmt0
  - id: l19
    n1: n1
    n2: n10
    i1: i9
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port9<->Site2-L1-mgmt0
  - id: l20
    n1: n9
    n2: n10
    i1: i2
    i2: i2
    conditioning: {}
    label: Site2-S1-Ethernet1/1<->Site2-L1-Ethernet1/1
  - id: l21
    n1: n8
    n2: n9
    i1: i2
    i2: i5
    conditioning: {}
    label: Site2-BGW1-Ethernet1/1<->Site2-S1-Ethernet1/4
  - id: l22
    n1: n1
    n2: n11
    i1: i11
    i2: i0
    conditioning: {}
    label: mgmt-sw-1-port11<->server-1-eth0
  - id: l23
    n1: n4
    n2: n11
    i1: i6
    i2: i1
    conditioning: {}
    label: Site1-L1-Ethernet1/5<->server-1-eth1
  - id: l24
    n1: n1
    n2: n12
    i1: i12
    i2: i0
    conditioning: {}
    label: mgmt-sw-1-port12<->server-2-eth0
  - id: l25
    n1: n1
    n2: n13
    i1: i14
    i2: i0
    conditioning: {}
    label: mgmt-sw-1-port14<->server-3-eth0
  - id: l26
    n1: n1
    n2: n14
    i1: i15
    i2: i1
    conditioning: {}
    label: mgmt-sw-1-port15<->Core-Rtr-mgmt0
  - id: l27
    n1: n7
    n2: n14
    i1: i4
    i2: i2
    conditioning: {}
    label: Site1-BGW1-Ethernet1/3<->Core-Rtr-Ethernet1/1
  - id: l28
    n1: n8
    n2: n14
    i1: i4
    i2: i3
    conditioning: {}
    label: Site2-BGW1-Ethernet1/3<->Core-Rtr-Ethernet1/2
  - id: l29
    n1: n10
    n2: n13
    i1: i6
    i2: i1
    conditioning: {}
    label: Site2-L1-Ethernet1/5<->server-3-eth1
  - id: l30
    n1: n5
    n2: n12
    i1: i6
    i2: i1
    conditioning: {}
    label: Site1-L2-Ethernet1/5<->server-2-eth1
  - id: l31
    n1: n15
    n2: n1
    i1: i1
    i2: i10
    conditioning: {}
    label: Ext-Rtr-mgmt0<->mgmt-sw-1-port10
  - id: l32
    n1: n6
    n2: n15
    i1: i4
    i2: i4
    conditioning: {}
    label: Site1-BL1-Ethernet1/3<->Ext-Rtr-Ethernet1/3
lab:
  description: ''
  notes: ''
  title: LTRDCN-2654
  version: 0.3.0
