We are upgrading this site on Friday 5 March commencing at 17:00 UTC and running until 20:00 UTC. During the maintenance window there will be several reboots and service interruptions so we strongly recommend that you don’t attempt to use the site during the maintenance window.
Page tree
Skip to end of metadata
Go to start of metadata


Registration is necessary, as we have quite a bit to do to make sure that we're ready for you. If you're intending on attending the training, then you MUST register as soon as possible. There are limited spaces and VMS, full=full!

Before you come to the training, it is important that you do a little preparatory work on your own laptop so that you can take part in all the exercises.

If you have any queries or issues with any of the things below please contact us WELL BEFORE THE TRAINING so that we might be able to deal with your issue. Due to the short time available, it will be impossible to troubleshoot individual device issues during the training.

Pre-Requisites for Configuring your own Device:

o  Required Software/Tools:

  • Terminal (Command Line Interface)
    • Windows: Cygwin, PuTTY
    • Linux / Mac OSX: Terminal emulator (Default)
  • SSH client
  • X11 server
  • WLAN: eduroam or able to access the guest WLAN of TNC15

Optional: Installing and configuring mininet for perfSONAR tools exercises

   We will provide VMs with mininet for this workshop. However, if you wish, you can set up mininet on your own laptop.

How to setup and install Mininet locally (video ~10 mins)

   Here are the steps required:

  1.    Download / install mininet VM on your laptop. See: https://github.com/mininet/mininet/wiki/Mininet-VM-Images.

             The steps vary a bit depending on if you laptop or OSX or Windows, or Linux. For an intro to mininet, see: http://mininet.org/walkthrough/

     2.    Start the VM and log in, as follows:

mininet-vm login: mininet
password: mininet


      3. Discover the IP address of the virtual interfaces:

$ ifconfig

NOTE: If you see just one network interface (e.g. eth0) you may have to add the second interface (eth1) to the Mininet VM manually here (the first interface is the NAT which connects to the internet, the second is the Host-Only adaptor which you can connect to locally). 


$ sudo nano /etc/network/interfaces

Copy the interface description for eth0 and create an similar one for eth1 (see the video above if you're unsure), then 

Make a note of the IP address (ifconfig) and exit from the VM:

$ exit

       4. Log in from your Host OS. Start a console window in your host OS and ssh into your VM, using the IP address that you noted above.

For example:
local:~$ ssh -Y mininet@


      5. Install perfSONAR tools on the mininet VM. To do this, add the perfSONAR Debian repo to the VM:
vm:~$ sudo sh -c 'cd /etc/apt/sources.list.d; wget http://downloads.perfsonar.net/debian/perfsonar-wheezy-release.list'
vm:~$ sudo sh -c 'wget -qO - http://downloads.perfsonar.net/debian/perfsonar-wheezy-release.gpg.key | apt-key add -'


And install the perfsonar-tools bundle that contains all the required perfSONAR tools
vm:~$ sudo apt-get update
vm:~$ sudo apt-get install perfsonar-tools 

       6. Download topo-ps-tutorial.py to your VM's home directory.

vm:~$ cd
vm:~$ wget http://downloads.es.net/pub/perfsonar/tutorial/topo-ps-tutorial.py

                This topology file specifies a topology with 3 switches and 2 hosts, configured as follows: h1 -- s1 -- s2 -- s3 -- h2

                Test this topology by loading it (this assigning a capacity of 10 Mb/s to each link, and runs an all-pairs ping test):

vm:~$ sudo mn --custom ./topo-ps-tutorial.py --topo mytopo

7. Try some mininet commands to verify things are working:

mininet> h1 ping h2
mininet> h2 iperf3 -s -D
mininet> h1 iperf3 -c h2

NOTE: The second command is silent, so will appear to do nothing, but its actually setting up the listener for the third command.

If you have any trouble getting this all working, send email to:

             Brian L Tierney <bltierney@es.net>, Robert Stoy <stoy@noc.dfn.de>, and Antoine Delvaux<adelvaux@man.poznan.pl>.


Optional: Installing and configuring mininet and udpmon for udpmon hands-on exercises

   We will provide VMs with mininet for this workshop. However, if you wish, you can set up mininet on your own laptop, and then follow the instructions given below to install udpmon in order to take part in exercises.


  1. Follow steps 1- 4 as given in section titled 'Optional: Installing and configuring mininet for perfSONAR tools exercises' above to install and configure mininet on your laptop.
  2. To install udpmon on mininet VM, download udpmon-1.4.1 and libhj-4.5.0 tarballs from http://www.hep.man.ac.uk/u/rich/net/index.html or use wget to grab them

    vm:~$ cd
    vm:~$ wget http://www.hep.man.ac.uk/u/rich/Tools_Software/libhj/libhj-4.5.0.tar.gz
    vm:~$ wget http://www.hep.man.ac.uk/u/rich/Tools_Software/udpmon/udpmon-1.4.1.tar.gz
  3. Extract the tarballs to the home directory

    vm:~$ tar zxf libhj-4.5.0.tar.gz
    vm:~$ tar zxf udpmon-1.4.1.tar.gz
  4. Configure libhj-4.5.0

    vm:~$ cd libhj-4.5.0 
    vm:~/libhj-4.5.0$ ./configure --prefix=$HOME
    vm:~/libhj-4.5.0$ make clean
    vm:~/libhj-4.5.0$ make install
    vm:~/libhj-4.5.0$ cd
  5. Next, install udpmon-1.4.1

    vm:~$ cd udpmon-1.4.1
    vm:~/udpmon-1.4.1$ ./configure --prefix=$HOME --with-hj-location=$HOME
    vm:~/udpmon-1.4.1$ make clean
    vm:~/udpmon-1.4.1$ make install
  6. Because these are installed to the /bin in your home directory, we need to add that directory to our $PATH. Note that this is temporary and will unset if you login to a new session. To make it 'permanent' you will need to add the same line to the bottom of your ~/.bashrc file.

    vm:~$ export PATH=$PATH:$HOME/bin
  7. Download topo-ps-tutorial.py to your VM's home directory.

    vm:~$ cd
    vm:~$ wget http://downloads.es.net/pub/perfsonar/tutorial/topo-ps-tutorial.py

     This topology is setup as: host1 --- switch --- switch -- switch --- host2
    Load this topology to test it:

    vm:~$ sudo mn --custom ./topo-ps-tutorial.py --topo mytopo
  8. You are now ready to start running udpmon tests. Test the installation by running the udpmon receiver (server) udpmon_resp in the background on host2

    mininet> h2 udpmon_resp &


  9. Start the client udpmon_bw_mon to send a stream of spaced UDP packets   (-w 123 gives about 100 Mbit/s) 

    mininet> h1 udpmon_bw_mon -d -p1472 -w 123 -l 1000

    The output is given on the terminal includes the number of packets sent, received, lost, and out of order, as well as the percentage lost and the received data rates.

    You are now all set to start udpmon hands-on session tests!


  • No labels