cn »

Assignment 1 - Mininet Setup


The goal of this assignment is to setup the Mininet virtual machine on the computer you will use for course assignments. Preferably this computer will be the machine with the most memory and fastest processor if you have multiple computers as some assignments will take a few minutes to run.


  1. Download and install the latest Virtualbox for your platform. You can find Virtualbox here.
  2. Download the latest Mininet virtual machine image here (64bit). The download is ~1GB in size so be patient with the download and if possible, connect your computer to the Internet via a wired connection. If the download is especially slow, setup your computer to download the image overnight.
  3. In Virtualbox select File -> Import Appliance and select the .ova 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. Once you’ve ensured this, close the settings dialog.
  5. Start the VM by clicking Start.
  6. Log in to the VM using mininet for the username and password.
  7. Type sudo ifconfig on command line. This will display the IP addresses of the connected network interfaces. Note if you have trouble with this step try the instructions under "Setup Network Access" here.
  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. Now we will run a test to ensure Mininet is working correctly. Type sudo mn --test pingpair.
  10. Copy and paste the output from the command line into a text editor named 'assignment-1.txt' and submit via T-Square.

Notes on the VM

You'll notice that the VM is running an older version of Ubuntu. This is OK! We've been using it now for about a year with good success. apt-get doesn't work out of the box as of this past summer. In assignment 2, we'll be updating the apt-get repositories so that we can install new software.

You may be tempted to upgrade it to the latest version of Ubuntu. Don't do this! In some of the later assignments, this causes problems with some of the assignments.

If there are any questions about the VM, please post them to Piazza.


This rubric is here to help you understand the expectations for the assignment. It is the same rubric that the person evaluating your project will use. We recommend you look at the rubric before you begin working on your project and again before you decide to submit it.

CriteriaDoes Not Meet ExpectationsMeets Expectations Exceeds Expectations
Mininet output
Output matches expected output.Output does not pass the sanity check when it is submitted.Output does pass the sanity check and matches the output in the above screenshot.There is no “Exceeds Expectations” option for this criteria.