Changes between Version 7 and Version 8 of GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight/DesignSetup


Ignore:
Timestamp:
11/18/16 07:25:06 (7 years ago)
Author:
pjayanth@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight/DesignSetup

    v7 v8  
    5555}}}
    5656
     57          a. '''Reserve a VM that runs your !OpenFlow controller'''. [[BR]]
     58       ''RSpec:'' In the Portal:  ''XEN !OpenFlow Controller'', url: [http://www.gpolab.bbn.com/exp/OpenFlowOVS/xen-openflow-controller-rspec.xml]
     59
    5760          a. '''Reserve your network''', that includes a VM with OVS installed.  [[BR]]
    5861       ''RSpec'': You can use the following url, url: [https://floodlight.atlassian.net/wiki/download/attachments/45645828/TransparentRedirectFINAL.xml?version=1&modificationDate=1463690438218&api=v2]
     
    7780}}}
    7881
    79 == Step 2. Configure the Floodlight Controller == #con
    80 Once a site has been chosen and all of the resources are up, go ahead and ssh into the controller. '''All of the commands in this section are going to be run from within the controller resource.'''
    81 There are a few things that we need to install, the first being Floodlight! It’s located on GitHub, so we’ll just grab that using the following command:
    82 {{{
    83 git clone http://github.com/floodlight/floodlight
    84 }}}
    85 
    86 We need to install other dependencies since Floodlight was recently updated to support Java 8. Enter the following commands:
    87 {{{
    88 sudo apt-get update
    89 sudo apt-get install software-properties-common python-software-properties
    90 sudo add-apt-repository ppa:webupd8team/java
    91 sudo apt-get update
    92 sudo apt-get install oracle-java8-installer
    93 }}}
    94 
    95 Confirm the java version by typing the command:
    96 {{{
    97 java -version
    98 }}}
    99 
    100 Now we need to compile the controller. We are going to do that by using the tool '''ant'''. Enter the following command to install '''ant''':
    101 {{{
    102 sudo apt-get install ant
    103 }}}
    104 
    105 To communicate with the Floodlight Controller using the built-in REST API's, we need to install the tool '''curl'''. Enter the following command:
    106 {{{
    107 sudo apt-get install curl
    108 }}}
    109 
    110 Now we can compile the controller. Enter the following commands:
    111 {{{
    112 cd floodlight
    113 ant
    114 }}}
    115 
    116 You can start the Floodlight Controller using the command:
    117 {{{
    118 java -jar target/floodlight.jar
    119 }}}
    12082
    12183
    122 == Step 3.  Configure the Open vSwitch ==
     84== Step 2.  Configure the Open vSwitch ==
    12385'''Overview: '''
    12486''Although OVS is installed and initialized on the host that is meant to act as a software switch, it has not been configured yet.
     
    12789
    12890
    129 === 3a. Configure  the Software Switch (OVS Window) ===
     91=== 2a. Configure  the Software Switch (OVS Window) ===
    13092
    13193 i. Login to the OVS host
     
    158120}}}
    159121
    160 === 3b. Point your switch to a controller ===
     122=== 2b. Point your switch to a controller ===
    161123{{{
    162124#!html
     
    171133}}}
    172134
    173  
    174  i. In order to point our software !OpenFlow switch to the controller, in the ''ovs'' terminal window, run:
     135 i. Login to your controller
     136 ii.  Find the control interface IP of your controller, use ''ifconfig'' and note down the IP address of `eth0`.
     137 iii. In order to point our software !OpenFlow switch to the controller, in the ''ovs'' terminal window, run:
    175138 {{{
    176 sudo ovs-vsctl set-controller br0 tcp:192.168.1.2:6653
     139sudo ovs-vsctl set-controller br0 tcp:<controller_ip>:6653
    177140 }}}
    178  ii. Set your switch to `fail-safe-mode`. For more info read the [#standalonevssecuremode standalone vs secure mode section].  Run:
     141 i. Set your switch to `fail-safe-mode`. For more info read the [#standalonevssecuremode standalone vs secure mode section].  Run:
    179142{{{
    180143sudo ovs-vsctl set-fail-mode br0 secure
    181144}}}
    182  iii. Trust but verify. You can verify your OVS settings by issuing the following:
     145 vi. Trust but verify. You can verify your OVS settings by issuing the following:
    183146 {{{
    184147sudo ovs-vsctl show
    185148}}}
    186149
    187 ==== 3c. `standalone` vs `secure` mode ====
     150==== 2c. `standalone` vs `secure` mode ====
    188151
    189152''The !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 to 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:''