Changes between Version 3 and Version 4 of Internal/OpenFlow/OFIntro


Ignore:
Timestamp:
Jul 11, 2013, 10:24:44 PM (11 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/OFIntro

    v3 v4  
    22This page is meant to get you up and running quickly with !OpenFlow-related experiments/development on the ORBIT testbeds.
    33= 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:
     4To 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
    56 * [http://mininet.org/ mininet] : !OpenFlow network prototyping tool/emulation
    67 * [http://docs.projectfloodlight.org/display/floodlightcontroller/Cbench+(New) cbench] : Controller benchmarking tool
    78 * [http://www.openflow.org/wk/index.php/Liboftrace liboftrace] : !OpenFlow message parser/analyzer for pcap files   
    89
    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 == #imaging
     10This 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
    1213The image is named `of-pkg.ndz`. `omf` can be used to image nodes with it:
    1314{{{
     
    2021Once on, you can log into them as root using their names, e.g. '''node1-1'''.
    2122
    22 == Setting up an OF network == #nw_setup
    23 === general information ===
     23== 1.2 Setting up an OF network == #nw_setup
     24In this section, we set up a basic !OpenFlow network with Floodlight and Mininet using a two-node Sandbox.
     25=== 1.2.1 general information ===
    2426''' node/Sandbox layout ''' [[BR]]
    2527When 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.
     
    3739This 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.   
    3840
    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 ===
     42As 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.
    4143
    4244 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:
     
    5658 }}}
    5759
    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:
    5961 {{{
    6062# cd floodlight
    6163# java -jar target/floodlight.jar
    6264 }}}
    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:
    6466 {{{
    6567# tcpdump -i lo port 6633
    6668 }}}
    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:
    6974 {{{
    7075# mn --topo=single,2 --controller=remote,ip=192.168.1.1
     
    105110
    106111Quick links: [[BR]]
    107  [#floodlight Floodlight][[BR]]
    108  [#mn Mininet][[BR]]
    109  [#cbench CBench] [[BR]]
    110  [#loft liboftrace] [[BR]]
    111 
    112 == Floodlight == #floodlight
     112 [#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
    113118docs: http://docs.projectfloodlight.org/display/floodlightcontroller/Floodlight+Documentation [[BR]]
    114119
     
    141146Tutorials and other information can be found here: http://docs.projectfloodlight.org/display/floodlightcontroller/For+Developers
    142147
    143 == Mininet == #mn
     148== 2.2 Mininet == #mn
    144149website: http://mininet.org/ [[BR]]
    145150It is highly recommended to run trough the docs, especially the following:
     
    285290}}}
    286291
    287 == Cbench == #cbench
     292== 2.3 Cbench == #cbench
    288293website: http://docs.projectfloodlight.org/display/floodlightcontroller/Cbench+(New)
    289294
     
    342347}}}
    343348
    344 == liboftrace (ofdump/ofstats) == #loft
     349== 2.4 liboftrace (ofdump/ofstats) == #loft
    345350docs: [[BR]]
    346351 https://github.com/capveg/oftrace/blob/master/README [[BR]]
    347352 http://www.openflow.org/wk/index.php/Liboftrace
     353
    348354=== dependencies ===
    349355{{{