Difference between revisions of "Example-OSPF 1.9"

From VNUML-WIKI
Jump to: navigation, search
(Old Releases)
 
(2 intermediate revisions by one other user not shown)
Line 34: Line 34:
 
(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)
 
(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 processed (which configuration files are automatically generated by the OSPF plugin) using the following command:
+
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
 
  vnumlparser.pl -x start@ospf_lab.xml -v
Line 759: Line 759:
  
 
<pre>
 
<pre>
 +
<?xml version='1.0' encoding='UTF-8'?>
 +
<!DOCTYPE ospf_conf SYSTEM '/usr/share/xml/vnuml/ospfd.dtd'>
 
<ospf_conf>
 
<ospf_conf>
 
   <vm name="RB1" type="quagga" subtype="lib-install">
 
   <vm name="RB1" type="quagga" subtype="lib-install">
       <zebra hostname="RB1" password="xxxx"> </zebra>
+
       <zebra hostname="RB1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.128</ip>
 
         <ip mask="30">195.1.95.128</ip>
Line 776: Line 778:
 
   </vm>
 
   </vm>
 
   <vm name="RB2" type="quagga" subtype="lib-install">
 
   <vm name="RB2" type="quagga" subtype="lib-install">
       <zebra hostname="RB2" password="xxxx"> </zebra>
+
       <zebra hostname="RB2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.128</ip>
 
         <ip mask="30">195.1.95.128</ip>
Line 795: Line 797:
 
   </vm>
 
   </vm>
 
   <vm name="RB3" type="quagga" subtype="lib-install">
 
   <vm name="RB3" type="quagga" subtype="lib-install">
       <zebra hostname="RB3" password="xxxx"> </zebra>
+
       <zebra hostname="RB3" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.132</ip>
 
         <ip mask="30">195.1.95.132</ip>
Line 814: Line 816:
 
   </vm>
 
   </vm>
 
   <vm name="RB4" type="quagga" subtype="lib-install">
 
   <vm name="RB4" type="quagga" subtype="lib-install">
       <zebra hostname="RB4" password="xxxx"> </zebra>
+
       <zebra hostname="RB4" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.136</ip>
 
         <ip mask="30">195.1.95.136</ip>
Line 833: Line 835:
 
   </vm>
 
   </vm>
 
   <vm name="rout01" type="quagga" subtype="lib-install">
 
   <vm name="rout01" type="quagga" subtype="lib-install">
       <zebra hostname="rout01" password="xxxx"> </zebra>
+
       <zebra hostname="rout01" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.85.0</ip>
 
         <ip mask="26">195.1.85.0</ip>
Line 844: Line 846:
 
   </vm>
 
   </vm>
 
   <vm name="rout02" type="quagga" subtype="lib-install">
 
   <vm name="rout02" type="quagga" subtype="lib-install">
       <zebra hostname="rout02" password="xxxx"> </zebra>
+
       <zebra hostname="rout02" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.85.64</ip>
 
         <ip mask="26">195.1.85.64</ip>
Line 855: Line 857:
 
   </vm>
 
   </vm>
 
   <vm name="rout03" type="quagga" subtype="lib-install">
 
   <vm name="rout03" type="quagga" subtype="lib-install">
       <zebra hostname="rout03" password="xxxx"> </zebra>
+
       <zebra hostname="rout03" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.87.0</ip>
 
         <ip mask="26">195.1.87.0</ip>
Line 866: Line 868:
 
   </vm>
 
   </vm>
 
   <vm name="rout04" type="quagga" subtype="lib-install">
 
   <vm name="rout04" type="quagga" subtype="lib-install">
       <zebra hostname="rout04" password="xxxx"> </zebra>
+
       <zebra hostname="rout04" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.87.64</ip>
 
         <ip mask="26">195.1.87.64</ip>
Line 877: Line 879:
 
   </vm>
 
   </vm>
 
   <vm name="rout05" type="quagga" subtype="lib-install">
 
   <vm name="rout05" type="quagga" subtype="lib-install">
       <zebra hostname="rout05" password="xxxx"> </zebra>
+
       <zebra hostname="rout05" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.89.0</ip>
 
         <ip mask="26">195.1.89.0</ip>
Line 888: Line 890:
 
   </vm>
 
   </vm>
 
   <vm name="rout06" type="quagga" subtype="lib-install">
 
   <vm name="rout06" type="quagga" subtype="lib-install">
       <zebra hostname="rout06" password="xxxx"> </zebra>
+
       <zebra hostname="rout06" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.89.64</ip>
 
         <ip mask="26">195.1.89.64</ip>
Line 899: Line 901:
 
   </vm>
 
   </vm>
 
   <vm name="rout07" type="quagga" subtype="lib-install">
 
   <vm name="rout07" type="quagga" subtype="lib-install">
       <zebra hostname="rout07" password="xxxx"> </zebra>
+
       <zebra hostname="rout07" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.91.0</ip>
 
         <ip mask="26">195.1.91.0</ip>
Line 910: Line 912:
 
   </vm>
 
   </vm>
 
   <vm name="rout08" type="quagga" subtype="lib-install">
 
   <vm name="rout08" type="quagga" subtype="lib-install">
       <zebra hostname="rout08" password="xxxx"> </zebra>
+
       <zebra hostname="rout08" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.91.64</ip>
 
         <ip mask="26">195.1.91.64</ip>
Line 921: Line 923:
 
   </vm>
 
   </vm>
 
   <vm name="rout09" type="quagga" subtype="lib-install">
 
   <vm name="rout09" type="quagga" subtype="lib-install">
       <zebra hostname="rout09" password="xxxx"> </zebra>
+
       <zebra hostname="rout09" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.93.0</ip>
 
         <ip mask="26">195.1.93.0</ip>
Line 932: Line 934:
 
   </vm>
 
   </vm>
 
   <vm name="rout10" type="quagga" subtype="lib-install">
 
   <vm name="rout10" type="quagga" subtype="lib-install">
       <zebra hostname="rout10" password="xxxx"> </zebra>
+
       <zebra hostname="rout10" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.93.64</ip>
 
         <ip mask="26">195.1.93.64</ip>
Line 943: Line 945:
 
   </vm>
 
   </vm>
 
   <vm name="rout11" type="quagga" subtype="lib-install">
 
   <vm name="rout11" type="quagga" subtype="lib-install">
       <zebra hostname="rout11" password="xxxx"> </zebra>
+
       <zebra hostname="rout11" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.95.0</ip>
 
         <ip mask="26">195.1.95.0</ip>
Line 954: Line 956:
 
   </vm>
 
   </vm>
 
   <vm name="rout12" type="quagga" subtype="lib-install">
 
   <vm name="rout12" type="quagga" subtype="lib-install">
       <zebra hostname="rout12" password="xxxx"> </zebra>
+
       <zebra hostname="rout12" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="26">195.1.95.64</ip>
 
         <ip mask="26">195.1.95.64</ip>
Line 965: Line 967:
 
   </vm>
 
   </vm>
 
   <vm name="RRA1" type="quagga" subtype="lib-install">
 
   <vm name="RRA1" type="quagga" subtype="lib-install">
       <zebra hostname="RRA1" password="xxxx"> </zebra>
+
       <zebra hostname="RRA1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.160</ip>
 
         <ip mask="30">195.1.95.160</ip>
Line 976: Line 978:
 
   </vm>
 
   </vm>
 
   <vm name="RRA2" type="quagga" subtype="lib-install">
 
   <vm name="RRA2" type="quagga" subtype="lib-install">
       <zebra hostname="RRA2" password="xxxx"> </zebra>
+
       <zebra hostname="RRA2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.192</ip>
 
         <ip mask="30">195.1.95.192</ip>
Line 991: Line 993:
 
   </vm>
 
   </vm>
 
   <vm name="RRB1" type="quagga" subtype="lib-install">
 
   <vm name="RRB1" type="quagga" subtype="lib-install">
       <zebra hostname="RRB1" password="xxxx"> </zebra>
+
       <zebra hostname="RRB1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.164</ip>
 
         <ip mask="30">195.1.95.164</ip>
Line 1,002: Line 1,004:
 
   </vm>
 
   </vm>
 
   <vm name="RRB2" type="quagga" subtype="lib-install">
 
   <vm name="RRB2" type="quagga" subtype="lib-install">
       <zebra hostname="RRB2" password="xxxx"> </zebra>
+
       <zebra hostname="RRB2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.200</ip>
 
         <ip mask="30">195.1.95.200</ip>
Line 1,017: Line 1,019:
 
   </vm>
 
   </vm>
 
   <vm name="RRC1" type="quagga" subtype="lib-install">
 
   <vm name="RRC1" type="quagga" subtype="lib-install">
       <zebra hostname="RRC1" password="xxxx"> </zebra>
+
       <zebra hostname="RRC1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.168</ip>
 
         <ip mask="30">195.1.95.168</ip>
Line 1,028: Line 1,030:
 
   </vm>
 
   </vm>
 
   <vm name="RRC2" type="quagga" subtype="lib-install">
 
   <vm name="RRC2" type="quagga" subtype="lib-install">
       <zebra hostname="RRC2" password="xxxx"> </zebra>
+
       <zebra hostname="RRC2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.208</ip>
 
         <ip mask="30">195.1.95.208</ip>
Line 1,043: Line 1,045:
 
   </vm>
 
   </vm>
 
   <vm name="RRD1" type="quagga" subtype="lib-install">
 
   <vm name="RRD1" type="quagga" subtype="lib-install">
       <zebra hostname="RRD1" password="xxxx"> </zebra>
+
       <zebra hostname="RRD1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.172</ip>
 
         <ip mask="30">195.1.95.172</ip>
Line 1,054: Line 1,056:
 
   </vm>
 
   </vm>
 
   <vm name="RRD2" type="quagga" subtype="lib-install">
 
   <vm name="RRD2" type="quagga" subtype="lib-install">
       <zebra hostname="RRD2" password="xxxx"> </zebra>
+
       <zebra hostname="RRD2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.216</ip>
 
         <ip mask="30">195.1.95.216</ip>
Line 1,069: Line 1,071:
 
   </vm>
 
   </vm>
 
   <vm name="RRE1" type="quagga" subtype="lib-install">
 
   <vm name="RRE1" type="quagga" subtype="lib-install">
       <zebra hostname="RRE1" password="xxxx"> </zebra>
+
       <zebra hostname="RRE1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.176</ip>
 
         <ip mask="30">195.1.95.176</ip>
Line 1,080: Line 1,082:
 
   </vm>
 
   </vm>
 
   <vm name="RRE2" type="quagga" subtype="lib-install">
 
   <vm name="RRE2" type="quagga" subtype="lib-install">
       <zebra hostname="RRE2" password="xxxx"> </zebra>
+
       <zebra hostname="RRE2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.224</ip>
 
         <ip mask="30">195.1.95.224</ip>
Line 1,095: Line 1,097:
 
   </vm>
 
   </vm>
 
   <vm name="RRF1" type="quagga" subtype="lib-install">
 
   <vm name="RRF1" type="quagga" subtype="lib-install">
       <zebra hostname="RRF1" password="xxxx"> </zebra>
+
       <zebra hostname="RRF1" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.180</ip>
 
         <ip mask="30">195.1.95.180</ip>
Line 1,106: Line 1,108:
 
   </vm>
 
   </vm>
 
   <vm name="RRF2" type="quagga" subtype="lib-install">
 
   <vm name="RRF2" type="quagga" subtype="lib-install">
       <zebra hostname="RRF2" password="xxxx"> </zebra>
+
       <zebra hostname="RRF2" password="xxxx"></zebra>
 
       <network>
 
       <network>
 
         <ip mask="30">195.1.95.232</ip>
 
         <ip mask="30">195.1.95.232</ip>
Line 1,125: Line 1,127:
 
== Download ==
 
== Download ==
  
* VNUML specification files: [http://jungla.dit.upm.es/~vnuml/doc/examples/ospf_lab/ospf_lab.xml ospf_lab.xml], [http://jungla.dit.upm.es/~vnuml/doc/examples/ospf_lab/ospf_lab_tiny.xml ospf_lab_tiny.xml]
+
* VNUML specification files: [http://jungla.dit.upm.es/~vnuml/doc/examples/ospf_lab/1.9/ospf_lab.xml ospf_lab.xml], [http://jungla.dit.upm.es/~vnuml/doc/examples/ospf_lab/1.9/ospf_lab_tiny.xml ospf_lab_tiny.xml]
* Configuration file: [http://jungla.dit.upm.es/~vnuml/doc/examples/ospf_lab/ospf_lab_conf.tar ospf_conf.xml]
+
* Configuration file: [http://jungla.dit.upm.es/~vnuml/doc/examples/ospf_lab/1.9/ospf_conf.xml ospf_conf.xml]
  
 
== N3VLR ==
 
== N3VLR ==

Latest revision as of 12:19, 10 February 2009

OSPF Networking Laboratory

Authors:
Fermín Galán (galan at dit.upm.es)
David Ferná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).

OSPF Lab

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.
Since version 1.9 of VNUML, you can configure virtual routers using OSPFD plugin with this configuration file.

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

 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd" [
  <!ENTITY VNUMLDIR "/usr/share/vnuml/">
  <!ENTITY REDIR  "</dev/null >/dev/null 2>&1 &">
]>
<!-- 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.9</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="private" network="10.250.0.0" mask="16" offset="0">
       <host_mapping/>
    </vm_mgmt>
    <vm_defaults exec_mode="net">
       <filesystem type="cow">/usr/share/vnuml/filesystems/root_fs_tutorial</filesystem>
       <mem>32M</mem>
       <kernel>/usr/share/vnuml/kernels/linux</kernel>
       <shell>/bin/bash</shell>
       <console id="1">pts</console>
    </vm_defaults>
    <extension plugin="ospfd" conf="ospf_conf.xml" />
  </global>

  <net name="Core1" mode="uml_switch" />
  <net name="Core2" mode="uml_switch" />
  <net name="Core3" mode="uml_switch" />
  <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</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"/>
  </vm>
  <vm name="RB2" order="">
    <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"/>
  </vm>
  <vm name="RB3" order="">
    <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"/>
  </vm>
  <vm name="RB4" order="">
    <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"/>
  </vm>
  <vm name="RRA1" order="">
    <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"/>
  </vm>
  <vm name="RRA2" order="">
    <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"/>
  </vm>
  <vm name="SRA" order="">
    <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>
  <vm name="rout01" order="">
    <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"/>
  </vm>
  <vm name="PC01" order="">
    <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>
  <vm name="rout02" order="">
    <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"/>
  </vm>
  <vm name="PC02" order="">
    <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>
  <vm name="RRB1" order="">
    <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"/>
  </vm>
  <vm name="RRB2" order="">
    <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"/>
  </vm>
  <vm name="SRB" order="">
    <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>
  <vm name="rout03" order="">
    <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"/>
  </vm>
  <vm name="PC03" order="">
    <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>
  <vm name="rout04" order="">
    <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"/>
  </vm>
  <vm name="PC04" order="">
    <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>
  <vm name="RRC1" order="">
    <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"/>
  </vm>
  <vm name="RRC2" order="">
    <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"/>
  </vm>
  <vm name="SRC" order="">
    <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>
  <vm name="rout05" order="">
    <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"/>
  </vm>
  <vm name="PC05" order="">
    <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>
  <vm name="rout06" order="">
    <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"/>
  </vm>
  <vm name="PC06" order="">
    <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>
  <vm name="RRD1" order="">
    <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"/>
  </vm>
  <vm name="RRD2" order="">
    <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"/>
  </vm>
  <vm name="SRD" order="">
    <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>
  <vm name="rout07" order="">
    <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"/>
  </vm>
  <vm name="PC07" order="">
    <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>
  <vm name="rout08" order="">
    <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"/>
  </vm>
  <vm name="PC08" order="">
    <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>
  <vm name="RRE1" order="">
    <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"/>
  </vm>
  <vm name="RRE2" order="">
    <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"/>
  </vm>
  <vm name="SRE" order="">
    <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>
  <vm name="rout09" order="">
    <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"/>
  </vm>
  <vm name="PC09" order="">
    <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>
  <vm name="rout10" order="">
    <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"/>
  </vm>
  <vm name="PC10" order="">
    <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>
  <vm name="RRF1" order="">
    <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"/>
  </vm>
  <vm name="RRF2" order="">
    <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"/>
  </vm>
  <vm name="SRF" order="">
    <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>
  <vm name="rout11" order="">
    <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"/>
  </vm>
  <vm name="PC11" order="">
    <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>
  <vm name="rout12" order="">
    <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"/>
  </vm>
  <vm name="PC12" order="">
    <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>
  <vm name="RC1" order="">
    <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" order="">
    <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" order="">
    <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" order="">
    <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" order="">
    <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>

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"></zebra>
      <network>
         <ip mask="30">195.1.95.128</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.140</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="24">10.0.11.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RB2" type="quagga" subtype="lib-install">
      <zebra hostname="RB2" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.128</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.132</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.164</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.160</ip>
         <area>0.0.0.0</area>
      </network> 
   </vm>
   <vm name="RB3" type="quagga" subtype="lib-install">
      <zebra hostname="RB3" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.132</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.168</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.172</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.136</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RB4" type="quagga" subtype="lib-install">
      <zebra hostname="RB4" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.136</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.140</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.176</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.180</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout01" type="quagga" subtype="lib-install">
      <zebra hostname="rout01" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.85.0</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.192</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout02" type="quagga" subtype="lib-install">
      <zebra hostname="rout02" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.85.64</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.196</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout03" type="quagga" subtype="lib-install">
      <zebra hostname="rout03" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.87.0</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.200</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout04" type="quagga" subtype="lib-install">
      <zebra hostname="rout04" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.87.64</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.204</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout05" type="quagga" subtype="lib-install">
      <zebra hostname="rout05" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.89.0</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.208</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout06" type="quagga" subtype="lib-install">
      <zebra hostname="rout06" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.89.64</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.212</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout07" type="quagga" subtype="lib-install">
      <zebra hostname="rout07" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.91.0</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.216</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout08" type="quagga" subtype="lib-install">
      <zebra hostname="rout08" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.91.64</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.220</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout09" type="quagga" subtype="lib-install">
      <zebra hostname="rout09" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.93.0</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.224</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout10" type="quagga" subtype="lib-install">
      <zebra hostname="rout10" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.93.64</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.228</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout11" type="quagga" subtype="lib-install">
      <zebra hostname="rout11" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.95.0</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.232</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="rout12" type="quagga" subtype="lib-install">
      <zebra hostname="rout12" password="xxxx"></zebra>
      <network>
         <ip mask="26">195.1.95.64</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.236</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRA1" type="quagga" subtype="lib-install">
      <zebra hostname="RRA1" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.160</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.84.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRA2" type="quagga" subtype="lib-install">
      <zebra hostname="RRA2" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.192</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.196</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.84.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRB1" type="quagga" subtype="lib-install">
      <zebra hostname="RRB1" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.164</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.86.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRB2" type="quagga" subtype="lib-install">
      <zebra hostname="RRB2" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.200</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.204</ip>
         <area>0.0.0.0</area>
      </network>
      <network>     
         <ip mask="26">195.1.86.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRC1" type="quagga" subtype="lib-install">
      <zebra hostname="RRC1" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.168</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.88.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRC2" type="quagga" subtype="lib-install">
      <zebra hostname="RRC2" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.208</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.212</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.88.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRD1" type="quagga" subtype="lib-install">
      <zebra hostname="RRD1" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.172</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.90.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRD2" type="quagga" subtype="lib-install">
      <zebra hostname="RRD2" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.216</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.220</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.90.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRE1" type="quagga" subtype="lib-install">
      <zebra hostname="RRE1" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.176</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.92.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRE2" type="quagga" subtype="lib-install">
      <zebra hostname="RRE2" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.224</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.228</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.92.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRF1" type="quagga" subtype="lib-install">
      <zebra hostname="RRF1" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.180</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.94.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
   <vm name="RRF2" type="quagga" subtype="lib-install">
      <zebra hostname="RRF2" password="xxxx"></zebra>
      <network>
         <ip mask="30">195.1.95.232</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="30">195.1.95.236</ip>
         <area>0.0.0.0</area>
      </network>
      <network>
         <ip mask="26">195.1.94.0</ip>
         <area>0.0.0.0</area>
      </network>
   </vm>
</ospf_conf>

Download

N3VLR

Old Releases