Changes between Version 126 and Version 127 of GENIExperimenter/Tutorials/OpenFlowOVS/Execute


Ignore:
Timestamp:
03/04/15 14:44:41 (10 years ago)
Author:
rrhain@bbn.com
Comment:

--

Legend:

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

    v126 v127  
    6767The output should look like this:
    6868{{{
    69   POX 0.1.0 (betta) / Copyright 2011-2013 James McCauley, et al.
    70   DEBUG:core:POX 0.1.0 (betta) going up...
    71   DEBUG:core:Running on CPython (2.7.3/Apr 20 2012 22:39:59)
    72   DEBUG:core:Platform is Linux-3.2.0-56-generic-x86_64-with-Ubuntu-12.04-precise
    73   INFO:core:POX 0.1.0 (betta) is up.
    74   DEBUG:openflow.of_01:Listening on 0.0.0.0:6633
    75   INFO:openflow.of_01:[9e-38-3e-8d-42-42 1] connected
    76   DEBUG:forwarding.l2_learning:Connection [9e-38-3e-8d-42-42 1]
    77 
    78   }}}
     69POX 0.1.0 (betta) / Copyright 2011-2013 James McCauley, et al.
     70DEBUG:core:POX 0.1.0 (betta) going up...
     71DEBUG:core:Running on CPython (2.7.3/Apr 20 2012 22:39:59)
     72DEBUG:core:Platform is Linux-3.2.0-56-generic-x86_64-with-Ubuntu-12.04-precise
     73INFO:core:POX 0.1.0 (betta) is up.
     74DEBUG:openflow.of_01:Listening on 0.0.0.0:6633
     75INFO:openflow.of_01:[9e-38-3e-8d-42-42 1] connected
     76DEBUG:forwarding.l2_learning:Connection [9e-38-3e-8d-42-42 1]
     77}}}
    7978
    8079
     
    9897
    9998 3. In the terminal of `host1`, ping `host2`:
    100   {{{
    101   [experimenter@host1 ~]$ ping host2
    102   PING host2-lan1 (10.10.1.2) 56(84) bytes of data.
    103   From host1-lan0 (10.10.1.1) icmp_seq=2 Destination Host Unreachable
    104   From host1-lan0 (10.10.1.1) icmp_seq=3 Destination Host Unreachable
    105   From host1-lan0 (10.10.1.1) icmp_seq=4 Destination Host Unreachable
    106   64 bytes from host2-lan1 (10.10.1.2): icmp_req=5 ttl=64 time=23.9 ms
    107   64 bytes from host2-lan1 (10.10.1.2): icmp_req=6 ttl=64 time=0.717 ms
    108   64 bytes from host2-lan1 (10.10.1.2): icmp_req=7 ttl=64 time=0.654 ms
    109   64 bytes from host2-lan1 (10.10.1.2): icmp_req=8 ttl=64 time=0.723 ms
    110   64 bytes from host2-lan1 (10.10.1.2): icmp_req=9 ttl=64 time=0.596 ms
    111   }}}
     99{{{
     100[experimenter@host1 ~]$ ping host2
     101PING host2-lan1 (10.10.1.2) 56(84) bytes of data.
     102From host1-lan0 (10.10.1.1) icmp_seq=2 Destination Host Unreachable
     103From host1-lan0 (10.10.1.1) icmp_seq=3 Destination Host Unreachable
     104From host1-lan0 (10.10.1.1) icmp_seq=4 Destination Host Unreachable
     10564 bytes from host2-lan1 (10.10.1.2): icmp_req=5 ttl=64 time=23.9 ms
     10664 bytes from host2-lan1 (10.10.1.2): icmp_req=6 ttl=64 time=0.717 ms
     10764 bytes from host2-lan1 (10.10.1.2): icmp_req=7 ttl=64 time=0.654 ms
     10864 bytes from host2-lan1 (10.10.1.2): icmp_req=8 ttl=64 time=0.723 ms
     10964 bytes from host2-lan1 (10.10.1.2): icmp_req=9 ttl=64 time=0.596 ms
     110}}}
    112111
    113112  Now the ping should work.
     
    130129
    131130  5. If you are using OVS, to see the flow table entries on your OVS switch:
    132   {{{
     131{{{
    133132sudo ovs-ofctl dump-flows br0
    134   }}}
     133}}}
    135134  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.
    136135
    137136  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.)
    138   {{{
     137{{{
    139138sudo tcpdump -i eth0 tcp port 6633
    140   }}}
     139}}}
    141140  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).
    142141
    143142  7. Kill your POX controller by pressing `Ctrl-C`:
    144   {{{
    145   DEBUG:forwarding.l2_learning:installing flow for 02:c7:e8:a7:40:65.1 -> 02:f1:ae:bb:e3:a8.2
    146   ^C
    147   INFO:core:Going down...
    148   INFO:openflow.of_01:[3a-51-a1-ab-c3-43 1] disconnected
    149   INFO:core:Down.
    150   }}}
     143{{{
     144DEBUG:forwarding.l2_learning:installing flow for 02:c7:e8:a7:40:65.1 -> 02:f1:ae:bb:e3:a8.2
     145INFO:core:Going down...
     146INFO:openflow.of_01:[3a-51-a1-ab-c3-43 1] disconnected
     147INFO:core:Down.
     148}}}
    151149
    152150  8. Notice what happens to your ping on host1.
    153151
    154152  9. If you are using OVS, check the flow table entries on your switch:
    155    {{{
     153{{{
    156154sudo ovs-ofctl dump-flows br0
    157   }}}
     155}}}
    158156  Since you set your switch to "secure" mode, i.e. don't forward packets if the controller fails, you will not see flow table entries.  If you see flow table entries, try again after 10 seconds to give the entries time to expire.
    159157
     
    238236  To see that duplication is happening, on the ovs host, run: 
    239237{{{
    240 sudo tcpdump -i <data_interface_name>  [using the data_interface to host2]
    241 sudo tcpdump -i <data_interface_name>  [using the data_interface to host3]
     238sudo tcpdump -i <data_interface_name>  [data_interface to host2]
     239sudo tcpdump -i <data_interface_name>  [data_interface to host3]
    242240}}}
    243241
     
    262260  5. Stop the POX controller:
    263261{{{
    264   DEBUG:myDuplicateTraffic:Got a packet : [02:f1:ae:bb:e3:a8>02:c7:e8:a7:40:65 IP]
    265   DEBUG:SimpleL2Learning:installing flow for 02:f1:ae:bb:e3:a8.2 -> 02:c7:e8:a7:40:65.[1, 2]
    266   ^C
    267   INFO:core:Going down...
    268   INFO:openflow.of_01:[3a-51-a1-ab-c3-43 1] disconnected
    269   INFO:core:Down.
    270   controller:/tmp/pox%
     262DEBUG:myDuplicateTraffic:Got a packet : [02:f1:ae:bb:e3:a8>02:c7:e8:a7:40:65 IP]
     263DEBUG:SimpleL2Learning:installing flow for 02:f1:ae:bb:e3:a8.2 -> 02:c7:e8:a7:40:65.[1, 2]
     264
     265INFO:core:Going down...
     266INFO:openflow.of_01:[3a-51-a1-ab-c3-43 1] disconnected
     267INFO:core:Down.
    271268}}}
    272269
     
    302299  6. Now, stop the simple layer 2 forwarding controller:
    303300{{{
    304   DEBUG:forwarding.l2_learning:installing flow for 02:d4:15:ed:07:4e.3 -> 02:ff:be:1d:19:ea.2
    305   ^C
    306   INFO:core:Going down...
    307   INFO:openflow.of_01:[36-63-8b-d7-16-4b 1] disconnected
    308   INFO:core:Down.
    309   controller:/tmp/pox%
     301DEBUG:forwarding.l2_learning:installing flow for 02:d4:15:ed:07:4e.3 -> 02:ff:be:1d:19:ea.2
     302
     303INFO:core:Going down...
     304INFO:openflow.of_01:[36-63-8b-d7-16-4b 1] disconnected
     305INFO:core:Down.
    310306}}}
    311307
     
    320316  9. Stop your port forwarding controller:
    321317{{{
    322   DEBUG:myPortForwarding:Got a packet : [02:aa:a3:e8:6c:db>33:33:ff:e8:6c:db IPV6]
    323   ^C
    324   INFO:core:Going down...
    325   INFO:openflow.of_01:[36-63-8b-d7-16-4b 1] disconnected
    326   INFO:core:Down.
     318DEBUG:myPortForwarding:Got a packet : [02:aa:a3:e8:6c:db>33:33:ff:e8:6c:db IPV6]
     319
     320INFO:core:Going down...
     321INFO:openflow.of_01:[36-63-8b-d7-16-4b 1] disconnected
     322INFO:core:Down.
    327323}}}
    328324