Example-OSPF 1.9

Authors: Fermín Galán (galan at dit.upm.es) David Fern&aacute;ndez (david at dit.upm.es) Francisco José Martín Moreno (fjmartin at dit.upm.es) Miguel Ferrer Cámara (mferrer at dit.upm.es) version 1.9, January 29th, 2009

Scenario
This example shows the VNUML implementation of a networking laboratory for OSPF dynamic 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. 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. Since version 1.9 of VNUML, you can configure virtual routers using OSPFD plugin with this configuration file.
 * 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).

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)

Once the scenario is up, start the routing daemons (which configuration files are automatically generated by the OSPF plugin) using the following command:

vnumlparser.pl -x start@ospf_lab.xml -v

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.9    ospf_lab 1 ~/.ssh/identity.pub     /usr/share/vnuml/filesystems/root_fs_tutorial 32M /usr/share/vnuml/kernels/linux /bin/bash pts  

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

<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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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>

OSPF plugin configuration file
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE ospf_conf SYSTEM '/usr/share/xml/vnuml/ospfd.dtd'> <ospf_conf> <vm name="RB1" type="quagga" subtype="lib-install"> <zebra hostname="RB1" password="xxxx"> 195.1.95.128</ip> 0.0.0.0         195.1.95.140</ip> 0.0.0.0         10.0.11.0</ip> 0.0.0.0   </vm> <vm name="RB2" type="quagga" subtype="lib-install"> <zebra hostname="RB2" password="xxxx"> 195.1.95.128</ip> 0.0.0.0         195.1.95.132</ip> 0.0.0.0         195.1.95.164</ip> 0.0.0.0         195.1.95.160</ip> 0.0.0.0   </vm> <vm name="RB3" type="quagga" subtype="lib-install"> <zebra hostname="RB3" password="xxxx"> 195.1.95.132</ip> 0.0.0.0         195.1.95.168</ip> 0.0.0.0         195.1.95.172</ip> 0.0.0.0         195.1.95.136</ip> 0.0.0.0   </vm> <vm name="RB4" type="quagga" subtype="lib-install"> <zebra hostname="RB4" password="xxxx"> 195.1.95.136</ip> 0.0.0.0         195.1.95.140</ip> 0.0.0.0         195.1.95.176</ip> 0.0.0.0         195.1.95.180</ip> 0.0.0.0   </vm> <vm name="rout01" type="quagga" subtype="lib-install"> <zebra hostname="rout01" password="xxxx"> 195.1.85.0</ip> 0.0.0.0         195.1.95.192</ip> 0.0.0.0   </vm> <vm name="rout02" type="quagga" subtype="lib-install"> <zebra hostname="rout02" password="xxxx"> 195.1.85.64</ip> 0.0.0.0         195.1.95.196</ip> 0.0.0.0   </vm> <vm name="rout03" type="quagga" subtype="lib-install"> <zebra hostname="rout03" password="xxxx"> 195.1.87.0</ip> 0.0.0.0         195.1.95.200</ip> 0.0.0.0   </vm> <vm name="rout04" type="quagga" subtype="lib-install"> <zebra hostname="rout04" password="xxxx"> 195.1.87.64</ip> 0.0.0.0         195.1.95.204</ip> 0.0.0.0   </vm> <vm name="rout05" type="quagga" subtype="lib-install"> <zebra hostname="rout05" password="xxxx"> 195.1.89.0</ip> 0.0.0.0         195.1.95.208</ip> 0.0.0.0   </vm> <vm name="rout06" type="quagga" subtype="lib-install"> <zebra hostname="rout06" password="xxxx"> 195.1.89.64</ip> 0.0.0.0         195.1.95.212</ip> 0.0.0.0   </vm> <vm name="rout07" type="quagga" subtype="lib-install"> <zebra hostname="rout07" password="xxxx"> 195.1.91.0</ip> 0.0.0.0         195.1.95.216</ip> 0.0.0.0   </vm> <vm name="rout08" type="quagga" subtype="lib-install"> <zebra hostname="rout08" password="xxxx"> 195.1.91.64</ip> 0.0.0.0         195.1.95.220</ip> 0.0.0.0   </vm> <vm name="rout09" type="quagga" subtype="lib-install"> <zebra hostname="rout09" password="xxxx"> 195.1.93.0</ip> 0.0.0.0         195.1.95.224</ip> 0.0.0.0   </vm> <vm name="rout10" type="quagga" subtype="lib-install"> <zebra hostname="rout10" password="xxxx"> 195.1.93.64</ip> 0.0.0.0         195.1.95.228</ip> 0.0.0.0   </vm> <vm name="rout11" type="quagga" subtype="lib-install"> <zebra hostname="rout11" password="xxxx"> 195.1.95.0</ip> 0.0.0.0         195.1.95.232</ip> 0.0.0.0   </vm> <vm name="rout12" type="quagga" subtype="lib-install"> <zebra hostname="rout12" password="xxxx"> 195.1.95.64</ip> 0.0.0.0         195.1.95.236</ip> 0.0.0.0   </vm> <vm name="RRA1" type="quagga" subtype="lib-install"> <zebra hostname="RRA1" password="xxxx"> 195.1.95.160</ip> 0.0.0.0         195.1.84.0</ip> 0.0.0.0   </vm> <vm name="RRA2" type="quagga" subtype="lib-install"> <zebra hostname="RRA2" password="xxxx"> 195.1.95.192</ip> 0.0.0.0         195.1.95.196</ip> 0.0.0.0         195.1.84.0</ip> 0.0.0.0   </vm> <vm name="RRB1" type="quagga" subtype="lib-install"> <zebra hostname="RRB1" password="xxxx"> 195.1.95.164</ip> 0.0.0.0         195.1.86.0</ip> 0.0.0.0   </vm> <vm name="RRB2" type="quagga" subtype="lib-install"> <zebra hostname="RRB2" password="xxxx"> 195.1.95.200</ip> 0.0.0.0         195.1.95.204</ip> 0.0.0.0         195.1.86.0</ip> 0.0.0.0   </vm> <vm name="RRC1" type="quagga" subtype="lib-install"> <zebra hostname="RRC1" password="xxxx"> 195.1.95.168</ip> 0.0.0.0         195.1.88.0</ip> 0.0.0.0   </vm> <vm name="RRC2" type="quagga" subtype="lib-install"> <zebra hostname="RRC2" password="xxxx"> 195.1.95.208</ip> 0.0.0.0         195.1.95.212</ip> 0.0.0.0         195.1.88.0</ip> 0.0.0.0   </vm> <vm name="RRD1" type="quagga" subtype="lib-install"> <zebra hostname="RRD1" password="xxxx"> 195.1.95.172</ip> 0.0.0.0         195.1.90.0</ip> 0.0.0.0   </vm> <vm name="RRD2" type="quagga" subtype="lib-install"> <zebra hostname="RRD2" password="xxxx"> 195.1.95.216</ip> 0.0.0.0         195.1.95.220</ip> 0.0.0.0         195.1.90.0</ip> 0.0.0.0   </vm> <vm name="RRE1" type="quagga" subtype="lib-install"> <zebra hostname="RRE1" password="xxxx"> 195.1.95.176</ip> 0.0.0.0         195.1.92.0</ip> 0.0.0.0   </vm> <vm name="RRE2" type="quagga" subtype="lib-install"> <zebra hostname="RRE2" password="xxxx"> 195.1.95.224</ip> 0.0.0.0         195.1.95.228</ip> 0.0.0.0         195.1.92.0</ip> 0.0.0.0   </vm> <vm name="RRF1" type="quagga" subtype="lib-install"> <zebra hostname="RRF1" password="xxxx"> 195.1.95.180</ip> 0.0.0.0         195.1.94.0</ip> 0.0.0.0   </vm> <vm name="RRF2" type="quagga" subtype="lib-install"> <zebra hostname="RRF2" password="xxxx"> 195.1.95.232</ip> 0.0.0.0         195.1.95.236</ip> 0.0.0.0         195.1.94.0</ip> 0.0.0.0   </vm> </ospf_conf>

Download

 * VNUML specification files: ospf_lab.xml, ospf_lab_tiny.xml
 * Configuration file: ospf_conf.xml

N3VLR

 * N3VLR version: n3vlr

Old Releases

 * 1.3
 * 1.6
 * 1.7
 * 1.8