Example-OSPF

Authors: Fermín Galán (galan at dit.upm.es) David Fern&aacute;ndez (david at dit.upm.es) version 1.8, October 3rd, 2007

Scenario
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 [[Media:Ospf_lab.jpg|here]] to see a high resolution copy of the map. cd /usr/share/vnuml/examples tar xfvz ospf_lab_conf.tar.gz
 * 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:

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.

VNUML Description
 <!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd" [ <!ENTITY VNUMLDIR "/usr/share/vnuml/"> <!ENTITY REDIR "&lt;/dev/null &gt;/dev/null 2&gt;&amp;1 &amp;"> ]>

1.8    ospf_lab 1 ~/.ssh/identity.pub     &VNUMLDIR;/filesystems/root_fs_tutorial &VNUMLDIR;/kernels/linux pts 

    <net name="boneA" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneB" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneC" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneD" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneE" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="boneF" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeA" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkA01" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkA02" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc01" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc02" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeB" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkB03" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkB04" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc03" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc04" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeC" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkC05" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkC06" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc05" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc06" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeD" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkD07" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkD08" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc07" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc08" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeE" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkE09" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkE10" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc09" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc10" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="sedeF" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkF11" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="linkF12" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc11" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="suc12" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centraC" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra1" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra2" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra3" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/> <net name="centra4" mode="uml_switch" sock="" type="lan" external="" vlan="" hub="no"/>

<vm name="RB1" order=""> <if id="1" net="Core1"> <ipv4 mask="255.255.255.252">195.1.95.129 </if> <if id="2" net="Core4"> <ipv4 mask="255.255.255.252">195.1.95.141 </if> <if id="3" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.50 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB1 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RB2" order=""> <if id="1" net="Core1"> <ipv4 mask="255.255.255.252">195.1.95.130 </if> <if id="2" net="Core2"> <ipv4 mask="255.255.255.252">195.1.95.133 </if> <if id="3" net="boneA"> <ipv4 mask="255.255.255.252">195.1.95.161 </if> <if id="4" net="boneB"> <ipv4 mask="255.255.255.252">195.1.95.165 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB2 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RB3" order=""> <if id="1" net="Core2"> <ipv4 mask="255.255.255.252">195.1.95.134 </if> <if id="2" net="Core3"> <ipv4 mask="255.255.255.252">195.1.95.137 </if> <if id="3" net="boneC"> <ipv4 mask="255.255.255.252">195.1.95.169 </if> <if id="4" net="boneD"> <ipv4 mask="255.255.255.252">195.1.95.173 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB3 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RB4" order=""> <if id="1" net="Core3"> <ipv4 mask="255.255.255.252">195.1.95.138 </if> <if id="2" net="Core4"> <ipv4 mask="255.255.255.252">195.1.95.142 </if> <if id="3" net="boneE"> <ipv4 mask="255.255.255.252">195.1.95.177 </if> <if id="4" net="boneF"> <ipv4 mask="255.255.255.252">195.1.95.181 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RB4 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RRA1" order=""> <if id="1" net="boneA"> <ipv4 mask="255.255.255.252">195.1.95.162 </if> <if id="2" net="sedeA"> <ipv4 mask="255.255.255.192">195.1.84.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRA1 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RRA2" order=""> <if id="1" net="sedeA"> <ipv4 mask="255.255.255.192">195.1.84.2 </if> <if id="2" net="linkA01"> <ipv4 mask="255.255.255.252">195.1.95.193 </if> <if id="3" net="linkA02"> <ipv4 mask="255.255.255.252">195.1.95.197 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRA2 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="SRA" order=""> <if id="1" net="sedeA"> <ipv4 mask="255.255.255.192">195.1.84.3 </if> <route type="ipv4" gw="195.1.84.1">default </vm>

<vm name="rout01" order=""> <if id="1" net="linkA01"> <ipv4 mask="255.255.255.252">195.1.95.194 </if> <ipv4 mask="255.255.255.192">195.1.85.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout01 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC01" order=""> <ipv4 mask="255.255.255.192">195.1.85.2 </if> <route type="ipv4" gw="195.1.85.1">default </vm>

<vm name="rout02" order=""> <if id="1" net="linkA02"> <ipv4 mask="255.255.255.252">195.1.95.198 </if> <ipv4 mask="255.255.255.192">195.1.85.65 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout02 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC02" order=""> <ipv4 mask="255.255.255.192">195.1.85.66 </if> <route type="ipv4" gw="195.1.85.65">default </vm>

<vm name="RRB1" order=""> <if id="1" net="boneB"> <ipv4 mask="255.255.255.252">195.1.95.166 </if> <if id="2" net="sedeB"> <ipv4 mask="255.255.255.192">195.1.86.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRB1 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RRB2" order=""> <if id="1" net="sedeB"> <ipv4 mask="255.255.255.192">195.1.86.2 </if> <if id="2" net="linkB03"> <ipv4 mask="255.255.255.252">195.1.95.201 </if> <if id="3" net="linkB04"> <ipv4 mask="255.255.255.252">195.1.95.205 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRB2 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="SRB" order=""> <if id="1" net="sedeB"> <ipv4 mask="255.255.255.192">195.1.86.3 </if> <route type="ipv4" gw="195.1.86.1">default </vm>

<vm name="rout03" order=""> <if id="1" net="linkB03"> <ipv4 mask="255.255.255.252">195.1.95.202 </if> <ipv4 mask="255.255.255.192">195.1.87.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout03 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC03" order=""> <ipv4 mask="255.255.255.192">195.1.87.2 </if> <route type="ipv4" gw="195.1.87.1">default </vm> <vm name="rout04" order="">

<if id="1" net="linkB04"> <ipv4 mask="255.255.255.252">195.1.95.206 </if> <ipv4 mask="255.255.255.192">195.1.87.65 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout04 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC04" order=""> <ipv4 mask="255.255.255.192">195.1.87.66 </if> <route type="ipv4" gw="195.1.87.65">default </vm>

<vm name="RRC1" order=""> <if id="1" net="boneC"> <ipv4 mask="255.255.255.252">195.1.95.170 </if> <if id="2" net="sedeC"> <ipv4 mask="255.255.255.192">195.1.88.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRC1 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RRC2" order=""> <if id="1" net="sedeC"> <ipv4 mask="255.255.255.192">195.1.88.2 </if> <if id="2" net="linkC05"> <ipv4 mask="255.255.255.252">195.1.95.209 </if> <if id="3" net="linkC06"> <ipv4 mask="255.255.255.252">195.1.95.213 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRC2 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="SRC" order=""> <if id="1" net="sedeC"> <ipv4 mask="255.255.255.192">195.1.88.3 </if> <route type="ipv4" gw="195.1.88.1">default </vm>

<vm name="rout05" order=""> <if id="1" net="linkC05"> <ipv4 mask="255.255.255.252">195.1.95.210 </if> <ipv4 mask="255.255.255.192">195.1.89.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout05 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC05" order=""> <ipv4 mask="255.255.255.192">195.1.89.2 </if> <route type="ipv4" gw="195.1.89.1">default </vm>

<vm name="rout06" order=""> <if id="1" net="linkC06"> <ipv4 mask="255.255.255.252">195.1.95.214 </if> <ipv4 mask="255.255.255.192">195.1.89.65 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout06 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC06" order=""> <ipv4 mask="255.255.255.192">195.1.89.66 </if> <route type="ipv4" gw="195.1.89.65">default </vm>

<vm name="RRD1" order=""> <if id="1" net="boneD"> <ipv4 mask="255.255.255.252">195.1.95.174 </if> <if id="2" net="sedeD"> <ipv4 mask="255.255.255.192">195.1.90.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRD1 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RRD2" order=""> <if id="1" net="sedeD"> <ipv4 mask="255.255.255.192">195.1.90.2 </if> <if id="2" net="linkD07"> <ipv4 mask="255.255.255.252">195.1.95.217 </if> <if id="3" net="linkD08"> <ipv4 mask="255.255.255.252">195.1.95.221 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRD2 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="SRD" order=""> <if id="1" net="sedeD"> <ipv4 mask="255.255.255.192">195.1.90.3 </if> <route type="ipv4" gw="195.1.90.1">default </vm>

<vm name="rout07" order=""> <if id="1" net="linkD07"> <ipv4 mask="255.255.255.252">195.1.95.218 </if> <ipv4 mask="255.255.255.192">195.1.91.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout07 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC07" order=""> <ipv4 mask="255.255.255.192">195.1.91.2 </if> <route type="ipv4" gw="195.1.91.1">default </vm>

<vm name="rout08" order=""> <if id="1" net="linkD08"> <ipv4 mask="255.255.255.252">195.1.95.222 </if> <ipv4 mask="255.255.255.192">195.1.91.65 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout08 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC08" order=""> <ipv4 mask="255.255.255.192">195.1.91.66 </if> <route type="ipv4" gw="195.1.91.65">default </vm>

<vm name="RRE1" order=""> <if id="1" net="boneE"> <ipv4 mask="255.255.255.252">195.1.95.178 </if> <if id="2" net="sedeE"> <ipv4 mask="255.255.255.192">195.1.92.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRE1 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RRE2" order=""> <if id="1" net="sedeE"> <ipv4 mask="255.255.255.192">195.1.92.2 </if> <if id="2" net="linkE09"> <ipv4 mask="255.255.255.252">195.1.95.225 </if> <if id="3" net="linkE10"> <ipv4 mask="255.255.255.252">195.1.95.229 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRE2 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="SRE" order=""> <if id="1" net="sedeE"> <ipv4 mask="255.255.255.192">195.1.92.3 </if> <route type="ipv4" gw="195.1.92.1">default </vm>

<vm name="rout09" order=""> <if id="1" net="linkE09"> <ipv4 mask="255.255.255.252">195.1.95.226 </if> <ipv4 mask="255.255.255.192">195.1.93.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout09 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC09" order=""> <ipv4 mask="255.255.255.192">195.1.93.2 </if> <route type="ipv4" gw="195.1.93.1">default </vm>

<vm name="rout10" order=""> <if id="1" net="linkE10"> <ipv4 mask="255.255.255.252">195.1.95.230 </if> <ipv4 mask="255.255.255.192">195.1.93.65 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout10 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC10" order=""> <ipv4 mask="255.255.255.192">195.1.93.66 </if> <route type="ipv4" gw="195.1.93.65">default </vm>

<vm name="RRF1" order=""> <if id="1" net="boneF"> <ipv4 mask="255.255.255.252">195.1.95.182 </if> <if id="2" net="sedeF"> <ipv4 mask="255.255.255.192">195.1.94.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRF1 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="RRF2" order=""> <if id="1" net="sedeF"> <ipv4 mask="255.255.255.192">195.1.94.2 </if> <if id="2" net="linkF11"> <ipv4 mask="255.255.255.252">195.1.95.233 </if> <if id="3" net="linkF12"> <ipv4 mask="255.255.255.252">195.1.95.237 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/RRF2 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="SRF" order=""> <if id="1" net="sedeF"> <ipv4 mask="255.255.255.192">195.1.94.3 </if> <route type="ipv4" gw="195.1.94.1">default </vm>

<vm name="rout11" order=""> <if id="1" net="linkF11"> <ipv4 mask="255.255.255.252">195.1.95.234 </if> <ipv4 mask="255.255.255.192">195.1.95.1 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout11 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC11" order=""> <ipv4 mask="255.255.255.192">195.1.95.2 </if> <route type="ipv4" gw="195.1.95.1">default </vm>

<vm name="rout12" order=""> <if id="1" net="linkF12"> <ipv4 mask="255.255.255.252">195.1.95.238 </if> <ipv4 mask="255.255.255.192">195.1.95.65 </if> <filetree root="/etc/quagga" seq="start">conf/ospf_lab/rout12 <exec seq="start" type="verbatim">for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 &gt; $f; done <exec seq="start" type="verbatim">/usr/lib/quagga/zebra -d <exec seq="start" type="verbatim">/usr/lib/quagga/ospfd -d <exec seq="stop" type="verbatim">killall zebra <exec seq="stop" type="verbatim">killall ospfd </vm>

<vm name="PC12" order=""> <ipv4 mask="255.255.255.192">195.1.95.66 </if> <route type="ipv4" gw="195.1.95.65">default </vm>

<vm name="RC1" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.1 </if> <if id="2" net="centra1"> <ipv4 mask="255.255.255.240">10.0.12.1 </if> <route type="ipv4" gw="10.0.11.50">default </vm>

<vm name="RC2" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.2 </if> <if id="2" net="centra2"> <ipv4 mask="255.255.255.240">10.0.12.17 </if> <route type="ipv4" gw="10.0.11.50">default </vm>

<vm name="RC3" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.3 </if> <if id="2" net="centra3"> <ipv4 mask="255.255.255.240">10.0.32.1 </if> <route type="ipv4" gw="10.0.11.50">default </vm>

<vm name="RC4" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.4 </if> <if id="2" net="centra3"> <ipv4 mask="255.255.255.240">10.0.12.49 </if> <route type="ipv4" gw="10.0.11.50">default </vm>

<vm name="SC" order=""> <if id="1" net="centraC"> <ipv4 mask="255.255.255.0">10.0.11.22 </if> <route type="ipv4" gw="10.0.11.50">default </vm>

Download

 * VNUML specification files: ospf_lab.xml, ospf_lab_tiny.xml
 * Configuration files: ospf_lab_conf.tar

N3VLR

 * N3VLR version: n3vlr

Old Releases

 * 1.3
 * 1.6
 * 1.7