Changes between Initial Version and Version 1 of GENIExperimenter/Tutorials/OpenFlowOVS/HW/DesignSetup


Ignore:
Timestamp:
03/02/15 12:07:23 (9 years ago)
Author:
rrhain@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/OpenFlowOVS/HW/DesignSetup

    v1 v1  
     1= [wiki:GENIExperimenter/Tutorials/OpenFlowOVS Intro to OpenFlow Tutorial (Hardware Switch)] =
     2{{{
     3#!html
     4
     5<div style="text-align:center; width:495px; margin-left:auto; margin-right:auto;">
     6<img id="Image-Maps_5201305222028436" src="http://groups.geni.net/geni/attachment/wiki/GENIExperimenter/Tutorials/Graphics/Setup.jpg?format=raw" usemap="#Image-Maps_5201305222028436" border="0" width="495" height="138" alt="" />
     7<map id="_Image-Maps_5201305222028436" name="Image-Maps_5201305222028436">
     8<area shape="rect" coords="18,18,135,110" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowHW/DesignSetup" alt="" title=""    />
     9<area shape="rect" coords="180,18,297,111" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Execute" alt="" title=""    />
     10<area shape="rect" coords="344,17,460,110" href="http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/OpenFlowOVS/Finish" alt="" title=""    />
     11<area shape="rect" coords="493,136,495,138" href="http://www.image-maps.com/index.php?aff=mapped_users_5201305222028436" alt="Image Map" title="Image Map" />
     12</map>
     13<!-- Image map text links - End - -->
     14
     15</div>
     16}}}
     17[[PageOutline]]
     18== Step 1.  Obtain resources ==
     19
     20   * The topology used in this experiment is the same as the one used in the  [wiki:GENIExperimenter/Tutorials/OpenFlowSW/DesignSetup OpenFlow using OVS] part of this tutorial: Three virtual machines (VMs) connected by an !OpenFlow switch. However this tutorial uses the hardware !OpenFlow switch on the rack instead of a software OVS switch.
     21   * If you have not reserved a controller yet, make sure to create a slice that will run the !OpenFlow controller by reserving a VM running the controller using the request RSpec [http://www.gpolab.bbn.com/exp/OpenFlowOVS/pox-controller.rspec].  This RSpec is available at the Portal and is called ''XEN VM POX Ctrl''''''''.
     22
     23[[Image(GENIExperimenter/Graphics:SimpleHardwareOpenFlow.jpg,40%)]]
     24
     25
     26'''About GENI !OpenFlow switches''' [[BR]]
     27GENI  offers access to hardware !OpenFlow switches. Each !OpenFlow switch, in most cases, can support only one controller.  There are two ways of slicing the controller flowspace:
     28   1. By VLAN id.  This is used when each slice has its own VLANs.   
     29   2. By IP addresses or by Ethernet type.  This is used when multiple slices share the same VLAN.  For example, the Mesoscale VLAN 1750 that has been set up as a shared VLAN on all GENI racks.
     30Both approaches to slicing are covered in this tutorial.
     31
     32To force the  links between the VMs to go through the rack !OpenFlow switch, the three VMs must be on separate physical hosts on the rack.  Our experiment will:
     33   * Bind the Xen VMs to different physical hosts.
     34
     35=== 1.1 Find your RSPecs ===
     36
     37The RSpecs for this tutorial are site specific. If you are attending a tutorial, use the site and IP network that was given to you on your worksheet. If you are doing this at home, choose a site from : `clemson, cornell, gatech, gpo, illinois, kansas, uky, kettering, max, missouri, northwestern, nysernet, nyu, sox, stanford, wisconsin`.
     38
     39''In the URLs below, replace <AGGREGATE-NAME> with the name of the site you are using (clemson, cornell,  kansas, uky, kettering, max, northwestern, nysernet, stanford or wisconsin). ''
     40
     41The RSpec you need is at:
     42    * {{{http://www.gpolab.bbn.com/experiment-support/OpenFlowHW/pvtVlan/ig-<AGGREGATE-NAME>.rspec}}}. (Reserves compute resources and specifies location of your controller.)
     43
     44
     45=== 1.2 Edit your RSpecs ===
     46
     47Open your RSpec in a text editor to make the following changes:
     48
     49    * Replace the string <CONTROLLER_IP> (at the bottom of the RSpec) with the IP address of your controller.
     50
     51
     52
     53=== 1.3 Reserve Resources ===
     54
     55  * Use your favorite resource reservation tool (Omni, jFed, Portal) to reserve your resources.  For example, if you are using Omni and the MAX aggregate:
     56{{{ omni -a max-ig createsliver <YOUR_SLICE_NAME> ig-max.rspec }}}
     57
     58
     59== Step 2.  Configure and Initialize ==
     60
     61To get ready for the tutorial you will need to have the following windows open:
     62  * one window with ssh into the controller
     63  * one window with ssh into host1
     64  * two windows with ssh into host2
     65  * one window with ssh into host3
     66
     67Depending on which tool and OS you are using there is a slightly different process for logging in. If you don't know how to SSH to your reserved hosts learn [wiki:HowTo/LoginToNodes how to login.]
     68
     69=== 2a. Configure the Controller for the Hardware Switch: Useful Tips ===
     70==== Which port is connected to which host ====
     71Run the learning pox controller with debug on ''(--verbose)'' (use the command from the OVS tutorial) and start a ping from host1 to host2 and host3. Notice that the printout of pox will have lines like:
     72{{{
     73DEBUG:forwarding.l2_learning:installing flow for 02:b4:88:6d:83:f7.1 -> 02:36:8d:c2:b0:14.8
     74}}}
     75
     76The format after `for` and `->` is <MAC>.<PORT> so this way you know which port is connected to which host. To figure out the name for each port then it is simply `A<PORT>` so if host 1 is out of port 8, then the name is `A8`.
     77
     78==== Configuration files of controllers ====
     79For the proxy and the port_forwarding controllers you will need to modify the config files (port_forward.config, proxy.config) to use the appropriate IP dataplane IP addresses of your hosts to correctly configure your controllers.
     80
     81Next run your controller as you did in the `OVS` experiment.
     82
     83----
     84= [wiki:GENIExperimenter/Tutorials/OpenFlowOVS Introduction] =
     85= [wiki:GENIExperimenter/Tutorials/OpenFlowOVS/Execute Next:  Execute] =