Changes between Version 35 and Version 36 of GEC16Agenda/OpenFlow/Instructions/Execute


Ignore:
Timestamp:
03/12/13 00:38:10 (6 years ago)
Author:
nriga@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GEC16Agenda/OpenFlow/Instructions/Execute

    v35 v36  
    6767             </li><br/>
    6868           <li>List all the interfaces of the node <br/> <code>ifconfig</code>.</li> <br/>
    69            <li> Be careful <b> not to bring down eth0</b>. This is your control interface, if you bring that interface down you <b> won't be able to login</b> to your host!. For all interfaces other than <code>eth0</code> and <code> l0</code>, bring the interfaces down: <br/>
    70               <ul><li> <code> sudo ifconfig ethX down </code> </li></ul>
     69           <li> Be careful <b> not to bring down eth0</b>. This is your control interface, if you bring that interface down you <b> won't be able to login</b> to your host!. For all interfaces other than <code>eth0</code> and <code> l0</code>, remove the IP from the interfaces: <br/>
     70              <ul><li> <code> sudo ifconfig ethX 0 </code> </li></ul>
    7171             </li> <br/>
    7272             <li> Add all the interfaces you just brought down to your switch (bridge):
     
    8181 </table>
    8282}}}
    83    *
    84    
     83 
     84Congratulations! You have configured your software switch, which three ports, let's see them. Run:
     85{{{
     86sudo ovs-vsctl list-ports br0
     87}}}
    8588
    86    
     89== 2. Point your switch to a controller ==
     90An OpenFlow switch will not forward any packet, unless instructed by a controller. Basically the forwarding table is empty, until an external controller inserts forwarding rules. The OpenFlow controller communicates with the switch over the control network and it can be anywhere in the Internet as long as it is reachable by the OVS host. For the purpose of this tutorial and in order to minimize the resources we have reserved we are going to run OpenFlow controller at the same host as the OVS switch. This is '''merely''' for convenience reasons, the controller could have been anywhere on the Internet.
     91
     92In order to point our software OpenFlow switch to the controller run:
     93{{{
     94sudo ovs-vsctl set-controller br0 tcp:127.0.0.1:6633
     95}}}
     96
     97=== `standalone` vs `secure` mode ===
     98The OpenFlow controller is responsible for setting up all flows on the switch, which means that when the controller is not running there should be no packet switching at all. Depending on the setup of your network, such a behavior might not be desired. It might be best that when the controller is down, the switch should default back in being a learning layer 2 switch. In other circumstances however this might be undesirable. In OVS this is a tunable parameter, called `fail-safe-mode` which can be set to the following parameters:
     99  * `standalone` [default] : in which case OVS will take responsibility for forwarding the packets if the controller fails
     100  * `secure` : in which case only the controller is responsible for forwarding packets, and if the controller is down all packets are going to be dropped.
     101
     102In OVS when the parameter is not set it falls back to the `standalone` mode. For the purpose of this tutorial we will set the `fail-safe-mode` to `secure`, since we want to be the ones controlling the forwarding. Run:
     103{{{
     104sudo ovs-vsctl set-fail-mode br0 secure
     105}}}
     106
     107
    87108= Execute Experiment =
    88109== Use a Learning Switch Controller ==