In short, Pica8 has tried many different ways to support OpenFlow. Pica8 is committed for long-term development of OVS. At the same time, Big Switch Network (BSN) is a strategic partner of PICA8 and they have lead a project called Indigo. PICA8 will continue to support both the OVS and Indigo from BSN.
What Has Pica8 Tried?
Since 2010, Pica8 has released three different OpenFlow implementation.
- Indigo – Indigo is an implementation of OpenFlow that was started by a group at Stanford. Currently, Big Switch Networks, a strategic partner of
Pica8, hosts the project at http://indigo.openflowhub.org and continuesto contribute to it. Currently Indigo supports OpenFlow 1.0, but BSNpromised they will continue to support it and provide implementationsof future OpenFlow standards.
- Pica8 OpenFlow – Pica8 OpenFlow was pre-installed at Xorplus 1.0 and 1.1 images. We ported the Indigo User Mode and replaced the simulated Linux driver with Pica8 hardware driver. However, since most of Indigo users was using Indigo provided by BSN, and Pica8 had not enough resource to keep up with Indigo releases, we decided to stop our own porting and encourage the Indigo users to download the code from Openflowhub.org.
- Pica8 OVS – In 2011, the open source project, Open vSwitch, picked up the momentum. Given it is an open source software, it is easy for Pica8 to port the code and open it to community as a deployment option. We decided to start porting OVS into Xorplus 1.3. The latest OVS supports OpenFlow 1.0 spec AND some optional features (like ability to support MPLS). We had an agreement with Nicira to joint develop OVS for future 1.2 and 1.3 OpenFlow standard. This will be Pica8′s focus in the future.
So, in short, Pica8 has decided to use OVS as the default OpenFlow image for Pronto platforms as it currently provides the best combination of reliability and features. However, we are committed to a vibrant OpenFlow community and will continue to work with Big Switch Networks. While the port of Indigo done by Pica8 will no longer be included, the “official” Indigo implementation will ship from the factory on Pronto platforms.
Why did we make so many changes? Why not start with OVS from the very beginning? Well, honestly, we had no idea OpenFlow would change and grow this fast. Like everyone in the OpenFlow community, we don’t really know how this community will change. We want to participate, but we don’t want to control. Hence, we put the resource at the most popular project and hope our contribution in the collaboration will help accelerate the OpenFlow development.
Pica8′s OpenFlow Roadmap
Our current release of PicOS 1.3 includes OVS 1.2.2 implementation, which is OpenFlow 1.0 compatible. We will release PicOS 1.4 by 2/29, which is still bundled with OVS 1.2.2 (hence still only OpenFlow 1.0 compatible).
By 3/30, we plan to release PicOS 1.4.1, which will bundle with OVS 1.4, which is around 90% compatible with OpenFlow 1.2 spec. After the 1.4.1 release, we will work with Nicira, Google, and Deuitsche Telekom to develop and qualify a full spec of OpenFlow 1.2. Pica8′s full OpenFlow 1.2 release is set around June time-frame.
How do You Start?
If you are interested in using Pica8 Pronto to implement your OpenFlow network, we would recommend you to start with the following.
- Select a controller – NOX, Beacon, and FloodLight are probably the most popular free controllers that you can download from internet. NOX and Beacon were developed by Stanford. FloodLight was developed by BSN (with close relationship to Beacon).
- Select your device program – you can choose either OVS or Indigo. PICA8 support force will directly support OVS. BSN will provide support to Indigo.
- Thinking of developing your “special” feature? Send a mail to us. We are more than happy to open source our OVS implementation to anyone who is interested in adding features to OVS.
We believe OpenFlow will continue to gain momentum in the market and we want to help the development. If you have any suggestion or any specific feature you want to add, talk to us (mail to firstname.lastname@example.org ). Let’s collaborate.