Changes between Version 60 and Version 61 of GENIExperimenter/Tutorials/OpenFlowOVS/Execute


Ignore:
Timestamp:
07/07/14 20:13:49 (10 years ago)
Author:
nriga@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/OpenFlowOVS/Execute

    v60 v61  
    2525To get ready for the tutorial you will need to have the following windows open:
    2626  * two windows with ssh into OVS
    27   * two windows with ssh into host1
    28   * one window with ssh into host2
     27  * one windows with ssh into host1
     28  * two window with ssh into host2
    2929  * one window with ssh into host3
    3030
     
    193193In the above example we ran a very simple learning switch controller. The power of !OpenFlow comes from the fact that you can decide to forward the packet anyway you want based on the supported !OpenFlow actions. A very simple but powerful modification you can do, is to duplicate all the traffic of the switch out a specific port. This is very useful for application and network analysis. You can imagine that at the port where you duplicate traffic you connect a device that does analysis. For this tutorial we  are going to verify the duplication by doing a `tcpdump`  on a port on the OVS switch.
    194194
    195   1. Open two new terminals to the OVS host.
    196   2. Look at the slice ''Details'' page in the portal, select the aggregate that you chose in flack to create the sliver, if you used the portal to create the sliver, then the aggregate is already selected for you). Click on "Resource Details" to find the interfaces bound to ''OVS:if1'' (connected to `host2`) and ''OVS:if2'' (connected to `host3`), use the MAC address of the interface to figure this out.  Run tcpdump on these interfaces; one in each of the new terminals you opened. This will allow you to see all traffic going out the interfaces.
     195  1. Look at the slice ''Details'' page in the portal, select the aggregate that you chose in flack to create the sliver, if you used the portal to create the sliver, then the aggregate is already selected for you). Click on "Resource Details" to find the interfaces bound to ''OVS:if1'' (connected to `host2`) and ''OVS:if2'' (connected to `host3`), use the MAC address of the interface to figure this out.  Run tcpdump on these interfaces; one in each of the new terminals you opened. This will allow you to see all traffic going out the interfaces.
    197196  {{{
    198197  sudo tcpdump -i <data_interface_name>
    199198  }}}
    200199
    201   3. In the other OVS host directory `/local/pox/ext` you would see two files:
     200  2. In the other OVS host directory `/local/pox/ext` you would see two files:
    202201
    203202       i. myDuplicateTraffic.py : this is the file that has instructions about how to complete the missing information, go ahead and try to implement your first controller.
    204203       ii. !DuplicateTraffic.py : this has the actual solution you can just run this if you don't want to bother with writing a controller.
    205204
    206   4. Run your newly written controller on the <data_interface_name> that corresponds to ''OVS:if2'' (which is connected to `host3`):
     205  3. Run your newly written controller on the <data_interface_name> that corresponds to ''OVS:if2'' (which is connected to `host3`):
    207206  {{{
    208207  cd /local/pox
     
    210209  }}}
    211210   
    212   5. To test it go to the terminal of host1 and try to ping host2:
     211  4. To test it go to the terminal of host1 and try to ping host2:
    213212  {{{
    214213  ping 10.10.1.2
     
    216215  If your controller is working, your packets will register in both terminals running tcpdump.
    217216
    218   6. Stop the POX controller:
     217  5. Stop the POX controller:
    219218  {{{
    220219  DEBUG:myDuplicateTraffic:Got a packet : [02:f1:ae:bb:e3:a8>02:c7:e8:a7:40:65 IP]