Changes between Version 60 and Version 61 of GENIExperimenter/Tutorials/OpenFlowOVS/Execute
- Timestamp:
- 07/07/14 20:13:49 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIExperimenter/Tutorials/OpenFlowOVS/Execute
v60 v61 25 25 To get ready for the tutorial you will need to have the following windows open: 26 26 * two windows with ssh into OVS 27 * twowindows with ssh into host128 * onewindow with ssh into host227 * one windows with ssh into host1 28 * two window with ssh into host2 29 29 * one window with ssh into host3 30 30 … … 193 193 In 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. 194 194 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. 197 196 {{{ 198 197 sudo tcpdump -i <data_interface_name> 199 198 }}} 200 199 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: 202 201 203 202 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. 204 203 ii. !DuplicateTraffic.py : this has the actual solution you can just run this if you don't want to bother with writing a controller. 205 204 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`): 207 206 {{{ 208 207 cd /local/pox … … 210 209 }}} 211 210 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: 213 212 {{{ 214 213 ping 10.10.1.2 … … 216 215 If your controller is working, your packets will register in both terminals running tcpdump. 217 216 218 6. Stop the POX controller:217 5. Stop the POX controller: 219 218 {{{ 220 219 DEBUG:myDuplicateTraffic:Got a packet : [02:f1:ae:bb:e3:a8>02:c7:e8:a7:40:65 IP]