To start experimenting with OpenFlow, you'll want both an OpenFlow switch (either a software-based switch or a hardware one) and a controller that supports higher-level applications. We offer several options as summarized below:
Based on which type of network you plan to run, your choice for the switches and controller will vary. Following provides more details on the choices:
OpenFlow software switch Options
- Reference Linux Switch: This implementation runs on the widest variety of systems and is easy to port. It is also the slowest, as it cannot take advantage of multiple CPUs and requires kernel-to-user-space transitions. It supports as many ports as you can fit in a PC (8+), including wired and wireless ports. Select platform for further instructions:
- NetFPGA Switch: This switch offers line-rate performance for 4 Gigabit ports, regardless of packet size, via hardware acceleration. It requires the purchase of a NetFPGA card, which is $500 for researchers and $1000 for industry. More NetFPGA details are available at www.netfpga.org.
- Open vSwitch: Open vSwitch is a multilayer virtual switch, licensed under the open source Apache 2 license, with OpenFlow support. Open vSwitch currently supports multiple virtualization technologies including Xen/XenServer, KVM, and VirtualBox. More details are available at
OpenFlow hardware Options
To obtain a hardware switch that supports the latest release of OpenFlow, purchase one of the following:
- HP Procurve 5400zl: This switch typically features 48 x 1Gbps ports that are expandable to 576 ports. Support OpenFlow ver 0.8.9
- NEC IP8800: This switch typically features 48 x 1Gbps ports, along with 2 x 10Gbps ports. Supports OpenFlow ver up 1.0
- Toroki Lightswitch 4810: This switch typically features 48 x 1Gbps ports, along with 2 SPF+ 10Gbps ports. Support OpenFlow ver 0.8.9
- Pronto: This switch typically features 48 x 1Gbps ports, 4 SPF+ 10Gbps ports. This switch provides vanilla OpenFlow support for ver 1.0, with firmware developed by Stanford.
OpenFlow Controller Options
- Reference Learning Switch Controller. This controller comes with the Reference Linux distribution, and can be configured to act as a hub or as a flow-based learning switch. It is written in C.
- NOX: NOX is a Network Operating System that provides control and visibility into a network of OpenFlow switches. It supports concurrent applications written in Python and C++, plus includes a number of sample controller applications.
OpenFlow Slicing Software
- FlowVisor: This is a special purpose OpenFlow controller that acts as a transparent proxy between OpenFlow switches and multiple OpenFlow controllers. It slices the network based on the Flow fields and allocated the "flowspace" to individual controllers.
Interested in contributing descriptions/tools/time? Contact us
Topic revision: r13 - 01 Jun 2010 - 22:55:44 - MasaKobayashi?