Changes between Version 15 and Version 16 of Internal/OpenFlow/QuantaSetup


Ignore:
Timestamp:
Apr 13, 2011, 8:03:35 PM (13 years ago)
Author:
akoshibe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/OpenFlow/QuantaSetup

    v15 v16  
    88 [#II II LB9A facilities] - the bootloader, firmware and their modes, hardware, and how to get to them[[BR]]
    99 [#III III A u-boot Primer] - using the bootloader to configure and troubleshoot[[BR]]
    10  [#IV IV OpenFlow Switching] - setting up !OpenFlow mode[[BR]]
     10 [#IV IV OpenFlow Switching] - setting up !OpenFlow mode - flashing the switch, configuring through u-boot and grid services[[BR]]
    1111 
    1212== I. Preparations == #I
     
    189189 * `setenv [name]`, where [name] is new, creates a new variable with that name.
    190190 * `setenv [name]`, where [name] already exists, wipes out its previous parameters.
    191  * `setenv [name] [parameters]` sets parameters for the variable [name]. 
     191 * `setenv [name] [parameters]` sets/overwrites parameters for the variable [name] with [parameters]. 
    192192 
    193193''Long parameters.'' For variables with whitespaces in its parameters (e.g. "script variables" like flash_bootcmd), the parameters have to be surrounded by single quotes to let u-boot know that everything is part of a single script. For example, to create and configure the variable dn_boot, we'd type this at the command line:
     
    201201=== 3.3 Some important variables ===
    202202
     203 * http://www.openflow.org/wk/index.php/IndigoConfiguration - !OpenFlow specific variables
     204 
    203205=== 3.4 troubleshooting === #ts
    204206
    205207== IV OpenFlow Switching == #IV
     208This section provides example uses of the u-Boot facilities for manipulating the !OpenFlow properties of the LB9A. We will also introduce the ORBIT Grid Service facilities that can be used to configure the switch without dealing with the gory details of u-boot (given the switch has the proper firmware, that is).
     209 
    206210== 4.1 Installation == 
     211Here we go over how to flash the switch with the proper firmware. Caution is needed so as not to brick the switch. Several steps might reiterate things from the previous sections, since this section was actually written way before the other sections.
     212
    207213=== 4.1.1 Connecting to the switch ===
    208214 A serial connection can be set up between the switch and a machine using a RJ-45 to RS-232 cable. Surprisingly, a Cisco cable will work for this. Connect the RJ-45 end to the port labeled "Con" on the switch, and the other end to the PC. Next, start a session from a shell with kermit as root:
     
    227233
    228234=== 4.2.1 change network settings ===
    229 The network settings are hard-wired into the switch via environment variables. The default settings statically set the switch's IP to a 192.168.X.X address block, which you might want to change depending on your network setup. This can be done using command `setenv`. While all environment variables can be viewed with `printenv`, the four variables of our interest are:
     235As explained in the u-Boot primer, the network settings are hard-wired into the switch via environment variables. The default settings statically set the switch's IP to a 192.168.X.X address block, which you might want to change depending on your network setup.The four variables of our interest are:
    230236
    231237 * ipaddr (switch's static ip, default 192.168.1.2)
     
    322328
    323329== 4.3 Configuration ==
    324 The Quanta is pretty much just a modified, minimal Linux box with a bunch of ports. Upon startup, you will be at the Linux shell as root.
     330There are two basic ways that you can go about configuring the !OpenFlow behavior of the LB9A - 1) setting !OpenFlow parameters via u-boot, and 2) through the ORBIT Grid Services, though at the time that this is being written, the latter is somewhat rough around the edges. Some things to note about the !OpenFlow mode LB9A:   
     331   
    325332 * eth0 and eth1 as given by `ifconfig -a` are eth1 and eth2 on the faceplate, respectively. The interfaces can be manipulated as with any Linux box using `ifconfig`.
    326333 * The ssh server (dropbear) is enabled by default. Telnet can be started by invoking telnetd. In either case the default username is `root`, and password is `OpenFlow`.
     
    351358 * `/etc/find-env` - defines many of the system variables
    352359
     360=== 4.3.3 Grid Services ===
     361The ORBIT grid services allow you to query and configure various components of the testbed(s) through a browser from gw.orbit-lab.org. Here our focus is on the network services.
     362
     363==== !addOpenFlow ====
     364This allows you to set u-Boot environment variables without going into the gory details of u-Boot. For example, to boot a switch into !OpenFlow mode, issue the following command at the navigation bar on your browser from external2 (make sure you have X11 tunneling):
     365{{{
     366http://www.orbit-lab.org/network/addOpenFlow?switch=172.16.20.8&ip=172.16.0.14&port=6633&dpid=001010201608
     367}}}   
     368This points the 8th Grid data plane switch to `kvm-big`, the Big Switch controller at 172.16.0.14.
     369After thinking for a bit, the browser should return:
     370{{{
     371dpid = 001010201608
     372ofip = 172.16.0.14
     373ofp = 6633
     374}}}
     375
     376If you get a complain that the service is busy, make sure no-body is using the serial connection to the switch e.g. using telnet to s-nr2.
     377
    353378
    354379===== -- ===== #bottom
    355  
     380^1. I honestly don't know what it does.^ [[BR]]
     381^2. These are educated guesses through observation, and by no means guaranteed to be what is actually happening. If anyone has an actual explanation I'd be very happy to learn about it.^
     382