Changes between Version 141 and Version 142 of GENIExperimenter/Tutorials/OpenFlowOVS/Execute


Ignore:
Timestamp:
11/19/15 23:07:23 (8 years ago)
Author:
nriga@bbn.com
Comment:

--

Legend:

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

    v141 v142  
    126126  Now the ping should work.
    127127
    128   4. If you are using OVS, go back to your OVS 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. 
     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. 
    129129
    130130{{{
     
    142142}}}
    143143
    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:
    145147{{{
    146148sudo ovs-ofctl dump-flows br0
     
    148150  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.
    149151
    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.)
    151153{{{
    152154sudo tcpdump -i eth0 tcp port 6633
     
    154156  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).
    155157
    156   7. Kill your POX controller by pressing `Ctrl-C`:
     158  3. Kill your POX controller by pressing `Ctrl-C`:
    157159{{{
    158160DEBUG:forwarding.l2_learning:installing flow for 02:c7:e8:a7:40:65.1 -> 02:f1:ae:bb:e3:a8.2
     
    162164}}}
    163165
    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:
    167169{{{
    168170sudo ovs-ofctl dump-flows br0
     
    203205  * createArpReply : Create an Arp Reply for  a different source IP
    204206
    205 === 3c. Debugging your Controller ===
     207=== 3d. Debugging your Controller ===
    206208While you are developing your controller, some useful debugging tools are:
    207209
     
    240242listening on.   And once you have lines, you can choose one of the lines and choose "Decode as ...." and choose the ''OFP protocol''.
    241243
    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
     246In the above example we ran a very simple learning switch controller. [[BR]]
     247[[Image(GENIExperimenter/Tutorials/Graphics:4NotesIcon_512x512.png, 5%, nolink)]]
     248The 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.
    245249
    246250  1. Use the interfaces that are connected to `host2` and  `host3`.