How to Use the I2RS Development VM

Download the I2RS Development VM here (md5: af70741cd12b39a9644b0881df516a55).

The download of only the config files for Mininet and MiniNExt are available here.

Logging in to the VM needs:

Login: mininet

Password: mininet

 

For starting Open Daylight (ODL), open the terminal and change into the Open Daylight directory. The first command is for the Beryllium version of ODL. The second command for the Helium version, but here is maven integrated.

cd ~/controller-Helium-SR1.1/distribution-karaf-0.2.1-Helium-SR1.1/

To start ODL then, type this command

./bin/karaf

Now ODL runs and now the Karaf shell can be used in the terminal. There should be a warning because of the SLF4J bindings, this can be ignored. The problem occurs because there are more than one binding set in the class path. This can be changed in the pom.xml file, but in this VM we use a pre build Controller so changing is currently not possible. If the warning is ignored one of the bindings will be chosen randomly and it doesn«t produce any errors. For more information here a link for the SLF4J bindings: http://www.slf4j.org/codes.html#multiple_bindings . If there are problems starting ODL, try restarting the OVS Controller.

sudo su

/etc/init.d/openvswitch-switch start

 

After these Commands the OVS Controller is restarted and now try restarting ODL.  Now ODL should work and after waiting 1-4 minutes we can start up the network. We have to wait bevor we open the network because the Controller needs some time be available by the network. To start the network open a new terminal and change into the directory, with the start.py use the command below:

cd ~/i2rs/virtualNetwork

sudo ./start.py

 

The last command starts the network which is shown in Òimage1Ó. If the network shows Òunable to connect to RemoteController 127.0.0.1:6633Ó then exit MiniNext and wait some time before restarting the network. If this doesn«t work, exit MiniNext, use:

sudo mn -c

And restart ODL.

If there are no problems the network should run. At first try this command

pingall

In the miniNext shell. Pingall does an all pair ping. At first there are some pings which are failing because the routes not yet learned. After waiting 1~2 minutes the routes should be learned and using pingall again should show that all pings are now reaching the destination.

(First ping shows that the routes are not learned yet. Second ping shows that everything works fine and the packages are now routed correctly)

Now with the Command:

xterm a1

The terminal from a1 will be open. With

telnet localhost ospfd

The quagga ospf shell will be open. Password:

zebra

Here we can use

show ip ospf route

To see the OSPF routing table. To see all other command type

?

It will show the possible command and how they will be used.

To Open the BGP shell use:

telnet localhost bgpd

Password:

zebra

Some BGP commands to get information about routing tables

show ip bgp

show ip bgp summary

show ip bgp peer

? (for more information about commands)

To access Dlux, use this link: http://127.0.0.1:8181/dlux/index.html

Username: admin

Password: admin

 

The router a1, d2, d3, d4 and d5 form AS 100. The router b7 is AS 200. The internal routers d2, d3, d4 and d5 run OSPF, the border router a1 runs BGP and OSPF and the border router for the second AS b7 runs BGP.

(image1)

To see the network in ODL all the routers are connected through switches. ODL connects to the switches and in the DLUX->topology we can now see the network as seem by OpenFlow.

Òimage2Ó presents a screenshot of the Dlux topology. Here we see all of the routers and switches. The routers are represented by hosts, and for each interface of the router a host is presented in the image. For example, b7 has only one interface so it appears only one time and a1 has three, so it appears 3 times. In the middle of Òimage2Ó there is one switch and one host, these are dummy«s created by the topology generator, they are not connected to anything and show no information if the mouse points on them.

(Image2)

Below are some of the configuration files used to create this network.

Example Config files from a1:

bgpd.conf:

! path logfile for this daemon (BGPD)

log file /var/log/quagga/bgpd.log

! the password to use for telnet authentication

password zebra

! this routers AS number and BGP ID

router bgp 100

!loopback address of the router

bgp router-id 10.10.0.1

 

!connection between OSPF and BGP component of a1 (routing tables will be forwarded)

redistribute connected

redistribute ospf

 ! neighbor information of the route server

 neighbor 100.0.1.1 remote-as 200

! the network this router will advertise

 network 10.10.0.1/32

 

ospfd.conf:

log file /var/log/quagga/ospfd.log

hostname ospfd

password zebra

enable password zebra

router ospf

!connection to the BGP component of a1

redistribute connected

redistribute bgp

!loopback address of a1

ospf router-id 10.10.0.1

! 2 Interfaces witch are using OSPF

network 10.0.1.0/24 area 0

network 10.0.5.0/24 area 0

 

debian.txt:

!deamons witch a1 uses (zebra, ospf and bgp)

zebra=yes

bgpd=yes

ospfd=yes

ospf6d=no

ripd=no

ripngd=no

isisd=no

 

Example Config files from b7:

bgpd.conf:

log file /var/log/quagga/bgpd.log

password zebra

router bgp 200

 bgp router-id 10.10.0.7

 neighbor 100.0.1.2 remote-as 100

  network 10.10.0.7/32

 

deamons.txt:

zebra=yes

bgpd=yes

ospfd=no

ospf6d=no

ripd=no

ripngd=no

isisd=no

 

Example Config files d4:

ospfd.conf:

log file /var/log/quagga/ospfd.log

hostname ospfd

password zebra

enable password zebra

router ospf

router-id 10.10.0.4

network 10.0.3.0/24 area 0.0.0.0

network 10.0.4.0/24 area 0.0.0.0

!forwarding the routing table to the kernel

redistribute connected

redistribute kernel

 

deamons.txt

zebra=yes

bgpd=no

ospfd=yes

ospf6d=no

ripd=no

ripngd=no

isisd=no

 

Link for the Original VM(This VM is based on the VM in the Link): https://wiki.opendaylight.org/view/CrossProject:Integration_Group:Test_VMs

If you wish to contact us:

Edwin Cordeiro: edwin@net.in.tum.de

Kerem Saka: kerem.saka@tum.de

 

Chair for Network Architectures and Services (I8)
TU Munich

Boltzmannstr. 3
85748 Garching

Tel.: +49 89 289 - 18032
Fax: +49 89 289 - 18033

www.net.in.tum.de


Edwin Cordeiro: edwin@net.in.tum.de
Kerem Saka: kerem.saka@tum.de