Table of Contents

Overview

This document provides an overview of Indigo-1.0 across various releases. This document is generic across all platforms that run Indigo. Configuration on these different platforms varies significantly, so consult the platform specific document for additional information.

Prerequisites

This document assumes you have some familiarity with the OpenFlow protocol.  See http://openflow.org for more information.

Prehistory

For release notes from alpha and beta releases, please go to http://www.openflowswitch.org/wk/index.php/IndigoReleaseNotes.

Indigo Features

Indigo is a pure OpenFlow 1.0 implementation.  As a result it does not provide many of the usual L2 and L3 functions and features available in commercial switches. For example, Indigo does not implement Spanning Tree and VLAN configuration is trivial (see below).
Over time, some of these features may be added depending on demand, but the expectation is that the OpenFlow controller is where these features will be implemented.

As a result of this, Indigo switches really require a connection to a controller and cannot be expected to provide significant functionality in the event of the failure of this connection.

VLANs

Indigo is "VLAN agnostic" in the sense that it does not provide VLAN configuration. VLAN policy is expected to be implemented in the controller.

Despite these limitations, normal VLAN switch behavior can be implemented on the controller.

Contacting the OpenFlow Controller

There are two mechanisms for configuring communications to the OpenFlow controller.

User Interface

Up through the Indigo-1.0-beta-4 release, the user interface to Indigo switches was very limited and difficult to use. With the release of (TBD) Indigo-1.0, the switch CLI user interface has been redesigned and simplified. The web interface continues to be supported.

In addition to a better user interface, the initialization and configuration mechanisms have been simplified and include better support for saving persistent configuration.

Initialization and Configuration

The following diagram gives an overview of the initialization sequence for the Indigo platform.

Initialization and configuration are now described in more detail in the document Indigo Initialization and Configuration.

Platforms

Indigo runs on a variety of Broadcom based switches including:

License Information

The Linux kernel code for the Pronto 3290 is based on version 2.6.27 and is released under GPLv2.

The Linux kernel code for the LB4G is based on version 2.6.15 and is released under GPLv2.

The Linux kernel code for the Broadcom reference designs is based on version 2.6.25 and is released under GPLv2.

U-Boot is based on version 1.1.6 (1.3.0 for the Pronto 3290) and is released under the GPLv2. It is available at http://www.denx.de/wiki/U-Boot. Patches from Quanta have been applied and are available from Stanford.

Busybox is version 1.4.2 and is released under the GPLv2. It is available at http://busybox.net/downloads/.

Dropbear is version 0.52; see the accompanying file in licenses/dropbear for additional information.

The OpenFlow code is covered by the OpenFlow license detailed at http://www.openflow.org/wp/legal/. It is available at http://www.openflow.org/.

The ofswd executable (the OpenFlow switch daemon) is released as a binary-only file under the following EULA (TBD).