Version 5 (modified by 14 years ago) ( diff ) | ,
---|
Draft - WIP
An overview of the set up and some "hello world" experiments (with OMF scripts) to get started on NetFPGA/OpenFlow experimentation on SB9
Hardware Set up
Figure 1: Ivan's arch drawing goes here
Software Details
Custom disk images exist that are preloaded with several of the software necessary for experimenting with the above hardware. These are the available options, which can be further customized using the 'save' function of OMF framework ( refer How to save...tutorial):
- Image 1
- Image 2
….
- Image k
Progress
- Starting with James' disk image 'netfpga.ndz'. Targeting single image with NetFPGA software, OpenFlow software, Controller sw (NOX), tools
- Designed two simple testing configurations:
- loopback configuration of NetFPGA (with ports c0-3) by looping corresponding ports on top switch to get c0↔c1, and c2↔c3
- 4-port switch configuration by connecting 4 hosts to ports c0-c3 via the top switch
- Intermediate image with NOX and OpenFlow with support for NETFPGA-based switch
- They require NOX to be run from src/ dir… The 'make install' fails with several Makefile errors - via illegal duplicate installs. Though these can be fixed(and was able to), nox_core still has to be run from the install root. Not an issue for progress…
- (3/8/11) Trying to pass the switch regression tests on reference NetFPGA switch implementation for tutorial!#2 - steps outlined here. Requires a 4 GbE ports - attempting to achieve this via 4 virtual interfaces riding on the data port exp0, connected to the NetFPGA via the top switch. Yet to run the regression tests…have to see if the CentOS scripts hold up on Ubuntu.
- (3/8/11) Next step is to get the NOX controller going with simple topology control for the top switch. Require the following information:
- How to change the firmware on the Pronto switch to OpenFlow? Also, a secchannel to controller.
- Is there a simple component for NOX that allows setting up topology/flow rules? .
- Ivan has a service to configure the top switch from Pronto native to OpenFlow mode and vice versa. Invoked over http, the service uses telnet and reboots in reqd. configuration. However, he prefers using VLANs on the switch for topology control, configured through an existing HTTP-based service. We can control the NetFPGA switches via OpenFlow. The other option for controlling flows on OpenFlowNetFPGA switch is using dpctl on the host. This last option allows for using simple OMF scripting for dynamic control of flows.
- HTTP-based service to configure the Pronto switch is accessible from within ORBIT at: http://nox:5052/network. Interface is simple, for example to set a vlan id on a particular port you do: http://nox:5052/network/setvlan?switch=IP&port=X&vlan=Y
- (3/9/11) Set up a disk image with NetFPGA and OpenFlow starting from a baseline Ubuntu image. It had become hard to understand what modules preexisted on the existing netfpga image, and dependencies were getting messed up as well. I'll probably go for a separate image for the controller to keep things clean. Created two special user accounts (with full sudo access) on this new image, one each for OpenFlow and the NetFPGA set ups. User accounts mainly created to closely track the install process described by those two developer groups.
- (3/9/11) Next step is to make sure we can run all regression tests defined by developers on this image. Remains to be seen if I can get away with the virtual interfaces for the 4-port GbE NIC they require for the regression tests. Then ensure interaction of the NetFPGA-Openflow switch with NOX controller.
Attachments (5)
- netfpga-session-2011.03.09-from-scratch-NetFPGA-Openflow.txt (2.6 MB ) - added by 14 years ago.
- netfpga-session-2011.03.10-from-scratch-NetFPGA-Openflow.txt (952.9 KB ) - added by 14 years ago.
- netfpga-session-2011.03.11-from-scratch-NetFPGA-Openflow.txt (3.3 MB ) - added by 14 years ago.
- NetFPGA-reference-pipeline.png (170.5 KB ) - added by 14 years ago.
- NetFPGA-OpenFlow-switch-pipeline.png (124.6 KB ) - added by 14 years ago.
Note:
See TracWiki
for help on using the wiki.