Changes between Version 15 and Version 16 of Internal/OpenFlow/QuantaSetup
- Timestamp:
- Apr 13, 2011, 8:03:35 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Internal/OpenFlow/QuantaSetup
v15 v16 8 8 [#II II LB9A facilities] - the bootloader, firmware and their modes, hardware, and how to get to them[[BR]] 9 9 [#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]] 11 11 12 12 == I. Preparations == #I … … 189 189 * `setenv [name]`, where [name] is new, creates a new variable with that name. 190 190 * `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]. 192 192 193 193 ''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: … … 201 201 === 3.3 Some important variables === 202 202 203 * http://www.openflow.org/wk/index.php/IndigoConfiguration - !OpenFlow specific variables 204 203 205 === 3.4 troubleshooting === #ts 204 206 205 207 == IV OpenFlow Switching == #IV 208 This 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 206 210 == 4.1 Installation == 211 Here 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 207 213 === 4.1.1 Connecting to the switch === 208 214 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: … … 227 233 228 234 === 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:235 As 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: 230 236 231 237 * ipaddr (switch's static ip, default 192.168.1.2) … … 322 328 323 329 == 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. 330 There 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 325 332 * 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`. 326 333 * 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`. … … 351 358 * `/etc/find-env` - defines many of the system variables 352 359 360 === 4.3.3 Grid Services === 361 The 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 ==== 364 This 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 {{{ 366 http://www.orbit-lab.org/network/addOpenFlow?switch=172.16.20.8&ip=172.16.0.14&port=6633&dpid=001010201608 367 }}} 368 This points the 8th Grid data plane switch to `kvm-big`, the Big Switch controller at 172.16.0.14. 369 After thinking for a bit, the browser should return: 370 {{{ 371 dpid = 001010201608 372 ofip = 172.16.0.14 373 ofp = 6633 374 }}} 375 376 If 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 353 378 354 379 ===== -- ===== #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