Authors:
Fermín Galán (galan at dit.upm.es)David Fernández (david at dit.upm.es)version 1.7, March 10th, 2007Scenario
This example shows the VNUML implementation of a networking laboratory for OSPF dymanic routing protocol tests. It is a virtual implementation of the real-based network laboratory testbed of the Telematic Networks and Services Laboratory (in Spanish) last exercise at DIT-UPM grade course. This environment was used at ITHET'04 in order to illustrate VNUML application for high educational purposes.The laboratory tries to resemble to the network of a distributed organization. The core of the network is a backbone (routers RB1, RB2, RB3 and RB4) that interconnects several regional headquarters (from A to F) to the central organization headquarters. Each regional headquarters provides connectivity for two sites (from 1 to 12).
The network layout is shown in the picture. Click here to see a high resolution copy of the map.
Each site is composed of a computer (PCx) and an outbound router. The computer is configured with a default route to the outbound router.
Each regional headquarters is composed of a server (SRx), an inbound router (RRx2) and an outbound router (RRx1). The server is configured with a default route to the outbound router.
The central headquarters of several internals routers (RC1, RC2, RC3 and RC4) and a server (SC). All them are configured with default routes to the backbone. All the routers in the simulation (except for the ones in the central headquarters) run ospfd, a daemon process from the Zebra Suite that implements OSPF protocol. This protocol allows each router to configure dynamic routes so, after a convergence time, global connectivity is achive once the simulation has been started. You'll need to download the [ospf_lab_conf.tar.gz configuration for ospfd daemons] and unpacked it in the examples directory:
cd /usr/share/vnuml/examples
tar xfvz ospf_lab_conf.tar.gz
Note that this is a very big VNUML simulation, involving 51 virtual machines and 45 virtual networks. So, be aware that the hosting machine could get stressed (or even worse!). You can use the -w switch to increase the boot timeout (see User Manual for details). For example:
vnumlparser.pl -t ospf_lab.xml -v -w 120
(However, if your simulation is too big for your host, try to use a tiner version of the VNUML specification. For example, try to remove some of the regional headquarters and/or sites. There is a [ospf_lab_tiny.xml tiny version of ospf_lab.xml] with regional headquarters C, D and E; sites 2, 3 and 11; and servers SRA, RFB and SRF commented out in the XML)
Some examples of test performed with this virtual scenario:
Connectivity from PC01 to PC12:
PC01:~# traceroute -n 195.1.95.66
traceroute to 195.1.95.66 (195.1.95.66), 30 hops max, 38 byte packets
1 195.1.85.1 0.647 ms 0.614 ms 0.526 ms
2 195.1.95.193 0.976 ms 140.597 ms 0.814 ms
3 195.1.84.1 15.086 ms 1.097 ms 1.182 ms
4 195.1.95.161 1.404 ms 1.299 ms 1.322 ms
5 195.1.95.129 5.458 ms 2.132 ms 2.156 ms
6 195.1.95.138 11.272 ms 2.355 ms 2.301 ms
7 195.1.95.182 2.874 ms 2.798 ms 68.750 ms
8 195.1.94.2 3.377 ms 2.919 ms 3.116 ms
9 195.1.95.238 3.328 ms 3.189 ms 4.028 ms
10 195.1.95.66 4.896 ms 3.875 ms 4.395 ms
Connectivity from PC01 to PC04:
PC01:~# traceroute -n 195.1.87.66
traceroute to 195.1.87.66 (195.1.87.66), 30 hops max, 38 byte packets
1 195.1.85.1 1.127 ms 0.461 ms 0.494 ms
2 195.1.95.193 0.906 ms 0.701 ms 0.983 ms
3 195.1.84.1 1.230 ms 1.569 ms 1.249 ms
4 195.1.95.161 1.347 ms 1.309 ms 1.287 ms
5 195.1.95.166 2.131 ms 1.970 ms 1.753 ms
6 195.1.86.2 2.286 ms 2.622 ms 2.124 ms
7 195.1.95.206 2.449 ms 2.200 ms 2.647 ms
8 195.1.87.66 3.022 ms 2.741 ms 3.103 ms
Connectivity from PC01 to SC:
PC01:~# traceroute -n 10.0.11.22
traceroute to 10.0.11.22 (10.0.11.22), 30 hops max, 38 byte packets
1 195.1.85.1 0.599 ms 0.613 ms 0.503 ms
2 195.1.95.193 0.842 ms 0.790 ms 0.978 ms
3 195.1.84.1 1.291 ms 1.443 ms 1.084 ms
4 195.1.95.161 1.447 ms 1.318 ms 29.843 ms
5 195.1.95.129 2.391 ms 2.183 ms 1.761 ms
6 10.0.11.22 2.067 ms 2.153 ms 2.124 ms
OSPF information from ospfd at RB1:
RB1> show ip ospf route
============ OSPF network routing table ============
N 10.0.11.0/24 [10] area: (0.0.0.0)
directly attached to eth3
N 195.1.84.0/26 [30] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.85.0/26 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.85.64/26 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.86.0/26 [30] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.87.0/26 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.87.64/26 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.88.0/26 [40] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.89.0/26 [60] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.89.64/26 [60] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.90.0/26 [40] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.91.0/26 [60] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.91.64/26 [60] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.92.0/26 [30] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.93.0/26 [50] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.93.64/26 [50] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.94.0/26 [30] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.0/26 [50] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.64/26 [50] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.128/30 [10] area: (0.0.0.0)
directly attached to eth1
N 195.1.95.132/30 [20] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.95.136/30 [20] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.140/30 [10] area: (0.0.0.0)
directly attached to eth2
N 195.1.95.160/30 [20] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.130, eth1
N 195.1.95.164/30 [20] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.95.168/30 [30] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.95.172/30 [30] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.95.176/30 [20] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.180/30 [20] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.192/30 [40] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.95.196/30 [40] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.95.200/30 [40] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.95.204/30 [40] area: (0.0.0.0)
via 195.1.95.130, eth1
N 195.1.95.208/30 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.95.212/30 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.95.216/30 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.95.220/30 [50] area: (0.0.0.0)
via 195.1.95.130, eth1
via 195.1.95.142, eth2
N 195.1.95.224/30 [40] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.228/30 [40] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.232/30 [40] area: (0.0.0.0)
via 195.1.95.142, eth2
N 195.1.95.236/30 [40] area: (0.0.0.0)
via 195.1.95.142, eth2
============ OSPF external routing table ===========
RB1> show ip ospf neighbor
Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
195.1.95.165 1 Full/DR 00:00:37 195.1.95.130 eth1:195.1.95.129 0 0 0
195.1.95.181 1 Full/DR 00:00:33 195.1.95.142 eth2:195.1.95.141 0 0 0
RB1> show ip ospf interface
...
eth1 is up, line protocol is up
Internet Address 195.1.95.129/30, Area (0.0.0.0)
Router ID 195.1.95.141, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State Backup, Priority 1
Designated Router (ID) 195.1.95.165, Interface Address 195.1.95.130
Backup Designated Router (ID) 195.1.95.141, Interface Address 195.1.95.129
Timer intarvals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:09
Neighbor Count is 1, Adjacent neighbor count is 1
eth2 is up, line protocol is up
Internet Address 195.1.95.141/30, Area (0.0.0.0)
Router ID 195.1.95.141, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State Backup, Priority 1
Designated Router (ID) 195.1.95.181, Interface Address 195.1.95.142
Backup Designated Router (ID) 195.1.95.141, Interface Address 195.1.95.141
Timer intarvals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:09
Neighbor Count is 1, Adjacent neighbor count is 1
eth3 is up, line protocol is up
Internet Address 10.0.11.50/24, Area (0.0.0.0)
Router ID 195.1.95.141, Network Type BROADCAST, Cost: 10
Transmit Delay is 1 sec, State DR, Priority 1
Designated Router (ID) 195.1.95.141, Interface Address 10.0.11.50
No backup designated router on this network
Timer intarvals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
Hello due in 00:00:06
Neighbor Count is 0, Adjacent neighbor count is 0
...
You can download the simulation file from [ospf_lab.xml here].
The example could be improved in several ways. For example:
The simulation is too big and this has a significative impact when building topology. A solution could be to split the simulation in several pieces, and building only desired parts for each testing case. Read more about this in the [../../user/index.html#concurrent_simulations VNUML User Manual].
The provided configuration for ospfd daemons is quite simple: all the routers uses OSPF in all their directly connected networks and a single area is use. A multiarea configuration could be more desirable. In addition, some networks (specially PPP-like links between some routers) shouldn't be globally advertised.
[edit] VNUML Description
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd">
<!-- usual mask values:
/24 -> 255.255.255.0
/26 -> 255.255.255.192
/28 -> 255.255.255.240
/30 -> 255.255.255.252
-->
<vnuml>
<global>
<version>1.7</version>
<simulation_name>ospf_lab</simulation_name>
<ssh_version>1</ssh_version>
<ssh_key>~/.ssh/identity.pub</ssh_key>
<automac offset="0"/>
<vm_mgmt type="net" network="10.250.0.0" mask="24" offset="0">
<mgmt_net sock="/var/run/vnuml/Mgmt_net.ctl" hostip="10.250.0.1"/>
</vm_mgmt>
<vm_defaults>
<filesystem type="cow">/usr/share/vnuml/filesystems/root_fs_tutorial</filesystem>
<kernel>/usr/share/vnuml/kernels/linux</kernel>
<console id="0">pts</console>
</vm_defaults>
</global>
<net name="Core1" mode="uml_switch" /> <!-- 195.1.95.128/30 -->
<net name="Core2" mode="uml_switch" /> <!-- 195.1.95.132/30 -->
<net name="Core3" mode="uml_switch" /> <!-- 195.1.95.136/30 -->
<net name="Core4" mode="uml_switch" /> <!-- 195.1.95.140/30 -->
<net name="boneA" mode="uml_switch" /> <!-- 195.1.95.160/30 -->
<net name="boneB" mode="uml_switch" /> <!-- 195.1.95.164/30 -->
<net name="boneC" mode="uml_switch" /> <!-- 195.1.95.168/30 -->
<net name="boneD" mode="uml_switch" /> <!-- 195.1.95.172/30 -->
<net name="boneE" mode="uml_switch" /> <!-- 195.1.95.176/30 -->
<net name="boneF" mode="uml_switch" /> <!-- 195.1.95.180/30 -->
<net name="sedeA" mode="uml_switch" /> <!-- 195.1.84.0/26 -->
<net name="linkA01" mode="uml_switch" /> <!-- 195.1.95.192/30 -->
<net name="linkA02" mode="uml_switch" /> <!-- 195.1.95.196/30 -->
<net name="suc01" mode="uml_switch" /> <!-- 195.1.85.0/26 -->
<net name="suc02" mode="uml_switch" /> <!-- 195.1.85.64/26 -->
<net name="sedeB" mode="uml_switch" /> <!-- 195.1.86.0/26 -->
<net name="linkB03" mode="uml_switch" /> <!-- 195.1.95.200/30 -->
<net name="linkB04" mode="uml_switch" /> <!-- 195.1.95.204/30 -->
<net name="suc03" mode="uml_switch" /> <!-- 195.1.87.0/26-->
<net name="suc04" mode="uml_switch" /> <!-- 195.1.87.64/26 -->
<net name="sedeC" mode="uml_switch" /> <!-- 195.1.88.0/26 -->
<net name="linkC05" mode="uml_switch" /> <!-- 195.1.95.208/30 -->
<net name="linkC06" mode="uml_switch" /> <!-- 195.1.95.212/30 -->
<net name="suc05" mode="uml_switch" /> <!-- 195.1.89.0/26 -->
<net name="suc06" mode="uml_switch" /> <!-- 195.1.89.64/26 -->
<net name="sedeD" mode="uml_switch" /> <!-- 195.1.90.0/26 -->
<net name="linkD07" mode="uml_switch" /> <!-- 195.1.95.216/30 -->
<net name="linkD08" mode="uml_switch" /> <!-- 195.1.95.220/30 -->
<net name="suc07" mode="uml_switch" /> <!-- 195.1.91.0/26 -->
<net name="suc08" mode="uml_switch" /> <!-- 195.1.91.64/26 -->
<net name="sedeE" mode="uml_switch" /> <!-- 195.1.92.0/26 -->
<net name="linkE09" mode="uml_switch" /> <!-- 195.1.95.224/30 -->
<net name="linkE10" mode="uml_switch" /> <!-- 195.1.95.228/30 -->
<net name="suc09" mode="uml_switch" /> <!-- 195.1.93.0/26 -->
<net name="suc10" mode="uml_switch" /> <!-- 195.1.93.64/26 -->
<net name="sedeF" mode="uml_switch" /> <!-- 195.1.94.0/26 -->
<net name="linkF11" mode="uml_switch" /> <!-- 195.1.95.232/30 -->
<net name="linkF12" mode="uml_switch" /> <!-- 195.1.95.236/30 -->
<net name="suc11" mode="uml_switch" /> <!-- 195.1.95.0/26 -->
<net name="suc12" mode="uml_switch" /> <!-- 195.1.95.64/26 -->
<net name="centraC" mode="uml_switch" /> <!-- 10.0.11.0/24 -->
<net name="centra1" mode="uml_switch" /> <!-- 10.0.12.0/28 -->
<net name="centra2" mode="uml_switch" /> <!-- 10.0.12.16/28 -->
<net name="centra3" mode="uml_switch" /> <!-- 10.0.32.0/28 -->
<net name="centra4" mode="uml_switch" /> <!-- 10.0.12.48/28 -->
<!-- The Core -->
<vm name="RB1">
<if id="1" net="Core1">
<ipv4 mask="255.255.255.252">195.1.95.129</ipv4>
</if>
<if id="2" net="Core4">
<ipv4 mask="255.255.255.252">195.1.95.141</ipv4>
</if>
<if id="3" net="centraC">
<ipv4 mask="255.255.255.0">10.0.11.50</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RB1</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RB2">
<if id="1" net="Core1">
<ipv4 mask="255.255.255.252">195.1.95.130</ipv4>
</if>
<if id="2" net="Core2">
<ipv4 mask="255.255.255.252">195.1.95.133</ipv4>
</if>
<if id="3" net="boneA">
<ipv4 mask="255.255.255.252">195.1.95.161</ipv4>
</if>
<if id="4" net="boneB">
<ipv4 mask="255.255.255.252">195.1.95.165</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RB2</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RB3">
<if id="1" net="Core2">
<ipv4 mask="255.255.255.252">195.1.95.134</ipv4>
</if>
<if id="2" net="Core3">
<ipv4 mask="255.255.255.252">195.1.95.137</ipv4>
</if>
<if id="3" net="boneC">
<ipv4 mask="255.255.255.252">195.1.95.169</ipv4>
</if>
<if id="4" net="boneD">
<ipv4 mask="255.255.255.252">195.1.95.173</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RB3</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RB4">
<if id="1" net="Core3">
<ipv4 mask="255.255.255.252">195.1.95.138</ipv4>
</if>
<if id="2" net="Core4">
<ipv4 mask="255.255.255.252">195.1.95.142</ipv4>
</if>
<if id="3" net="boneE">
<ipv4 mask="255.255.255.252">195.1.95.177</ipv4>
</if>
<if id="4" net="boneF">
<ipv4 mask="255.255.255.252">195.1.95.181</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RB4</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<!-- Regional headquarters A -->
<vm name="RRA1">
<if id="1" net="boneA">
<ipv4 mask="255.255.255.252">195.1.95.162</ipv4>
</if>
<if id="2" net="sedeA">
<ipv4 mask="255.255.255.192">195.1.84.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRA1</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RRA2">
<if id="1" net="sedeA">
<ipv4 mask="255.255.255.192">195.1.84.2</ipv4>
</if>
<if id="2" net="linkA01">
<ipv4 mask="255.255.255.252">195.1.95.193</ipv4>
</if>
<if id="3" net="linkA02">
<ipv4 mask="255.255.255.252">195.1.95.197</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRA2</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="SRA">
<if id="1" net="sedeA">
<ipv4 mask="255.255.255.192">195.1.84.3</ipv4>
</if>
<route type="ipv4" gw="195.1.84.1">default</route>
</vm>
<!-- Site 01 -->
<vm name="rout01">
<if id="1" net="linkA01">
<ipv4 mask="255.255.255.252">195.1.95.194</ipv4>
</if>
<if id="2" net="suc01">
<ipv4 mask="255.255.255.192">195.1.85.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout01</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC01">
<if id="1" net="suc01">
<ipv4 mask="255.255.255.192">195.1.85.2</ipv4>
</if>
<route type="ipv4" gw="195.1.85.1">default</route>
</vm>
<!-- Site 02 -->
<vm name="rout02">
<if id="1" net="linkA02">
<ipv4 mask="255.255.255.252">195.1.95.198</ipv4>
</if>
<if id="2" net="suc02">
<ipv4 mask="255.255.255.192">195.1.85.65</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout02</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC02">
<if id="1" net="suc02">
<ipv4 mask="255.255.255.192">195.1.85.66</ipv4>
</if>
<route type="ipv4" gw="195.1.85.65">default</route>
</vm>
<!-- Regional headquarters B -->
<vm name="RRB1">
<if id="1" net="boneB">
<ipv4 mask="255.255.255.252">195.1.95.166</ipv4>
</if>
<if id="2" net="sedeB">
<ipv4 mask="255.255.255.192">195.1.86.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRB1</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RRB2">
<if id="1" net="sedeB">
<ipv4 mask="255.255.255.192">195.1.86.2</ipv4>
</if>
<if id="2" net="linkB03">
<ipv4 mask="255.255.255.252">195.1.95.201</ipv4>
</if>
<if id="3" net="linkB04">
<ipv4 mask="255.255.255.252">195.1.95.205</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRB2</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="SRB">
<if id="1" net="sedeB">
<ipv4 mask="255.255.255.192">195.1.86.3</ipv4>
</if>
<route type="ipv4" gw="195.1.86.1">default</route>
</vm>
<!-- Site 03 -->
<vm name="rout03">
<if id="1" net="linkB03">
<ipv4 mask="255.255.255.252">195.1.95.202</ipv4>
</if>
<if id="2" net="suc03">
<ipv4 mask="255.255.255.192">195.1.87.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout03</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC03">
<if id="1" net="suc03">
<ipv4 mask="255.255.255.192">195.1.87.2</ipv4>
</if>
<route type="ipv4" gw="195.1.87.1">default</route>
</vm>
<!-- Site 04 -->
<vm name="rout04">
<if id="1" net="linkB04">
<ipv4 mask="255.255.255.252">195.1.95.206</ipv4>
</if>
<if id="2" net="suc04">
<ipv4 mask="255.255.255.192">195.1.87.65</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout04</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC04">
<if id="1" net="suc04">
<ipv4 mask="255.255.255.192">195.1.87.66</ipv4>
</if>
<route type="ipv4" gw="195.1.87.65">default</route>
</vm>
<!-- Regional headquarters C -->
<vm name="RRC1">
<if id="1" net="boneC">
<ipv4 mask="255.255.255.252">195.1.95.170</ipv4>
</if>
<if id="2" net="sedeC">
<ipv4 mask="255.255.255.192">195.1.88.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRC1</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RRC2">
<if id="1" net="sedeC">
<ipv4 mask="255.255.255.192">195.1.88.2</ipv4>
</if>
<if id="2" net="linkC05">
<ipv4 mask="255.255.255.252">195.1.95.209</ipv4>
</if>
<if id="3" net="linkC06">
<ipv4 mask="255.255.255.252">195.1.95.213</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRC2</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="SRC">
<if id="1" net="sedeC">
<ipv4 mask="255.255.255.192">195.1.88.3</ipv4>
</if>
<route type="ipv4" gw="195.1.88.1">default</route>
</vm>
<!-- Site 05 -->
<vm name="rout05">
<if id="1" net="linkC05">
<ipv4 mask="255.255.255.252">195.1.95.210</ipv4>
</if>
<if id="2" net="suc05">
<ipv4 mask="255.255.255.192">195.1.89.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout05</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC05">
<if id="1" net="suc05">
<ipv4 mask="255.255.255.192">195.1.89.2</ipv4>
</if>
<route type="ipv4" gw="195.1.89.1">default</route>
</vm>
<!-- Site 06 -->
<vm name="rout06">
<if id="1" net="linkC06">
<ipv4 mask="255.255.255.252">195.1.95.214</ipv4>
</if>
<if id="2" net="suc06">
<ipv4 mask="255.255.255.192">195.1.89.65</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout06</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC06">
<if id="1" net="suc06">
<ipv4 mask="255.255.255.192">195.1.89.66</ipv4>
</if>
<route type="ipv4" gw="195.1.89.65">default</route>
</vm>
<!-- Regional headquarters D -->
<vm name="RRD1">
<if id="1" net="boneD">
<ipv4 mask="255.255.255.252">195.1.95.174</ipv4>
</if>
<if id="2" net="sedeD">
<ipv4 mask="255.255.255.192">195.1.90.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRD1</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RRD2">
<if id="1" net="sedeD">
<ipv4 mask="255.255.255.192">195.1.90.2</ipv4>
</if>
<if id="2" net="linkD07">
<ipv4 mask="255.255.255.252">195.1.95.217</ipv4>
</if>
<if id="3" net="linkD08">
<ipv4 mask="255.255.255.252">195.1.95.221</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRD2</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="SRD">
<if id="1" net="sedeD">
<ipv4 mask="255.255.255.192">195.1.90.3</ipv4>
</if>
<route type="ipv4" gw="195.1.90.1">default</route>
</vm>
<!-- Site 07 -->
<vm name="rout07">
<if id="1" net="linkD07">
<ipv4 mask="255.255.255.252">195.1.95.218</ipv4>
</if>
<if id="2" net="suc07">
<ipv4 mask="255.255.255.192">195.1.91.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout07</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC07">
<if id="1" net="suc07">
<ipv4 mask="255.255.255.192">195.1.91.2</ipv4>
</if>
<route type="ipv4" gw="195.1.91.1">default</route>
</vm>
<!-- Site 08 -->
<vm name="rout08">
<if id="1" net="linkD08">
<ipv4 mask="255.255.255.252">195.1.95.222</ipv4>
</if>
<if id="2" net="suc08">
<ipv4 mask="255.255.255.192">195.1.91.65</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout08</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC08">
<if id="1" net="suc08">
<ipv4 mask="255.255.255.192">195.1.91.66</ipv4>
</if>
<route type="ipv4" gw="195.1.91.65">default</route>
</vm>
<!-- Regional headquarters E -->
<vm name="RRE1">
<if id="1" net="boneE">
<ipv4 mask="255.255.255.252">195.1.95.178</ipv4>
</if>
<if id="2" net="sedeE">
<ipv4 mask="255.255.255.192">195.1.92.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRE1</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RRE2">
<if id="1" net="sedeE">
<ipv4 mask="255.255.255.192">195.1.92.2</ipv4>
</if>
<if id="2" net="linkE09">
<ipv4 mask="255.255.255.252">195.1.95.225</ipv4>
</if>
<if id="3" net="linkE10">
<ipv4 mask="255.255.255.252">195.1.95.229</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRE2</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="SRE">
<if id="1" net="sedeE">
<ipv4 mask="255.255.255.192">195.1.92.3</ipv4>
</if>
<route type="ipv4" gw="195.1.92.1">default</route>
</vm>
<!-- Site 09 -->
<vm name="rout09">
<if id="1" net="linkE09">
<ipv4 mask="255.255.255.252">195.1.95.226</ipv4>
</if>
<if id="2" net="suc09">
<ipv4 mask="255.255.255.192">195.1.93.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout09</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC09">
<if id="1" net="suc09">
<ipv4 mask="255.255.255.192">195.1.93.2</ipv4>
</if>
<route type="ipv4" gw="195.1.93.1">default</route>
</vm>
<!-- Site 10 -->
<vm name="rout10">
<if id="1" net="linkE10">
<ipv4 mask="255.255.255.252">195.1.95.230</ipv4>
</if>
<if id="2" net="suc10">
<ipv4 mask="255.255.255.192">195.1.93.65</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout10</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC10">
<if id="1" net="suc10">
<ipv4 mask="255.255.255.192">195.1.93.66</ipv4>
</if>
<route type="ipv4" gw="195.1.93.65">default</route>
</vm>
<!-- Regional headquarters F -->
<vm name="RRF1">
<if id="1" net="boneF">
<ipv4 mask="255.255.255.252">195.1.95.182</ipv4>
</if>
<if id="2" net="sedeF">
<ipv4 mask="255.255.255.192">195.1.94.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRF1</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="RRF2">
<if id="1" net="sedeF">
<ipv4 mask="255.255.255.192">195.1.94.2</ipv4>
</if>
<if id="2" net="linkF11">
<ipv4 mask="255.255.255.252">195.1.95.233</ipv4>
</if>
<if id="3" net="linkF12">
<ipv4 mask="255.255.255.252">195.1.95.237</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/RRF2</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="SRF">
<if id="1" net="sedeF">
<ipv4 mask="255.255.255.192">195.1.94.3</ipv4>
</if>
<route type="ipv4" gw="195.1.94.1">default</route>
</vm>
<!-- Site 11 -->
<vm name="rout11">
<if id="1" net="linkF11">
<ipv4 mask="255.255.255.252">195.1.95.234</ipv4>
</if>
<if id="2" net="suc11">
<ipv4 mask="255.255.255.192">195.1.95.1</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout11</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC11">
<if id="1" net="suc11">
<ipv4 mask="255.255.255.192">195.1.95.2</ipv4>
</if>
<route type="ipv4" gw="195.1.95.1">default</route>
</vm>
<!-- Site 12 -->
<vm name="rout12">
<if id="1" net="linkF12">
<ipv4 mask="255.255.255.252">195.1.95.238</ipv4>
</if>
<if id="2" net="suc12">
<ipv4 mask="255.255.255.192">195.1.95.65</ipv4>
</if>
<forwarding type="ip"/>
<filetree root="/etc/zebra" when="start">/usr/share/vnuml/examples/conf/ospf_lab/rout12</filetree>
<exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 amp;gt; $f; done</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/zebra -f /etc/zebra/zebra.conf -d</exec>
<exec seq="start" type="verbatim">/usr/local/sbin/ospfd -f /etc/zebra/ospfd.conf -d</exec>
<exec seq="stop" type="verbatim">killall zebra</exec>
<exec seq="stop" type="verbatim">killall ospfd</exec>
</vm>
<vm name="PC12">
<if id="1" net="suc12">
<ipv4 mask="255.255.255.192">195.1.95.66</ipv4>
</if>
<route type="ipv4" gw="195.1.95.65">default</route>
</vm>
<!-- Central headquarters -->
<vm name="RC1">
<if id="1" net="centraC">
<ipv4 mask="255.255.255.0">10.0.11.1</ipv4>
</if>
<if id="2" net="centra1">
<ipv4 mask="255.255.255.240">10.0.12.1</ipv4>
</if>
<route type="ipv4" gw="10.0.11.50">default</route>
</vm>
<vm name="RC2">
<if id="1" net="centraC">
<ipv4 mask="255.255.255.0">10.0.11.2</ipv4>
</if>
<if id="2" net="centra2">
<ipv4 mask="255.255.255.240">10.0.12.17</ipv4>
</if>
<route type="ipv4" gw="10.0.11.50">default</route>
</vm>
<vm name="RC3">
<if id="1" net="centraC">
<ipv4 mask="255.255.255.0">10.0.11.3</ipv4>
</if>
<if id="2" net="centra3">
<ipv4 mask="255.255.255.240">10.0.32.1</ipv4>
</if>
<route type="ipv4" gw="10.0.11.50">default</route>
</vm>
<vm name="RC4">
<if id="1" net="centraC">
<ipv4 mask="255.255.255.0">10.0.11.4</ipv4>
</if>
<if id="2" net="centra3">
<ipv4 mask="255.255.255.240">10.0.12.49</ipv4>
</if>
<route type="ipv4" gw="10.0.11.50">default</route>
</vm>
<vm name="SC">
<if id="1" net="centraC">
<ipv4 mask="255.255.255.0">10.0.11.22</ipv4>
</if>
<route type="ipv4" gw="10.0.11.50">default</route>
</vm>
</vnuml>
[edit] Downloadhttp://netemu.cn/admin/index.php?iframe=1