Changes between Version 7 and Version 8 of GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight/HW/DesignSetup


Ignore:
Timestamp:
03/01/17 14:50:12 (7 years ago)
Author:
lnevers@bbn.com
Comment:

--

Legend:

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

    v7 v8  
     1[[PageOutline]]
     2
    13= OpenFlow using a Hardware Switch =
    24
    3 This experiment provides a guide on how to do the [wiki:GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight OpenFlowOVS with Floodlight tutorial] using the Hardware OpenFlow switches available in the InstaGENI (IG) racks. This can serve as a general guide on how to use the OpenFlow Hardware switches.
    4 
    5 [[PageOutline]]
     5This experiment provides a guide on how to do the [wiki:GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight OpenFlowOVS with Floodlight tutorial] using a Hardware OpenFlow switch in an InstaGENI (IG) rack.
    66
    77== Step 1.  Obtain Controller Resources ==
    88
    9 The topology used in this experiment is the same as the one used in the  [wiki:GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight/DesignSetup OpenFlow using OVS with Floodlight] tutorial: Three Virtual Machines (VMs) connected by an !OpenFlow switch. However this tutorial uses A hardware !OpenFlow switch instead of a software OVS switch.
     9The topology in this experiment is the same as the one in the  [wiki:GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight/DesignSetup OpenFlow using OVS with Floodlight] tutorial: Three Virtual Machines (VMs) connected by an !OpenFlow switch. However, this tutorial uses a hardware !OpenFlow switch instead of a software OVS switch.
    1010
    1111[[Image(GENIExperimenter/Graphics:SimpleHardwareOpenFlow.jpg,40%)]]
    1212
    13 This experiment requires two slices; one slice for the OpenFlow Controller reservation and a second slice for the network topology that includes the compute resource for the endpoint hosts.
     13This experiment requires two slices:
     14 - one slice for the OpenFlow Controller reservation
     15 - a second slice for the network topology that includes the compute resource as the endpoint hosts.
    1416
    15 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:
     17Create the slice that will run the !OpenFlow controller by reserving a VM running the controller using the request RSpec:
    1618
    1719{{{ https://raw.githubusercontent.com/GENI-NSF/geni-tutorials/master/OVSFloodLight/ControllerCustom_request_rspec.xml}}}
    1820
    19 Once the controller has been reserved, login to the allocated VM and get the routable IP Address that has been allocated to the controller node. This address will be used in the next step when the hosts topology is requested. If needed, see help on
     21Once the controller has been reserved, login to it and get the routable IP Address that has been allocated to the controller node. This address will be used in the next step when the hosts topology is requested. If needed, see help on
    2022[wiki:HowTo/LoginToNodes how to login].
    2123
     
    2325=== 1.1 Find your Endpoint Hosts RSpecs ===
    2426
    25 Once we have the controller allocated, we can proceed to reserving the second slice that allocates the VMs used as endpoint hosts in the topology.
     27Now we proceed to reserve the second slice that allocates the VMs used as endpoint hosts in the topology.
    2628
    27 '''About GENI !OpenFlow switches''' [[BR]]
     29GENI offers access to hardware !OpenFlow switches, which in most cases can support only one controller.  On the InstaGENI racks the switch is sliced based on VLANs, so each VLAN is its own virtual datapath, thus allowing multiple OF experiments. To force the  links between the endpoint host VMs to go through the rack's !OpenFlow switch, we must request that each endpoint host be on a separate VM Server host in the rack.  The RSpecs '''bind''' each endpoint hosts to a separate Xen VM server and specify the location of your controller. 
    2830
    29 GENI offers access to hardware !OpenFlow switches, which in most cases can support only one controller.  On the InstaGENI racks the switch is sliced based on VLANs, so each VLAN is its own virtual datapath. To force the  links between the endpoint host VMs to go through the rack !OpenFlow switch, we must request that each be on separate physical hosts on the rack.  Our experiment will '''bind''' each endpoint hosts to a separate Xen VM server, i.e. to different physical hosts.
    30 
    31 The RSpecs for the second slice are site specific and are used to reserves the compute resources and to specify the location of your controller. 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,  kansas, uky, max, stanford or wisconsin`. 
     31If 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,  kansas, uky, max, stanford or wisconsin`. 
    3232
    3333In the URLs below, replace the <AGGREGATE-NAME> with the name of the site you are using (clemson, cornell,  kansas, uky, max, stanford or wisconsin). The RSpec for the second slice is available at:
     
    4242=== 1.2 Edit your Endpoint Hosts RSpecs ===
    4343
    44 Open your RSpec in a text editor to insert the IP address of your controller. Done by replacing the string <CONTROLLER_IP> at the bottom of the RSpec with the IP address of your controller.  The controller line looks as follows:
     44Open your RSpec in a text editor to insert the IP address of your controller. This is done by replacing the string <CONTROLLER_IP> at the bottom of the RSpec with the IP address of your controller.  The controller line looks as follows:
    4545 
    4646{{{<emulab:openflow_controller url="tcp:CONTROLLER_IP:6633"/>}}}
     
    6969==== Which port is connected to which host ====
    7070
    71 To learn about the ports on which the Hosts are connected to the HW Switch, you need to run the Controller and execute a curl command.
     71To learn about the ports on which the Hosts are connected to the hardware switch, you need to run the Controller and execute a curl command:
     72 
     73curl http://localhost:8080/wm/device/ | python -m json.tool
    7274
    7375=== 2b. Run your controller. ===