Example-basic

Authors: Ferm&iacute;n Gal&aacute;n (galan at dit.upm.es) David Fern&aacute;ndez (david at dit.upm.es) version 1.7, November 21st, 2006

Scenario
Following example builds the basic topology shown in figure. We provide an [basic-ipv4.xml IPv4 version] and a [basic-ipv6.xml IPv6 version]. The IPv6 version is slightly different; it uses the eth0 host interface as external connection for UML3.

Note that the /root/uml1-conf directory must exists in the host machine in order the  tag works in UML1 (for example, you can create it with 'mkdir /root/uml1-conf' and create and empty file inside with 'touch /root/uml1-conf/foobar.conf' to test). In addition, the  tags are intented to test the command execution mode (more information in the User Manual). For example, use 'vnumlparser.pl -x start@basic.xml -v' to run the commands with seq="start" (in addition, the /root/uml1-conf file will be copied to the virtual machine uml1) and 'vnumlparser.pl -x stop@basic.xml -v' to run the commands with seq="stop".





VNUML Description (IPv4)
 <!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd"> 1.7       basic /root/.ssh/identity.pub     /usr/share/vnuml/filesystems/root_fs_tutorial /bin/sh      50M  10.0.0.1        <route type="ipv4" gw="10.0.0.3">default <filetree root="/" when="start">/root/uml1-conf <exec seq="start" type="verbatim">ls <exec seq="start" type="verbatim">pwd <exec seq="start" type="verbatim">touch /root/example.start <exec seq="stop" type="verbatim">rm /root/example.start <exec seq="stop" type="verbatim">touch /root/example.stop </vm> <if id="1" net="Net0"> 10.0.0.2       </if> <route type="ipv4" gw="10.0.0.3">default </vm> <if id="1" net="Net0"> 10.0.0.3       </if> <if id="2" net="Net1"> 10.0.1.1       </if> <if id="3" net="Net3"> 10.0.3.1       </if> <route type="ipv4" gw="10.0.1.2">10.0.2.0/24 <route type="ipv4" gw="10.0.3.2">default </vm> <if id="1" net="Net1"> 10.0.1.2       </if> <if id="2" net="Net2"> 10.0.2.1       </if> <route type="ipv4" gw="10.0.1.1">default </vm> <if id="1" net="Net2"> <ipv4 mask="255.255.255.0">10.0.2.2 </if> <route type="ipv4" gw="10.0.2.1">default </vm> <hostif net="Net3"> 10.0.3.2       <route type="ipv4" gw="10.0.3.1">10.0.0.0/16

VNUML Description (IPv6)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE vnuml SYSTEM "/usr/share/xml/vnuml/vnuml.dtd"> 1.7       basic</simulation_name> /root/.ssh/identity.pub</ssh_key> <vm_mgmt type="private" network="192.168.0.0" mask="24" offset="0"> <host_mapping/> </vm_mgmt>  /usr/share/vnuml/filesystems/root_fs_tutorial /bin/sh </vm_defaults> <net name="Net0" mode="uml_switch" /> <net name="Net1" mode="uml_switch" /> <net name="Net2" mode="uml_switch" /> <net name="Net3" mode="virtual_bridge" external="eth0" /> 50M <if id="1" net="Net0"> 3ffe:ffff:0::1/48 </if> <route type="ipv6" gw="3ffe:ffff:0::3">2000::/3 <filetree root="/" when="start">/root/uml1-conf <exec seq="start" type="verbatim">ls <exec seq="start" type="verbatim">pwd <exec seq="start" type="verbatim">touch /root/example.start <exec seq="stop" type="verbatim">rm /root/example.start <exec seq="stop" type="verbatim">touch /root/example.stop </vm> <if id="1" net="Net0"> 3ffe:ffff:0::2/48 </if> <route type="ipv6" gw="3ffe:ffff:0::3">2000::/3 </vm> <if id="1" net="Net0"> 3ffe:ffff:0::3/48 </if> <if id="2" net="Net1"> 3ffe:ffff:1::3/48 </if> <if id="3" net="Net3"> 3ffe:ffff:3::3/48 </if> <route type="ipv6" gw="3ffe:ffff:1::4">3ffe:ffff:2::/48 <route type="ipv6" gw="3ffe:ffff:3::254">2000::/3 <exec seq="start" type="verbatim">touch filesample </vm> <if id="1" net="Net1"> 3ffe:ffff:1::4/48 </if> <if id="2" net="Net2"> 3ffe:ffff:2::4/48 </if> <route type="ipv6" gw="3ffe:ffff:1::3">2000::/3 </vm> <if id="1" net="Net2"> 3ffe:ffff:2::5/48 </if> <route type="ipv6" gw="3ffe:ffff:2::4">2000::/3 </vm> <hostif net="Net3"> <ipv4 mask="255.255.255.192">138.4.7.148 3ffe:ffff:3::254/48 <physicalif name="eth0" type="ipv4" ip="138.4.7.148" mask="255.255.255.192" gw="138.4.7.189"/> <route type="ipv4" gw="138.4.7.189">default <route type="ipv6" gw="3ffe:ffff:3::3">3ffe:ffff::/32

Download

 * VNUML specification file:

Old Releases

 * 1.3 (note that in this version the example was named "Tutorial" instead of "Basic").
 * 1.6