Changes between Version 141 and Version 142 of GENIExperimenter/Tutorials/OpenFlowOVS/Execute
- Timestamp:
- 11/19/15 23:07:23 (8 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIExperimenter/Tutorials/OpenFlowOVS/Execute
v141 v142 126 126 Now the ping should work. 127 127 128 4. If you are using OVS, go back to your OVShost and take a look at the print outs. You should see that your controller installed flows based on the mac addresses of your packets.128 4. Go to your controller host and take a look at the print outs. You should see that your controller installed flows based on the mac addresses of your packets. 129 129 130 130 {{{ … … 142 142 }}} 143 143 144 5. If you are using OVS, to see the flow table entries on your OVS switch: 144 === 3b. Look around your OVS switch === 145 146 1. If you are using OVS, to see the flow table entries on your OVS switch: 145 147 {{{ 146 148 sudo ovs-ofctl dump-flows br0 … … 148 150 You should see at least two table entries: One for ICMP Echo (icmp_type=8) messages from host1 to host2 and one for ICMP Echo Reply (icmp_type=0) messages from host2 to host1. You may also see flow entries for arp packets. 149 151 150 6. To see messages go between your switch and your controller, open a new ssh window to your controller node and run tcpdump on the `eth0` interface and on the tcp port that your controller is listening on usually 6633. (You can also run `tcpdump` on the `OVS` control interface if you desire. However, when using the hardware switch, you can only do the `tcpdump` on your controller host.)152 2. To see messages go between your switch and your controller, open a new ssh window to your controller node and run tcpdump on the `eth0` interface and on the tcp port that your controller is listening on usually 6633. (You can also run `tcpdump` on the `OVS` control interface if you desire. However, when using the hardware switch, you can only do the `tcpdump` on your controller host.) 151 153 {{{ 152 154 sudo tcpdump -i eth0 tcp port 6633 … … 154 156 You will see (1) periodic keepalive messages being exchanged by the switch and the controller, (2) messages from the switch to the controller (e.g. when there is a table miss) and an ICMP Echo message in, and (3) messages from the controller to the switch (e.g. to install new flow entries). 155 157 156 7. Kill your POX controller by pressing `Ctrl-C`:158 3. Kill your POX controller by pressing `Ctrl-C`: 157 159 {{{ 158 160 DEBUG:forwarding.l2_learning:installing flow for 02:c7:e8:a7:40:65.1 -> 02:f1:ae:bb:e3:a8.2 … … 162 164 }}} 163 165 164 8. Notice what happens to your ping on host1.165 166 9. If you are using OVS, check the flow table entries on your switch:166 4. Notice what happens to your ping on host1. 167 168 5. If you are using OVS, check the flow table entries on your switch: 167 169 {{{ 168 170 sudo ovs-ofctl dump-flows br0 … … 203 205 * createArpReply : Create an Arp Reply for a different source IP 204 206 205 === 3 c. Debugging your Controller ===207 === 3d. Debugging your Controller === 206 208 While you are developing your controller, some useful debugging tools are: 207 209 … … 240 242 listening on. And once you have lines, you can choose one of the lines and choose "Decode as ...." and choose the ''OFP protocol''. 241 243 242 === 3d. Run a traffic duplication controller === 243 244 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 `tcpdump` on two ports on the OVS switch. 244 === 3e. Run a traffic duplication controller === 245 246 In the above example we ran a very simple learning switch controller. [[BR]] 247 [[Image(GENIExperimenter/Tutorials/Graphics:4NotesIcon_512x512.png, 5%, nolink)]] 248 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 `tcpdump` on two ports on the OVS switch. 245 249 246 250 1. Use the interfaces that are connected to `host2` and `host3`.