Changes between Version 3 and Version 4 of Internal/OpenFlow/OFIntro
- Timestamp:
- Jul 11, 2013, 10:24:44 PM (11 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/OpenFlow/OFIntro
v3 v4 2 2 This page is meant to get you up and running quickly with !OpenFlow-related experiments/development on the ORBIT testbeds. 3 3 = I. Using node image(s) = 4 To make things easier, we have images pre-installed with the Floodlight controller and several other potentially useful tools, including: 4 To make things easier, we have images pre-installed with several potentially useful packages, including: 5 * [http://www.projectfloodlight.org/floodlight/ Floodlight] : A development-friendly controller platform 5 6 * [http://mininet.org/ mininet] : !OpenFlow network prototyping tool/emulation 6 7 * [http://docs.projectfloodlight.org/display/floodlightcontroller/Cbench+(New) cbench] : Controller benchmarking tool 7 8 * [http://www.openflow.org/wk/index.php/Liboftrace liboftrace] : !OpenFlow message parser/analyzer for pcap files 8 9 9 This makes things easy since you can image multiple nodes with the same image, and pick and choose controllers, switches, etc. For people interested in learning more about/installing these tools and/or Floodlight, they can refer to [#install Section II] for a summary of each and further links.10 11 == imaging == #imaging10 This makes things easy since you can image multiple nodes with the same image, and pick and choose controllers, switches, etc. For people interested in learning more about/installing these packages, they can refer to [#install Section II] for a summary of each and further links. 11 12 == 1.1 imaging == #imaging 12 13 The image is named `of-pkg.ndz`. `omf` can be used to image nodes with it: 13 14 {{{ … … 20 21 Once on, you can log into them as root using their names, e.g. '''node1-1'''. 21 22 22 == Setting up an OF network == #nw_setup 23 === general information === 23 == 1.2 Setting up an OF network == #nw_setup 24 In this section, we set up a basic !OpenFlow network with Floodlight and Mininet using a two-node Sandbox. 25 === 1.2.1 general information === 24 26 ''' node/Sandbox layout ''' [[BR]] 25 27 When you log onto a Sandbox, you are logged into the '''console''' machine, from which you can use `omf` and the likes to image and log onto/manage the nodes. … … 37 39 This can be used in a script to run from the console to quickly set up many nodes. We use it in some of the following examples to make it easier to show what is happening where. 38 40 39 === setup - by example ===40 As a two-node example, we image the nodes on Sandbox8 . One is used for the controller, and the other, the Mininet network.41 === 1.2.2 setup - by example === 42 As a two-node example, we image the nodes on Sandbox8, as shown in [#imaging Section 1.1]. One is used for the controller, and the other, the Mininet network. 41 43 42 44 1. ''Bring up and assign addresses to eth0 of the nodes''. Both should be in the same IP block. From console, the commands look like this: … … 56 58 }}} 57 59 58 2. ''Start the controller on one node''. We arbitrarily pick node1-1. On node1-1, launch Floodlight:60 2. ''Start the controller on one node''. We arbitrarily pick node1-1. From a shell on node1-1, launch Floodlight: 59 61 {{{ 60 62 # cd floodlight 61 63 # java -jar target/floodlight.jar 62 64 }}} 63 Floodlight should now be listening to port 6633 on all interfaces available on the node (eth0, 1, and lo). If you want, you can start up `tcpdump` or something similar to begin capturing on the same node:65 After you give it a few seconds, Floodlight should be listening to port 6633 on all interfaces available on the node (eth0, 1, and lo). If you want, you can start up `tcpdump` or something similar on a separate terminal on node1-1 to begin capturing control messages: 64 66 {{{ 65 67 # tcpdump -i lo port 6633 66 68 }}} 67 68 3. ''Launch Mininet''. On node1-2: 69 Alternatively, you can start `tcpdump` to write to a .pcap file for later analysis with `wireshark` with the !OpenFlow plugin, or `ofstats` or `oftrace`, which are part of liboftrace. 70 {{{ 71 # tcpdump -w outfile.pcap -i lo port 6633 72 }}} 73 3. ''Launch Mininet''. From another shell on node1-2: 69 74 {{{ 70 75 # mn --topo=single,2 --controller=remote,ip=192.168.1.1 … … 105 110 106 111 Quick links: [[BR]] 107 [#floodlight Floodlight][[BR]]108 [#mn Mininet][[BR]]109 [#cbench CBench] [[BR]]110 [#loft liboftrace] [[BR]]111 112 == Floodlight == #floodlight112 [#floodlight 2.1 Floodlight][[BR]] 113 [#mn 2.2 Mininet][[BR]] 114 [#cbench 2.3 CBench] [[BR]] 115 [#loft 2.4 liboftrace] [[BR]] 116 117 == 2.1 Floodlight == #floodlight 113 118 docs: http://docs.projectfloodlight.org/display/floodlightcontroller/Floodlight+Documentation [[BR]] 114 119 … … 141 146 Tutorials and other information can be found here: http://docs.projectfloodlight.org/display/floodlightcontroller/For+Developers 142 147 143 == Mininet == #mn148 == 2.2 Mininet == #mn 144 149 website: http://mininet.org/ [[BR]] 145 150 It is highly recommended to run trough the docs, especially the following: … … 285 290 }}} 286 291 287 == Cbench == #cbench292 == 2.3 Cbench == #cbench 288 293 website: http://docs.projectfloodlight.org/display/floodlightcontroller/Cbench+(New) 289 294 … … 342 347 }}} 343 348 344 == liboftrace (ofdump/ofstats) == #loft349 == 2.4 liboftrace (ofdump/ofstats) == #loft 345 350 docs: [[BR]] 346 351 https://github.com/capveg/oftrace/blob/master/README [[BR]] 347 352 http://www.openflow.org/wk/index.php/Liboftrace 353 348 354 === dependencies === 349 355 {{{