VPP/IPv6 SR VIRL topology file
From fd.io
The following example is a VIRL topology description that can be used as a topology file for an IPv6 segment routing network.
Copy the following text into a plain text file and save with the .virl extension.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <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"> <extensions> <entry key="management_network" type="String">flat</entry> <entry key="AutoNetkit.address_family" type="String">dual_stack</entry> <entry key="AutoNetkit.enable_routing" type="Boolean">false</entry> </extensions> <node name="iosv-1" type="SIMPLE" subtype="IOSv" location="195,78" vmImage="IOSv-unlimited [f04cda9c-35d2-4afb-9dd1-a2bc6e6dd292]" ipv4="192.168.0.2" ipv6="::b:1:0:0:2"> <extensions> <entry key="config" type="string">! ! Last configuration change at 16:41:18 UTC Fri Mar 27 2015 ! version 15.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname iosv-1 ! boot-start-marker boot-end-marker ! ! enable password cisco ! no aaa new-model ! ! ! mmi polling-interval 60 no mmi auto-configure no mmi pvc mmi snmp-timeout 180 ! ! ! ! ! ! ! ! ! ! ! ! ! no ip domain lookup ip cef ipv6 unicast-routing ipv6 cef ! multilink bundle-name authenticated ! ! cts logging verbose ! ! ! redundancy ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 description Loopback ip address 192.168.0.2 255.255.255.255 ipv6 address ::B:1:0:0:2/128 ! interface GigabitEthernet0/0 description OOB Management ip address 172.16.1.193 255.255.255.0 duplex auto speed auto media-type rj45 ! interface GigabitEthernet0/1 description to vpp-1 ip address 10.0.0.5 255.255.255.252 duplex auto speed auto media-type rj45 ipv6 address ::A:1:1:0:6/126 ! ip forward-protocol nd ! ! no ip http server no ip http secure-server ! ! route to iosv-2 ipv6 route ::A:1:1:0:16/128 ::A:1:1:0:7 ! route to iosv-4 ipv6 route ::A:1:1:0:22/128 ::A:1:1:0:7 ! ! ! control-plane ! banner exec ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner incoming ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner login ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` ! line con 0 password cisco line aux 0 line vty 0 4 exec-timeout 720 0 password cisco login transport input telnet ssh ! no scheduler allocate ! end</entry> <entry key="AutoNetkit.mgmt_ip" type="string"></entry> </extensions> <interface id="0" name="GigabitEthernet0/1" ipv4="10.0.0.5" ipv6="::a:1:1:0:6" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <node name="iosv-2" type="SIMPLE" subtype="IOSv" location="667,82" vmImage="IOSv-unlimited [f04cda9c-35d2-4afb-9dd1-a2bc6e6dd292]" ipv4="192.168.0.3" ipv6="::b:1:0:0:3"> <extensions> <entry key="config" type="string">! ! Last configuration change at 16:41:10 UTC Fri Mar 27 2015 ! version 15.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname iosv-2 ! boot-start-marker boot-end-marker ! ! enable password cisco ! no aaa new-model ! ! ! mmi polling-interval 60 no mmi auto-configure no mmi pvc mmi snmp-timeout 180 ! ! ! ! ! ! ! ! ! ! ! ! ! no ip domain lookup ip cef ipv6 unicast-routing ipv6 cef ! multilink bundle-name authenticated ! ! cts logging verbose ! ! ! redundancy ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 description Loopback ip address 192.168.0.3 255.255.255.255 ipv6 address ::B:1:0:0:3/128 ! interface GigabitEthernet0/0 description OOB Management ip address 172.16.1.191 255.255.255.0 duplex auto speed auto media-type rj45 ! interface GigabitEthernet0/1 description to vpp-2 ip address 10.0.0.21 255.255.255.252 duplex auto speed auto media-type rj45 ipv6 address ::A:1:1:0:16/126 ! ip forward-protocol nd ! ! no ip http server no ip http secure-server ! ipv6 route ::A:1:1:0:6/128 ::A:1:1:0:17 ! ! ! control-plane ! banner exec ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner incoming ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner login ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` ! line con 0 password cisco line aux 0 line vty 0 4 exec-timeout 720 0 password cisco login transport input telnet ssh ! no scheduler allocate ! end</entry> <entry key="AutoNetkit.mgmt_ip" type="string"></entry> </extensions> <interface id="0" name="GigabitEthernet0/1" ipv4="10.0.0.21" ipv6="::a:1:1:0:16" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <node name="iosv-3" type="SIMPLE" subtype="IOSv" location="194,186" vmImage="IOSv-unlimited [f04cda9c-35d2-4afb-9dd1-a2bc6e6dd292]" ipv4="192.168.0.6" ipv6="::b:1:0:0:4"> <extensions> <entry key="config" type="string">! ! Last configuration change at 16:27:43 UTC Fri Mar 27 2015 ! version 15.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname iosv-3 ! boot-start-marker boot-end-marker ! ! enable password cisco ! no aaa new-model ! ! ! mmi polling-interval 60 no mmi auto-configure no mmi pvc mmi snmp-timeout 180 ! ! ! ! ! ! ! ! ! ! ! ! ! no ip domain lookup ip cef ipv6 unicast-routing ipv6 cef ! multilink bundle-name authenticated ! ! cts logging verbose ! ! ! redundancy ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 description Loopback ip address 192.168.0.6 255.255.255.255 ipv6 address ::B:1:0:0:4/128 ! interface GigabitEthernet0/0 description OOB Management ip address 172.16.1.192 255.255.255.0 duplex auto speed auto media-type rj45 ! interface GigabitEthernet0/1 description to vpp-1 ip address 10.0.0.9 255.255.255.252 duplex auto speed auto media-type rj45 ipv6 address ::A:1:1:0:A/126 ! ip forward-protocol nd ! ! no ip http server no ip http secure-server ! ! ! ! control-plane ! banner exec ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner incoming ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner login ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` ! line con 0 password cisco line aux 0 line vty 0 4 exec-timeout 720 0 password cisco login transport input telnet ssh ! no scheduler allocate ! end</entry> <entry key="AutoNetkit.mgmt_ip" type="string"></entry> </extensions> <interface id="0" name="GigabitEthernet0/1" ipv4="10.0.0.9" ipv6="::a:1:1:0:a" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <node name="iosv-4" type="SIMPLE" subtype="IOSv" location="668,193" vmImage="IOSv-unlimited [f04cda9c-35d2-4afb-9dd1-a2bc6e6dd292]" ipv4="192.168.0.8" ipv6="::b:1:0:0:5"> <extensions> <entry key="config" type="string">! ! Last configuration change at 16:27:43 UTC Fri Mar 27 2015 ! version 15.4 service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname iosv-4 ! boot-start-marker boot-end-marker ! ! enable password cisco ! no aaa new-model ! ! ! mmi polling-interval 60 no mmi auto-configure no mmi pvc mmi snmp-timeout 180 ! ! ! ! ! ! ! ! ! ! ! ! ! no ip domain lookup ip cef ipv6 unicast-routing ipv6 cef ! multilink bundle-name authenticated ! ! cts logging verbose ! ! ! redundancy ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! interface Loopback0 description Loopback ip address 192.168.0.8 255.255.255.255 ipv6 address ::B:1:0:0:5/128 ! interface GigabitEthernet0/0 description OOB Management ip address 172.16.1.194 255.255.255.0 duplex auto speed auto media-type rj45 ! interface GigabitEthernet0/1 description to vpp-2 ip address 10.0.0.33 255.255.255.252 duplex auto speed auto media-type rj45 ipv6 address ::A:1:1:0:22/126 ! ! Route to iosv-1 ipv6 route ::A:1:1:0:6/128 ::A:1:1:0:23 ip forward-protocol nd ! ! no ip http server no ip http secure-server ! ! ! ! control-plane ! banner exec ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner incoming ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` banner login ` ************************************************************************** * IOSv is strictly limited to use for evaluation, demonstration and IOS * * education. IOSv is provided as-is and is not supported by Cisco's * * Technical Advisory Center. Any use or disclosure, in whole or in part, * * of the IOSv Software or Documentation to any third party for any * * purposes is expressly prohibited except as otherwise authorized by * * Cisco in writing. * **************************************************************************` ! line con 0 password cisco line aux 0 line vty 0 4 exec-timeout 720 0 password cisco login transport input telnet ssh ! no scheduler allocate ! end</entry> <entry key="AutoNetkit.mgmt_ip" type="string"></entry> </extensions> <interface id="0" name="GigabitEthernet0/1" ipv4="10.0.0.33" ipv6="::a:1:1:0:22" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <node name="vpp-1" type="SIMPLE" subtype="vPP" location="302,140" vmImage="vPP-open-hack [6729f745-45b4-47b2-8021-3b3c0beb5c5f]"> <extensions> <entry key="config" type="string">#cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: vpp-1 manage_etc_hosts: true runcmd: - start ttyS0 - systemctl start getty@ttyS0.service - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" >> /etc/ssh/sshd_config - service ssh restart - service sshd restart - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf users: - default - gecos: User configured by VIRL Configuration Engine 0.15.3 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) ALL write_files: - path: /etc/init/ttyS0.conf owner: root:root content: | # ttyS0 - getty # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc or RUNLEVEL=[12345] stop on runlevel [!12345] respawn exec /sbin/getty -L 115200 ttyS0 vt102 permissions: '0644' - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /opt/cisco/vpe/etc/vpp-server.conf owner: root:root permissions: '0644' content: |- set interface ip address GigabitEthernet0/4/0 10.0.0.6/30 set interface ip address GigabitEthernet0/4/0 ::a:1:1:0:7/126 set interface state GigabitEthernet0/4/0 up set interface ip address GigabitEthernet0/5/0 10.0.0.10/30 set interface ip address GigabitEthernet0/5/0 ::a:1:1:0:b/126 set interface state GigabitEthernet0/5/0 up set interface ip address GigabitEthernet0/6/0 10.0.0.13/30 set interface ip address GigabitEthernet0/6/0 ::a:1:1:0:e/126 set interface state GigabitEthernet0/6/0 up set interface ip address GigabitEthernet0/7/0 10.0.0.17/30 set interface ip address GigabitEthernet0/7/0 ::a:1:1:0:12/126 set interface state GigabitEthernet0/7/0 up sr tunnel src 0::a:1:1:0:6 dst 0::a:1:1:0:16/128 next 0::a:1:1:0:f next 0::a:1:1:0:1a next 0::a:1:1:0:16 tag 0::a:1:1:0:7 InPE 1 clean sr tunnel src 0::a:1:1:0:6 dst 0::a:1:1:0:22/128 next 0::a:1:1:0:f next 0::a:1:1:0:1a next 0::a:1:1:0:22 tag 0::a:1:1:0:7 InPE 1 clean </entry> </extensions> <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.6" ipv6="::a:1:1:0:7" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.10" ipv6="::a:1:1:0:b" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="2" name="GigabitEthernet0/6/0" ipv4="10.0.0.13" ipv6="::a:1:1:0:e" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="3" name="GigabitEthernet0/7/0" ipv4="10.0.0.17" ipv6="::a:1:1:0:12" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <node name="vpp-2" type="SIMPLE" subtype="vPP" location="541,147" vmImage="vPP-open-hack [6729f745-45b4-47b2-8021-3b3c0beb5c5f]"> <extensions> <entry key="config" type="string">#cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: vpp-2 manage_etc_hosts: true runcmd: - start ttyS0 - systemctl start getty@ttyS0.service - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" >> /etc/ssh/sshd_config - service ssh restart - service sshd restart - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf users: - default - gecos: User configured by VIRL Configuration Engine 0.15.3 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) ALL write_files: - path: /etc/init/ttyS0.conf owner: root:root content: | # ttyS0 - getty # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc or RUNLEVEL=[12345] stop on runlevel [!12345] respawn exec /sbin/getty -L 115200 ttyS0 vt102 permissions: '0644' - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /opt/cisco/vpe/etc/vpp-server.conf owner: root:root permissions: '0644' content: |- set interface ip address GigabitEthernet0/4/0 10.0.0.25/30 set interface ip address GigabitEthernet0/4/0 ::a:1:1:0:1a/126 set interface state GigabitEthernet0/4/0 up set interface ip address GigabitEthernet0/5/0 10.0.0.29/30 set interface ip address GigabitEthernet0/5/0 ::a:1:1:0:1e/126 set interface state GigabitEthernet0/5/0 up set interface ip address GigabitEthernet0/6/0 10.0.0.22/30 set interface ip address GigabitEthernet0/6/0 ::a:1:1:0:17/126 set interface state GigabitEthernet0/6/0 up set interface ip address GigabitEthernet0/7/0 10.0.0.34/30 set interface ip address GigabitEthernet0/7/0 ::a:1:1:0:23/126 set interface state GigabitEthernet0/7/0 up sr tunnel src 0::a:1:1:0:16 dst 0::a:1:1:0:6/128 next 0::a:1:1:0:1b next 0::a:1:1:0:e next 0::a:1:1:0:6 tag 0::a:1:1:0:17 InPE 1 clean </entry> </extensions> <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.25" ipv6="::a:1:1:0:1a" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.29" ipv6="::a:1:1:0:1e" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="2" name="GigabitEthernet0/6/0" ipv4="10.0.0.22" ipv6="::a:1:1:0:17" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="3" name="GigabitEthernet0/7/0" ipv4="10.0.0.34" ipv6="::a:1:1:0:23" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <node name="vpp-3" type="SIMPLE" subtype="vPP" location="415,89" vmImage="vPP-open-hack [6729f745-45b4-47b2-8021-3b3c0beb5c5f]"> <extensions> <entry key="config" type="string">#cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: vpp-3 manage_etc_hosts: true runcmd: - start ttyS0 - systemctl start getty@ttyS0.service - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" >> /etc/ssh/sshd_config - service ssh restart - service sshd restart - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf users: - default - gecos: User configured by VIRL Configuration Engine 0.15.3 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) ALL write_files: - path: /etc/init/ttyS0.conf owner: root:root content: | # ttyS0 - getty # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc or RUNLEVEL=[12345] stop on runlevel [!12345] respawn exec /sbin/getty -L 115200 ttyS0 vt102 permissions: '0644' - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /opt/cisco/vpe/etc/vpp-server.conf owner: root:root permissions: '0644' content: |- set interface ip address GigabitEthernet0/4/0 10.0.0.14/30 set interface ip address GigabitEthernet0/4/0 ::a:1:1:0:f/126 set interface state GigabitEthernet0/4/0 up set interface ip address GigabitEthernet0/5/0 10.0.0.26/30 set interface ip address GigabitEthernet0/5/0 ::a:1:1:0:1b/126 set interface state GigabitEthernet0/5/0 up comment { fix src rpf drop screws} ip route add ::a:1:1:0:6/128 via drop ip route add ::a:1:1:0:16/128 via drop ip route add ::a:1:1:0:22/128 via drop </entry> </extensions> <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.14" ipv6="::a:1:1:0:f" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.26" ipv6="::a:1:1:0:1b" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <node name="vpp-4" type="SIMPLE" subtype="vPP" location="419,216" vmImage="vPP-open-hack [6729f745-45b4-47b2-8021-3b3c0beb5c5f]"> <extensions> <entry key="config" type="string">#cloud-config bootcmd: - ln -s -t /etc/rc.d /etc/rc.local hostname: vpp-4 manage_etc_hosts: true runcmd: - start ttyS0 - systemctl start getty@ttyS0.service - systemctl start rc-local - sed -i '/^\s*PasswordAuthentication\s\+no/d' /etc/ssh/sshd_config - echo "UseDNS no" >> /etc/ssh/sshd_config - service ssh restart - service sshd restart - sed -i 's/no-pci//' /opt/cisco/vpe/etc/qn.conf - sed -i 's/1024/1024 decimal-interface-names/g' /opt/cisco/vpe/etc/qn.conf users: - default - gecos: User configured by VIRL Configuration Engine 0.15.3 lock-passwd: false name: cisco plain-text-passwd: cisco shell: /bin/bash ssh-authorized-keys: - VIRL-USER-SSH-PUBLIC-KEY sudo: ALL=(ALL) ALL write_files: - path: /etc/init/ttyS0.conf owner: root:root content: | # ttyS0 - getty # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc or RUNLEVEL=[12345] stop on runlevel [!12345] respawn exec /sbin/getty -L 115200 ttyS0 vt102 permissions: '0644' - path: /etc/systemd/system/dhclient@.service content: | [Unit] Description=Run dhclient on %i interface After=network.target [Service] Type=oneshot ExecStart=/sbin/dhclient %i -pf /var/run/dhclient.%i.pid -lf /var/lib/dhclient/dhclient.%i.lease RemainAfterExit=yes owner: root:root permissions: '0644' - path: /opt/cisco/vpe/etc/vpp-server.conf owner: root:root permissions: '0644' content: |- set interface ip address GigabitEthernet0/4/0 10.0.0.18/30 set interface ip address GigabitEthernet0/4/0 ::a:1:1:0:13/126 set interface state GigabitEthernet0/4/0 up set interface ip address GigabitEthernet0/5/0 10.0.0.30/30 set interface ip address GigabitEthernet0/5/0 ::a:1:1:0:1f/126 set interface state GigabitEthernet0/5/0 up </entry> </extensions> <interface id="0" name="GigabitEthernet0/4/0" ipv4="10.0.0.18" ipv6="::a:1:1:0:13" netPrefixLenV4="30" netPrefixLenV6="126"/> <interface id="1" name="GigabitEthernet0/5/0" ipv4="10.0.0.30" ipv6="::a:1:1:0:1f" netPrefixLenV4="30" netPrefixLenV6="126"/> </node> <connection dst="/virl:topology/virl:node[5]/virl:interface[1]" src="/virl:topology/virl:node[1]/virl:interface[1]"/> <connection dst="/virl:topology/virl:node[5]/virl:interface[2]" src="/virl:topology/virl:node[3]/virl:interface[1]"/> <connection dst="/virl:topology/virl:node[7]/virl:interface[1]" src="/virl:topology/virl:node[5]/virl:interface[3]"/> <connection dst="/virl:topology/virl:node[8]/virl:interface[1]" src="/virl:topology/virl:node[5]/virl:interface[4]"/> <connection dst="/virl:topology/virl:node[6]/virl:interface[1]" src="/virl:topology/virl:node[7]/virl:interface[2]"/> <connection dst="/virl:topology/virl:node[6]/virl:interface[2]" src="/virl:topology/virl:node[8]/virl:interface[2]"/> <connection dst="/virl:topology/virl:node[2]/virl:interface[1]" src="/virl:topology/virl:node[6]/virl:interface[3]"/> <connection dst="/virl:topology/virl:node[4]/virl:interface[1]" src="/virl:topology/virl:node[6]/virl:interface[4]"/> </topology>