Changes between Version 7 and Version 8 of GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight/DesignSetup
- Timestamp:
- 11/18/16 07:25:06 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GENIExperimenter/Tutorials/OpenFlowOVS-Floodlight/DesignSetup
v7 v8 55 55 }}} 56 56 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 57 60 a. '''Reserve your network''', that includes a VM with OVS installed. [[BR]] 58 61 ''RSpec'': You can use the following url, url: [https://floodlight.atlassian.net/wiki/download/attachments/45645828/TransparentRedirectFINAL.xml?version=1&modificationDate=1463690438218&api=v2] … … 77 80 }}} 78 81 79 == Step 2. Configure the Floodlight Controller == #con80 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/floodlight84 }}}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 update89 sudo apt-get install software-properties-common python-software-properties90 sudo add-apt-repository ppa:webupd8team/java91 sudo apt-get update92 sudo apt-get install oracle-java8-installer93 }}}94 95 Confirm the java version by typing the command:96 {{{97 java -version98 }}}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 ant103 }}}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 curl108 }}}109 110 Now we can compile the controller. Enter the following commands:111 {{{112 cd floodlight113 ant114 }}}115 116 You can start the Floodlight Controller using the command:117 {{{118 java -jar target/floodlight.jar119 }}}120 82 121 83 122 == Step 3. Configure the Open vSwitch ==84 == Step 2. Configure the Open vSwitch == 123 85 '''Overview: ''' 124 86 ''Although OVS is installed and initialized on the host that is meant to act as a software switch, it has not been configured yet. … … 127 89 128 90 129 === 3a. Configure the Software Switch (OVS Window) ===91 === 2a. Configure the Software Switch (OVS Window) === 130 92 131 93 i. Login to the OVS host … … 158 120 }}} 159 121 160 === 3b. Point your switch to a controller ===122 === 2b. Point your switch to a controller === 161 123 {{{ 162 124 #!html … … 171 133 }}} 172 134 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: 175 138 {{{ 176 sudo ovs-vsctl set-controller br0 tcp: 192.168.1.2:6653139 sudo ovs-vsctl set-controller br0 tcp:<controller_ip>:6653 177 140 }}} 178 i i. 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: 179 142 {{{ 180 143 sudo ovs-vsctl set-fail-mode br0 secure 181 144 }}} 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: 183 146 {{{ 184 147 sudo ovs-vsctl show 185 148 }}} 186 149 187 ==== 3c. `standalone` vs `secure` mode ====150 ==== 2c. `standalone` vs `secure` mode ==== 188 151 189 152 ''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:''