You are on page 1of 4

ELEE 4333/6399 Software-Defined Networking ECE Department, UTRGV

Due: September 30, 2020


Instructions: Please type your answers. Submit as a PDF file via Blackboard.

Assignment 1 (Part I): Setup Mininet VM in Virtualbox

1. Download and install the latest Virtualbox for your platform and you can find it here.
2. Download the latest Mininet virtual machine image from here.
3. In Virtualbox select File -> Import Appliance and select the .ovf you just downloaded.
Virtualbox will show you the VM settings and you can then click Import.
4. Next, setup a bridged network by selecting the VM in the left side bar and then Settings ->
Network and ensure that Adapter 1 is enabled and attached to a Bridged Adapter

5. Start the VM by clicking Start. The VM will take some time to start.
6. Log in to the VM using mininet for both username and password.
7. Type sudo ifconfig on command line. This will display the IP addresses of the connected

network interfaces and find for eth0 inet IP.

1 of 4
Question 1: (10 points) What is the IP address of your Mininet VM? Include a screenshot.

8. Open a terminal on your desktop (Terminal on Mac OSX, Putty on Windows and xterm on Linux) and
type ssh mininet@ip_address where ip_address is the IP address under the eth0 output
from the ifconfig command. Use the password mininet.
9. To ensure Mininet is working correctly run this test : sudo mn --test pingpair.

Question 2: (10 points) How many hosts, links, switches, and controllers were created? How long did the
test take in seconds? Include a screenshot showing both.

10. Explore the manual for Mininet: man mn

Question 3: (10 points) Describe Mininet in your words.

Question 4: (10 points) pingpair is a test script for Mininet. What are the other test scripts for

Mininet?

11. Run another test with Mininet.

Question 5: (10 points) How many hosts, links, switches, and controllers were created? How long did the
test take in seconds? Include a screenshot showing both.

12. Use sudo mn -c to clear the previous topologies created.

2 of 4
Assignment 1 (Part II): Setup OpenDayLight (ODL) in Ubuntu

If you do not have Ubuntu OS running in your PC, you must install an Ubuntu VM in your Virtualbox.
To get help installing Ubuntu VM in Virtualbox, you may refer here. Make sure your VM has at least
2GB RAM and two CPUs as this is minimum needed for ODL. Make sure your VM has two NICs, one
is a NAT adapter (which is the default) and the other should be a host-only (if available) or bridged
adapter. Also, you need the prerequisite for ODL:
• Java runtime environment & it can be installed using: $ sudo apt-get install
openjdk-8-jre

Question 1: (5 points) What are the versions of your Ubuntu and Java runtime environment
downloads?

Perform the following steps in your Ubuntu VM to run OpenDayLight.


1. Important: The below steps should be performed every time you restart the Ubuntu terminal!
So, you may want to update your .bashrc file accordingly.
Ø export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-i386
or
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
=>The above path should be set according to the JAVA HOME path. You can check by
traversing cd /usr/lib/jvm/java-8-openjdk-i386 or cd /usr/lib/jvm/java-8-
openjdk-amd64, and if this path exists keep this path. Important: Install java in the default
location that it chooses while installing.

Question 2: (5 points) From the Java being installed on your Ubuntu, what is the instruction
set for your JDK?

Ø Download the latest version of ODL from here. Use version Oxygen-SR3.

Question 3: (5 points) What is the version of your ODL?

Ø Navigate to: cd Downloads/karaf-0.8.3/


Ø run ODL using this command: ./bin/karaf
Upon successful setup, you should be able to see a screen similar to the below:

Figure 1

Question 4: (7 points) Show a screenshot illustrating that you properly installed ODL.

3 of 4
2. Now install features in ODL terminal
run the following commands in the ODL console to install features
Ø opendaylight-user@root> feature:install odl-restconf-all odl-
l2switch-switch odl-mdsal-apidocs odl-dlux-core odl-dluxapps-nodes
odl-dluxapps-yangui odl-dluxapps-yangman odl-dluxapps-topology
Ø The above features are required to support topology display in browser. Open a browser
and enter http://localhost:8181/index.html Login with username and password as admin.
You should now see a screen like Figure 2.

Figure 2

Question 5: (10 points) Show a screenshot of your ODL browser display.

3. You are now all set with ODL controller and you may go ahead and create a Mininet topology
and assign the controller to be this ODL controller. You can do the next steps either from your
host machine or Ubuntu VM.
Ø In a new terminal, login to your Mininet VM, e.g.:
user@user-virtualbox$ ssh -X mininet@<Mininet VM’s IP address>
Ø Create a Mininet topology while setting the controller to your ODL, e.g.:
mininet@mininet-vm:~$ sudo mn --topo linear,3 --mac --
controller=remote,ip=<IP address of your Ubuntu VM (your ODL
controller)>,port=6633 --switch ovs,protocols=OpenFlow13
Ø Test your network in Mininet and make sure your ODL controller is reachable: mininet>
pingall. You should be observing no drops.

Question 6: (8 points) Show a screenshot of your test result.

Ø Reload your ODL browser display to see the details of your Mininet experiment. Explore the
topology and the nodes.

Question 7: (10 points) How many nodes are there in your experiment? How many interfaces
does each node have? Show a screenshot of the topology.

4 of 4

You might also like