Changes between Initial Version and Version 1 of JoeSandbox/OpenFlowOVS


Ignore:
Timestamp:
08/13/14 16:48:13 (10 years ago)
Author:
zwang@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • JoeSandbox/OpenFlowOVS

    v1 v1  
     1= Intro to OpenFlow using OVS =
     2
     3Tiny URL: http://tinyurl.com/geniof
     4
     5== Overview: ==
     6This is a simple OpenFlow tutorial that will guide you through the writing of simple !OpenFlow controllers to showcase some of the !OpenFlow capabilities. We are going to write three different controllers:
     7  1. Write a controller that will '''duplicate all the traffic''' of the !OpenFlow switch out a specific port
     8  2. ''' TCP Port Forward''' controller. Diverge all traffic destined to host A on TCP port X to TCP port Y
     9  3. '''Proxy Controller'''. Write a controller that will diverge all traffic destined to host A, TCP port X to host B, TCP port Y
     10
     11In this tutorial we are going to use [http://openvswitch.org/ Open vSwitch (OVS)] as an !OpenFlow switch connected to three hosts.
     12OVS 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.
     13For 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].
     14
     15[[Image(GENIExperimenter/Graphics:simple_ovs.png)]]
     16
     17== Prerequisites: ==
     18   - A GENI account, if you don't have one [wiki:SignMeUp sign up!]
     19   - Familiarity with how to reserve GENI resources with any of the GENI Tools (GENI Experimenter Portal, Omni, Flack). If you don't know you can take any of the tutorials:
     20      * Reserving resources using Flack [wiki:GENIExperimenter/Tutorials/RunHelloGENI tutorial]
     21      * Reserving resources using Omni [wiki:GENIExperimenter/Tutorials/HelloOmni tutorial]
     22   - Familiarity with [wiki:HowTo/LoginToNodes logging in to GENI compute resources].
     23   - Basic understanding of OpenFlow. If you are going over this tutorial at home, flip through the [attachment:IntroToOpenFlow_140123.pptx  tutorial's slides]
     24   - Familiarity with Unix Command line
     25   - 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.
     26     
     27== Tools: ==
     28   - [http://openvswitch.org/ Open vSwitch]. OVS is already be installed on your host. Installation was completed as described [http://groups.geni.net/geni/wiki/HowTo/InstallOVSInProtoGENI here].
     29   - [http://www.noxrepo.org/pox/about-pox/ POX controller]. POX controller is installed in your host as part of the sliver creation.
     30
     31== Where to get help: ==
     32   - If you need help with GENI, email [mailto:help@geni.net]
     33   - If you have questions about !OpenFlow, OVS, Pox you can subscribe to [https://mailman.stanford.edu/mailman/listinfo/openflow-discuss openflow-discuss] or any of the other mailing lists listed.
     34
     35== Resources: ==
     36   - [http://www.openflow.org/ Learn more about OpenFlow]
     37   - [https://openflow.stanford.edu/display/ONL/POX+Wiki POX wiki]
     38   - [http://openvswitch.org/ Learn more about OVS]
     39
     40== Tutorial Instructions ==
     41{{{
     42#!html
     43
     44
     45<table id="Table_01" height="409" border="0" cellpadding="0" cellspacing="0">
     46        <tr>
     47                <td>
     48                        <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/DesignSetup"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/design.png?format=raw" width="152" height="152" alt="Design/Setup"></a>
     49               </td>
     50               <td>
     51<ul>
     52             <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/DesignSetup">Part I: Design/Setup</a></li>
     53             <ul>
     54                 <li>Step 1:  Obtain Resources</li>
     55             </ul></ul>
     56               </td>
     57        </tr>
     58        <tr>
     59                <td>
     60                        <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Execute"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/execute.png?format=raw" width="152" height="143" alt="Execute"></a>
     61                </td>
     62                <td>
     63             <ul>
     64<li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Execute">Part II: Execute</a></li>
     65             <ul>
     66                 <li>Step 2:  Configure and Initialize Services </li>
     67                 <li>Step 3:  Execute Experiment </li>
     68             </ul></ul>
     69                </td>
     70        </tr>
     71        <tr>
     72                <td>
     73                        <a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Finish"><img src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/finish.png?format=raw" width="152" height="114" alt="Finish"></a>
     74                </td>
     75
     76                <td>
     77             <ul>
     78             <li><a href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Finish">Part III: Finish</a></li>
     79             <ul>
     80                 <li>Step 4:  Teardown Experiment</li>
     81             </ul></ul>
     82                </td>
     83
     84        </tr>
     85</table>