Changes between Version 6 and Version 7 of GEC17Agenda/AdvancedOpenFlow/Procedure/Execute
- Timestamp:
- 07/19/13 23:11:04 (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GEC17Agenda/AdvancedOpenFlow/Procedure/Execute
v6 v7 20 20 === 2.1. Start a naive OpenFlow controller === 21 21 An example OpenFlow Controller that assigns incoming TCP connections to alternating paths '''based on total number of flows''' (round robin) is already downloaded for you. You can find it (load-balancer.rb) in the home directory on node "Switch". [[BR]] 22 - '''2.1.1''' Log on to node "Switch", 22 - '''2.1.1''' Log on to node "Switch". For the tutorial to do that we are going to use the `readyToLogin.py` omni script. 23 - '''2.1.1.1''' Open a terminal window 24 - '''2.1.1.2''' Run: 25 {{{ 26 readyToLogin.py -a EG-AM SLICENAME 27 }}} 28 - '''2.1.1.3''' Find the line that corresponds to the switch node and copy and paste it 23 29 - '''2.1.2''' Check that all interfaces are configured: Issue `ifconfig` and make sure eth1, eth2, eth3 are up and assigned with valid IP addresses. [[BR]] 24 30 - '''2.1.3''' Start the example Load Balancer by executing the following: … … 34 40 35 41 === 2.2. Configure !LabWiki to orchestrate and monitor your experiment === 36 - '''2.2.1''' Log on to !LabWiki on http://emmy9.casa.umass.edu:3005 , on the `Prepare` Column, type " OpenFlow", it will pop up with a list of .rb choices. Choose any one, and replace the whole content with the ruby script [http://www.gpolab.bbn.com/experiment-support/OpenFlowExampleExperiment/ExoGENI/loadbalancer_monitor.rb HERE].37 - '''2.2.2''' Log on to node "Switch" and do "ifconfig" to see the IP addresses on each interfaces.42 - '''2.2.1''' Log on to !LabWiki on http://emmy9.casa.umass.edu:3005 , on the `Prepare` Column, type "gec17" and choose `gec17-advOF-script.rb` file. 43 - '''2.2.2''' On the terminal where you are logged in on node "Switch", rerun "ifconfig" to see the IP addresses on each interface. 38 44 - '''Note''': You may not be able to see all interfaces up immediately when node "Switch" is ready; wait for some more time (about 1 min) then try "ifconfig" again. 39 45 - '''2.2.3''' Identify the two interfaces that you want to monitor: the interfaces with IP addresses 192.168.2.1(left) and 192.168.3.1(right) respectively. On the !LabWiki page, in your ruby script, find the following lines: … … 58 64 59 65 === 3.2 Run the experiment in paths with different bandwidth === 60 - '''3.2.1''' Log on to node "left" and change the link capacity for the interface with IP address "192.168.2.2" (use "ifconfig" to find the correct interface, here we assume eth1 is the interface connecting to node "Switch"):66 - '''3.2.1''' Log on to node "left" (use the `readyToLogin.py` script) and change the link capacity for the interface with IP address "192.168.2.2" (use "ifconfig" to find the correct interface, here we assume eth1 is the interface connecting to node "Switch"): 61 67 {{{ 62 68 ovs-vsctl set Interface eth1 ingress_policing_rate=10000 63 69 }}} 64 70 The above will rate-limit the connection from node "Switch" to node "left" to have a bandwidth of 10Mbps. 65 - Other ways to e.g., change link delay and loss rate using "tc qdisc netem" can be found in Section 4.71 - Other ways to e.g., change link delay and loss-rate using "tc qdisc netem" can be found in Appendix D. 66 72 67 73 - '''3.2.2''' On node "Switch", start your Load Balancer using the following command: … … 73 79 ovs-vsctl set-controller br0 tcp:127.0.0.1 ptcp:6634:127.0.0.1 74 80 }}} 75 - '''3.2.4''' Go back to your !LabWiki web page, drag and drop the `file icon` and repeat the experiment, as described in section 2.2.4, using a different experiment name (the slice name should stay the same).76 - '''3. 4.5''' When your experiment is finished, turn off your controller and disconnect switch from your controller:81 - '''3.2.4''' Go back to your !LabWiki web page, drag and drop the `file icon` and repeat the experiment, as described in section 3.1, using a different experiment name (the slice name should stay the same). 82 - '''3.2.5''' When your experiment is finished, turn off your controller and disconnect switch from your controller: 77 83 - On node "Switch", press "Ctrl" and "c" key to kill your Load Balancer process on node "Switch" 78 84 - On node "Switch", use the following command to disconnect the OpenFlow Switch from the controller: