Mininet

From Sb
Jump to: navigation, search

OpenFlow Main Page

Contents

General

Mininet main page: http://www.openflow.org/mininet

Help for configuring mininet and NOX: File:Of beall.pdf

Demo scripts from last week: File:Mininet demo.tar.gz

The paper of the constructors of Mininet at HotNets 2010: File:Paper.pdf

and the ppt: File:Mininet-hotnets2010-final.pdf

Short Mininet tutorial with NOX: File:Mininet-nox-tutorial.pdf

Scripts to help testing: Media:Test_scripts.tar.gz

Mininet HOWTO

Integrating NOX controller with Mininet

Modify mininet/bin/mn script by adding the new controller to "CONTROLLERS"

 CONTROLLERDEF = 'ref'
 # a and b are the name and inNamespace params.
 CONTROLLERS = { 'ref': Controller,
                'nox_dump': lambda name: NOX( name, 'packetdump' ),
                'nox_pysw': lambda name: NOX( name, 'pyswitch' ),
                'nox_new': lambda name: NOX( name, 'new' ),                    #added controller
                'nox_scafida_dist': lambda name: NOX( name, 'scafida_dist' ),  #added controller
                'nox_scafida_cent': lambda name: NOX( name, 'scafida_cent' ),  #added controller
                'remote': lambda name: None,
                'none': lambda name: None }

Deploy the changes using setuptools:

sudo python setup.py install

thiw will copy the new mn script to the appropriate python lib:

/usr/local/lib/python2.6/dist-packages/mininet-0.0.0-py2.6.egg/EGG-INFO/scripts/mn

Wireshark

Run Wireshark with root privileges:

sudo wireshark&

use of filter on loopback interface to capture control traffic

Running mininet

Run mininet for example as follows:

sudo -E mn --switch=ovsk --controller=nox_new

-E: keeping the environment variables (NOX_CORE_DIR)

controller logs:

tail -f /tmp/c0.log

switch logs:

tail -f /tmp/s1-ofp.log

OpenFlow 1.1 support for Mininet

By default Mininet only supports OpenFlow 1.0 refrence switches, but by changing a few lines in
the node.py flie it will be able to work with OpenFlow 1.1 switches as well (Ericsson implementation).
This modification however only makes it possible for Mininet to instantiate the switches and connect
them to the controller, but some functionality like the ability to use dpctl in Mininet console is lost
due to the totally rewritten dpctl structure.
Mininet can not instantiate an OF 1.1 controller either, so you must use a remote controller
with the -- remote option. You can use dpctl form outside the Mininet console.

The modified node.py file: Media:Node.tar

Personal tools