-
Ethane
Martin Casado (Stanford University student) develops Ethane as a way to manage global policies, using a "flow-based network and controller with a focus on network security". It is considered the origin of OpenFlow, due to an increasing amount of research given by both the teams at Stanford and Berkeley University. Ethane was soon supported and backed up by Nicira and Big Switch Networks, deemed as the early backers of OpenFlow. -
OpenFlow 1.0
First release of OpenFlow in December 2009. It has only one flow table with three components available in a flow entry: Header Fields, Counters and Actions. The header field can only contain 12 fixed matching elements. With only one flow table, however, switches cannot perform more than one operation during the packet forwarding process, thus leading to a flow entry explosion, hindering its usability. -
OpenFlow 1.1
Included in February 2011. Major enhancement including multiple tables and Group Table. Header Fields and Actions get renamed to Match Fields and Instructions. The multi-table greatly reduces the entries in a two-stage processing use-case, such as MAC address learning. However, the inclusion of multiple tables made it harder to implement complex flow-table patterns and flexible packet processing pipelines. -
OpenFlow 1.2
Included in December 2011. The Open Networking Foundation (established in 2011), made to standardize emerging technologies to the networking vanguard, oversees version 1.2 of OpenFlow, which now includes a Type-Length-Value (TLV) structure, granting more flexibility to match fields. Also, it adds support for IPv6. -
OpenFlow 1.3
Included in April 2012. Implementation of a new table called Meter Table, consisting of meter entries, each identified, and each entry containing a list of "Meter Bands", helping extension of QoS with a verification for packets and meter band application on said packets. OpenFlow 1.3 also extends the flow table with a table-miss entry, making the packet drop process much more flexible. -
OpenFlow 1.4
Included in August 2013. Setting on the flow-entry explosion (solved by 1.1's multiple tables), 1.4 introduces a Synchronized Table, with which flow tables can be synchronized bidirectionally (chances done by the controller must be reflected on the source table) or unidirectionally. Also includes the "Bundle" feature, marking certain groups to specify operations on certain groups with greater efficiency, along with preparation and validation of OpenFlow messages on multiple switches. -
OpenFlow 1.5
Included in January 2015. The Bundle feature is extended with "Scheduled Bundle", including an execution time property, making a switch with the scheduled bundle apply messages as close to the execution time as possible, strengthening synchronization between multiple devices. Also, includes an "Egress Table", which allows matching packets based on the packets' output port.