= Intro to OpenFlow using OVS = == Overview: == This is a simple OpenFlow tutorial that will guide you through the writing of simple OpenFlow controllers to showcase some of the OpenFlow capabilities. In this tutorial we are going to use [http://www.openswitch.org OVS] as an OpenFlow switch connected to three hosts. OVS is a software switch running on a compute resource. The other three hosts can only communicate through the OVS switch. Although the controller for the switch can run anywhere in the internet, we are going to run it on the same host as the OVS switch to minimize the required resources. For this tutorial we are going to use the [http://www.noxrepo.org/pox/about-pox/ PoX controller], this is just an example of [wiki:OpenFlow/Controllers many controllers]. The OVS switch that we use runs in userspace which although not optimized for performance, it is enough for getting acquainted with OpenFlow. [[Image(GENIExperimenter/Graphics:simple_ovs.png)]] == Prerequisites: == - A GENI account, if you don't have one [wiki:SignMeUp sign up!] - Basic understanding of OpenFlow. If you are going over this tutorial at home, flip through the [attachment: tutorial's slides] - Familiarity with [http://en.wikipedia.org/wiki/Secure_Shell SSH], and [https://wiki.archlinux.org/index.php/SSH_Keys key access] to hosts. - Familiarity with Unix Command line - Familiarity with python programming language. We are going to use the [http://www.noxrepo.org/pox/about-pox/ PoX controller], this is just an example of [wiki:OpenFlow/Controllers many controllers], and PoX is written in python. == Tools: == - [http://www.openswitch.org OVS OpenVSwitch] - References to guides for installing and using the tools - Give them a place where they can get some clarification if they don't know what the tool is or what it is doing == Where to get help: == - Mailing lists - Forums == Resources: == - Where can I get more information? - Troubleshooting pages or FAQs - GENI Glossary? == Tutorial Instructions == {{{ #!html
Design/Setup
  • Part I: Design/Setup
    • Step 1: Design Experiment
    • Step 2: Establish Management Environment
    • Step 3: Obtain Resources
Execute
  • Part II: Execute
    • Step 4: Configure and Initialize Services
    • Step 5: Execute Experiment
    • Step 6: Analyze and Visualize Experiment
Finish