This page describes how to run an OpenFlow tutorial in Mesoscale that gets around the manual approval process. We expect that this won't be needed any more after Foam 1.8 is installed in the sites.

In summary the idea is to create a big slice that will contain all the flowspace for the tutorial and as the controller for that slice use a FlowVisor (called tutorial-fv from now on) that is controlled by FOAM (called tutorial-foam).

This wiki page provides step-by-step instructions.

1. Install a FV, FOAM on a new machine

First start by installing FOAM and FV on a new machine. Currently it is not easy to run two instances of FOAM on the same machine so use a dedicated machine for this.

Instructions about installing Flowvisor

Instructions about installing FOAM

OPTIONAL : Turn auto-approval on

If the users of the tutorial are going to create safe slivers (e.g. no loops), or if they are using precanned rspecs that are tested and safe then you can turn auto-approval on in FOAM, so that the administrator does not have to manually approve all the slices during the tutorial.

To do this, you will need to install curl :

sudo apt-get install curl

And then execute this command:

curl -kn -u foamadmin:<passwd> https://localhost:3626/admin/set-config -X POST -H "Content-Type: application/json" -d '{"key":"auto_approve","value":true}'

The result should look like:

{"msg": "", "retcode": 0, "value": {"status": "success"}}

2. Create a big tutorial slice

Next step is to reserve the resources you want in all the OpenFlow AMs that you want to use in the tutorial. In this example at the tutorials the users will use :

In all the OpenFlow rspecs, make sure you replace the custom information for your site :

  • modify the <openflow:sliver> tag
  • modify the <openflow:controller> tag
  • only include ports that you need
  • modify IP subnets and ethernet types

3. Create sample OF rspecs for users

Openflow rspecs are complicated to write and it is easy for a first time user to get them wrong. In the tutorial use template OpenFlow rspecs where the users have to substitute specific information. For the example tutorial we used this template rspec. On the top there are instructions about what to substitute. We also gave paper slips to users with personalized info. In the template you should make sure to only include ports used in the tutorial and replace any info as appropriate.

Last modified 8 years ago Last modified on 05/16/12 19:33:03

Attachments (11)

Download all attachments as: .zip