Ed Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 1 | <?xml version="1.0" encoding="UTF-8" standalone="yes"?> |
| 2 | <topology xmlns="http://www.cisco.com/VIRL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="0.9" xsi:schemaLocation="http://www.cisco.com/VIRL https://raw.github.com/CiscoVIRL/schema/v0.9/virl.xsd"> |
| 3 | <extensions> |
| 4 | <entry key="management_network" type="String">flat</entry> |
| 5 | </extensions> |
| 6 | <node name="vpp-1" type="SIMPLE" subtype="vPP" location="467,307" vmImage="vPP-hacker [445e503a-564e-4c14-93e1-9660957c539a]" vmFlavor="vPP-small [e7f7de38-54e3-46f1-92ef-92b0039c1c60]"> |
| 7 | <extensions> |
| 8 | <entry key="config" type="string">#cloud-config |
| 9 | bootcmd: |
| 10 | - ln -s -t /etc/rc.d /etc/rc.local |
| 11 | hostname: vpp-1 |
| 12 | manage_etc_hosts: true |
| 13 | runcmd: |
| 14 | - start ttyS0 |
| 15 | - systemctl start getty@ttyS0.service |
| 16 | - systemctl start rc-local |
| 17 | - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config |
| 18 | - echo "UseDNS no" >> /etc/ssh/sshd_config |
| 19 | - service ssh restart |
| 20 | - service sshd restart |
| 21 | - sed -i 's/no-pci//' /cisco/etc/qn.conf |
| 22 | - sed -i 's/1024/1024 decimal-interface-names/g' /cisco/etc/qn.conf |
| 23 | users: |
| 24 | - default |
| 25 | - gecos: User configured by VIRL Configuration Engine 0.15.3 |
| 26 | lock-passwd: false |
| 27 | name: cisco |
| 28 | plain-text-passwd: cisco |
| 29 | shell: /bin/bash |
| 30 | ssh-authorized-keys: |
| 31 | - VIRL-USER-SSH-PUBLIC-KEY |
| 32 | sudo: ALL=(ALL) ALL |
| 33 | write_files: |
| 34 | - path: /etc/init/ttyS0.conf |
| 35 | owner: root:root |
| 36 | content: | |
| 37 | # ttyS0 - getty |
| 38 | # This service maintains a getty on ttyS0 from the point the system is |
| 39 | # started until it is shut down again. |
| 40 | start on stopped rc or RUNLEVEL=[12345] |
| 41 | stop on runlevel [!12345] |
| 42 | respawn |
| 43 | exec /sbin/getty -L 115200 ttyS0 vt102 |
| 44 | permissions: '0644' |
| 45 | - path: /etc/systemd/system/dhclient@.service |
| 46 | content: | |
| 47 | [Unit] |
| 48 | Description=Run dhclient on %i interface |
| 49 | After=network.target |
| 50 | [Service] |
| 51 | Type=oneshot |
| 52 | ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease |
| 53 | RemainAfterExit=yes |
| 54 | owner: root:root |
| 55 | permissions: '0644' |
| 56 | - path: /cisco/etc/vpp-server.conf |
| 57 | owner: root:root |
| 58 | permissions: '0644' |
| 59 | content: |- |
| 60 | set interface ip address GigabitEthernet0/4/0 10.0.0.6/30 |
| 61 | set interface state GigabitEthernet0/4/0 up |
| 62 | set interface ip address GigabitEthernet0/5/0 10.0.0.9/30 |
| 63 | set interface state GigabitEthernet0/5/0 up |
| 64 | mpls encap add label 30 fib 0 dest 10.0.0.10 |
| 65 | mpls decap add label 30 fib 0 |
| 66 | create mpls gre tunnel src 10.0.0.9 dst 10.0.0.10 intfc 10.0.0.13/30 inner-fib-id 0 outer-fib-id 0 |
| 67 | </entry> |
| 68 | </extensions> |
| 69 | <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.6" netPrefixLenV4="30"/> |
| 70 | <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.9" netPrefixLenV4="30"/> |
| 71 | </node> |
| 72 | <node name="vpp-2" type="SIMPLE" subtype="vPP" location="591,305" vmImage="vPP-hacker [445e503a-564e-4c14-93e1-9660957c539a]" vmFlavor="vPP-small [e7f7de38-54e3-46f1-92ef-92b0039c1c60]"> |
| 73 | <extensions> |
| 74 | <entry key="config" type="string">#cloud-config |
| 75 | bootcmd: |
| 76 | - ln -s -t /etc/rc.d /etc/rc.local |
| 77 | hostname: vpp-2 |
| 78 | manage_etc_hosts: true |
| 79 | runcmd: |
| 80 | - start ttyS0 |
| 81 | - systemctl start getty@ttyS0.service |
| 82 | - systemctl start rc-local |
| 83 | - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config |
| 84 | - echo "UseDNS no" >> /etc/ssh/sshd_config |
| 85 | - service ssh restart |
| 86 | - service sshd restart |
| 87 | - sed -i 's/no-pci//' /cisco/etc/qn.conf |
| 88 | - sed -i 's/1024/1024 decimal-interface-names/g' /cisco/etc/qn.conf |
| 89 | users: |
| 90 | - default |
| 91 | - gecos: User configured by VIRL Configuration Engine 0.15.3 |
| 92 | lock-passwd: false |
| 93 | name: cisco |
| 94 | plain-text-passwd: cisco |
| 95 | shell: /bin/bash |
| 96 | ssh-authorized-keys: |
| 97 | - VIRL-USER-SSH-PUBLIC-KEY |
| 98 | sudo: ALL=(ALL) ALL |
| 99 | write_files: |
| 100 | - path: /etc/init/ttyS0.conf |
| 101 | owner: root:root |
| 102 | content: | |
| 103 | # ttyS0 - getty |
| 104 | # This service maintains a getty on ttyS0 from the point the system is |
| 105 | # started until it is shut down again. |
| 106 | start on stopped rc or RUNLEVEL=[12345] |
| 107 | stop on runlevel [!12345] |
| 108 | respawn |
| 109 | exec /sbin/getty -L 115200 ttyS0 vt102 |
| 110 | permissions: '0644' |
| 111 | - path: /etc/systemd/system/dhclient@.service |
| 112 | content: | |
| 113 | [Unit] |
| 114 | Description=Run dhclient on %i interface |
| 115 | After=network.target |
| 116 | [Service] |
| 117 | Type=oneshot |
| 118 | ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease |
| 119 | RemainAfterExit=yes |
| 120 | owner: root:root |
| 121 | permissions: '0644' |
| 122 | - path: /cisco/etc/vpp-server.conf |
| 123 | owner: root:root |
| 124 | permissions: '0644' |
| 125 | content: |- |
| 126 | set interface ip address GigabitEthernet0/4/0 10.0.0.10/30 |
| 127 | set interface state GigabitEthernet0/4/0 up |
| 128 | set interface ip address GigabitEthernet0/5/0 10.0.0.14/30 |
| 129 | set interface state GigabitEthernet0/5/0 up |
| 130 | mpls encap add label 30 fib 0 dest 10.0.0.9 |
| 131 | mpls decap add label 30 fib 0 |
| 132 | create mpls gre tunnel src 10.0.0.10 dst 10.0.0.9 intfc 10.0.0.5/30 inner-fib-id 0 outer-fib-id 0 |
| 133 | </entry> |
| 134 | </extensions> |
| 135 | <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.10" netPrefixLenV4="30"/> |
| 136 | <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.14" netPrefixLenV4="30"/> |
| 137 | </node> |
| 138 | <node name="iosv-1" type="SIMPLE" subtype="IOSv" location="326,311" ipv4="192.168.0.1"> |
| 139 | <extensions> |
| 140 | <entry key="config" type="string">! IOS Config generated on 2015-03-03 17:26 |
| 141 | ! by autonetkit_0.15.0 |
| 142 | ! |
| 143 | hostname iosv-1 |
| 144 | boot-start-marker |
| 145 | boot-end-marker |
| 146 | ! |
| 147 | no aaa new-model |
| 148 | ! |
| 149 | ! |
| 150 | ip cef |
| 151 | ipv6 unicast-routing |
| 152 | ipv6 cef |
| 153 | ! |
| 154 | ! |
| 155 | service timestamps debug datetime msec |
| 156 | service timestamps log datetime msec |
| 157 | no service password-encryption |
| 158 | no service config |
| 159 | enable password cisco |
| 160 | ip classless |
| 161 | ip subnet-zero |
| 162 | no ip domain lookup |
| 163 | line vty 0 4 |
| 164 | transport input ssh telnet |
| 165 | exec-timeout 720 0 |
| 166 | password cisco |
| 167 | login |
| 168 | line con 0 |
| 169 | password cisco |
| 170 | ! |
| 171 | ! |
| 172 | interface Loopback0 |
| 173 | description Loopback |
| 174 | ip address 192.168.0.1 255.255.255.255 |
| 175 | ! |
| 176 | interface GigabitEthernet0/0 |
| 177 | description OOB Management |
| 178 | ! Configured on launch |
| 179 | no ip address |
| 180 | duplex auto |
| 181 | speed auto |
| 182 | no shutdown |
| 183 | ! |
| 184 | interface GigabitEthernet0/1 |
| 185 | description to vpp-1 |
| 186 | ip address 10.0.0.5 255.255.255.252 |
| 187 | ip ospf cost 1 |
| 188 | duplex auto |
| 189 | speed auto |
| 190 | no shutdown |
| 191 | ! |
| 192 | ! |
| 193 | ! |
| 194 | router ospf 1 |
| 195 | network 192.168.0.1 0.0.0.0 area 0 |
| 196 | log-adjacency-changes |
| 197 | passive-interface Loopback0 |
| 198 | network 10.0.0.4 0.0.0.3 area 0 |
| 199 | ! |
| 200 | ! |
| 201 | router bgp 1 |
| 202 | bgp router-id 192.168.0.1 |
| 203 | no synchronization |
| 204 | ! ibgp |
| 205 | ! ibgp peers |
| 206 | ! |
| 207 | neighbor 192.168.0.4 remote-as 1 |
| 208 | neighbor 192.168.0.4 description iBGP peer iosv-2 |
| 209 | neighbor 192.168.0.4 update-source Loopback0 |
| 210 | ! |
| 211 | ! |
| 212 | ! |
| 213 | address-family ipv4 |
| 214 | network 192.168.0.1 mask 255.255.255.255 |
| 215 | neighbor 192.168.0.4 activate |
| 216 | exit-address-family |
| 217 | ! |
| 218 | ! |
| 219 | ! |
| 220 | ip route 10.0.0.13 255.255.255.255 10.0.0.6 |
| 221 | end |
| 222 | </entry> |
| 223 | <entry key="AutoNetkit.mgmt_ip" type="string"></entry> |
| 224 | </extensions> |
| 225 | <interface id="0" name="GigabitEthernet0/1" ipv4="10.0.0.5" netPrefixLenV4="30"/> |
| 226 | </node> |
| 227 | <node name="iosv-2" type="SIMPLE" subtype="IOSv" location="741,307" ipv4="192.168.0.4"> |
| 228 | <extensions> |
| 229 | <entry key="config" type="string">! IOS Config generated on 2015-03-03 17:26 |
| 230 | ! by autonetkit_0.15.0 |
| 231 | ! |
| 232 | hostname iosv-2 |
| 233 | boot-start-marker |
| 234 | boot-end-marker |
| 235 | ! |
| 236 | no aaa new-model |
| 237 | ! |
| 238 | ! |
| 239 | ip cef |
| 240 | ipv6 unicast-routing |
| 241 | ipv6 cef |
| 242 | ! |
| 243 | ! |
| 244 | service timestamps debug datetime msec |
| 245 | service timestamps log datetime msec |
| 246 | no service password-encryption |
| 247 | no service config |
| 248 | enable password cisco |
| 249 | ip classless |
| 250 | ip subnet-zero |
| 251 | no ip domain lookup |
| 252 | line vty 0 4 |
| 253 | transport input ssh telnet |
| 254 | exec-timeout 720 0 |
| 255 | password cisco |
| 256 | login |
| 257 | line con 0 |
| 258 | password cisco |
| 259 | ! |
| 260 | ! |
| 261 | interface Loopback0 |
| 262 | description Loopback |
| 263 | ip address 192.168.0.4 255.255.255.255 |
| 264 | ! |
| 265 | interface GigabitEthernet0/0 |
| 266 | description OOB Management |
| 267 | ! Configured on launch |
| 268 | no ip address |
| 269 | duplex auto |
| 270 | speed auto |
| 271 | no shutdown |
| 272 | ! |
| 273 | interface GigabitEthernet0/1 |
| 274 | description to vpp-2 |
| 275 | ip address 10.0.0.13 255.255.255.252 |
| 276 | ip ospf cost 1 |
| 277 | duplex auto |
| 278 | speed auto |
| 279 | no shutdown |
| 280 | ! |
| 281 | ! |
| 282 | ! |
| 283 | router ospf 1 |
| 284 | network 192.168.0.4 0.0.0.0 area 0 |
| 285 | log-adjacency-changes |
| 286 | passive-interface Loopback0 |
| 287 | network 10.0.0.12 0.0.0.3 area 0 |
| 288 | ! |
| 289 | ! |
| 290 | router bgp 1 |
| 291 | bgp router-id 192.168.0.4 |
| 292 | no synchronization |
| 293 | ! ibgp |
| 294 | ! ibgp peers |
| 295 | ! |
| 296 | neighbor 192.168.0.1 remote-as 1 |
| 297 | neighbor 192.168.0.1 description iBGP peer iosv-1 |
| 298 | neighbor 192.168.0.1 update-source Loopback0 |
| 299 | ! |
| 300 | ! |
| 301 | ! |
| 302 | address-family ipv4 |
| 303 | network 192.168.0.4 mask 255.255.255.255 |
| 304 | neighbor 192.168.0.1 activate |
| 305 | exit-address-family |
| 306 | ! |
| 307 | ! |
| 308 | ip route 10.0.0.5 255.255.255.255 10.0.0.14 |
| 309 | ! |
| 310 | end |
| 311 | </entry> |
| 312 | <entry key="AutoNetkit.mgmt_ip" type="string"></entry> |
| 313 | </extensions> |
| 314 | <interface id="0" name="GigabitEthernet0/1" ipv4="10.0.0.13" netPrefixLenV4="30"/> |
| 315 | </node> |
| 316 | <connection dst="/virl:topology/virl:node[1]/virl:interface[1]" src="/virl:topology/virl:node[3]/virl:interface[1]"/> |
| 317 | <connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[1]/virl:interface[2]"/> |
| 318 | <connection dst="/virl:topology/virl:node[4]/virl:interface[1]" src="/virl:topology/virl:node[2]/virl:interface[2]"/> |
| 319 | </topology> |