Today we are releasing version 1.0 of the OpenFlow Switch Specification as well as the OpenFlow Switch Reference Implementation. You can find it on the download page or pull it directly from the public git repository.
Unlike previous releases, OpenFlow 1.0 is the first release of the standard that we feel is ready to be implemented in generally available products. We have been running OpenFlow in our Stanford network over the past months, and it has proven itself for both production use as well as experimentation.
OpenFlow 1.0 adds a number of key features. The largest addition is Slicing, a simple QoS mechanism that allows the isolation of traffic in OpenFlow networks. Smaller changes include matching IP addresses in ARP packets, Flow Cookies to identify flows, selective port statistics and matching on the ToS bits in the IP header. The release also includes a large number of small changes to the specification and bug fixes in the reference implementation. For a complete list of changes read the Release Notes or the more detailed Wiki Page.
Hardware accelerated OpenFlow 1.0 capable switches are expected to become available over the next months and we will keep you updated on the OpenFlow Blog and the OpenFlow-Announce Mailing List. On the controller side the reference controller supports 1.0 and there is a version of NOX with partial support available. If you deploy OpenFlow 1.0, feedback and bug reports are highly welcome via Trac or the openflow-discuss mailing list.
This release would not have been possible without the work of (in alphabetical order) Guido Appenzeller, Peter Balland, Martin Casado, David Erickson, Glen Gibb, Brandon Heller, Mikio Hara, Bob Lantz, Masayoshi Kobayashi, Nick McKeown, Justin Pettit, Ben Pfaff, Rob Sherwood, Srini Seetharaman, Dan Talayco, Jean Tourrilhes, Tatsuya Yabe, KK Yap, Yiannis Yiakoumis as well as to the many other members of the OpenFlow community that provided valuable suggestions, feedback and testing.
Thanks to all of you!
Brandon, Glen and Guido