OpenFlow 1.1+ support in Open vSwitch
=====================================
-Open vSwitch support for OpenFlow 1.1, 1.2, and 1.3 is a work in
+Open vSwitch support for OpenFlow 1.1 and beyond is a work in
progress. This file describes the work still to be done.
The Plan
The list of remaining work items for OpenFlow 1.1 is below. It is
probably incomplete.
- * The new in_phy_port field in OFPT_PACKET_IN needs some kind of
- implementation. It has a sensible interpretation for tunnels
- but in general the physical port is not in the datapath for OVS
- so the value is not necessarily meaningful. We might have to
- just fix it as the same as in_port.
- [required for OF1.1; optional for OF1.2+]
-
- * OFPT_TABLE_MOD message. This is new in OF1.1, so we need to
- implement it. It should be implemented so that the default OVS
- behavior does not change.
- [required for OF1.1 and OF1.2]
-
* MPLS. Simon Horman maintains a patch series that adds this
feature. This is partially merged.
[optional for OF1.1+]
on the change log at the end of the OF1.2 spec. I didn't compare the
specs carefully yet.)
- * Action translation needs some work to transform OpenFlow 1.1
- field modification actions into OpenFlow 1.2+ "set-field"
- actions, because OpenFlow 1.2 dropped support for the OF1.1
- actions.
-
OpenFlow 1.3
------------
Currently we always report OFPBRC_MULTIPART_BUFFER_OVERFLOW.
[optional for OF1.3+]
- * Add OFPMP_TABLE_FEATURES statistics.
- [optional for OF1.3+]
-
- * More flexible table miss support.
- This requires the following.
- - Change the default table-miss action (in the absense of table-miss
- entry) from packet_in to drop for OF1.3+. Decide what to do if
- a switch is configured to support multiple OF versions.
- [required for OF1.3+]
+ * Add OFPMP_TABLE_FEATURES statistics. Alexander Wu has posted a
+ patch series. [optional for OF1.3+]
* IPv6 extension header handling support. Fully implementing this
requires kernel support. This likely will take some careful and
is missing. Support for the software switch is under review.
[optional for OF1.3+]
- * Per-connection event filtering. OF1.3 adopted Open vSwitch's
- existing design for this feature so implementation should be
- easy.
- [required for OF1.3+]
-
* Auxiliary connections. An implementation in generic code might
be a week's worth of work. The value of an implementation in
generic code is questionable, though, since much of the benefit
some kind of "hardware" support, if we judged it useful enough.)
[optional for OF1.3+]
- * MPLS BoS matching. (Included in Simon's MPLS series?)
- [optional for OF1.3+]
-
* Provider Backbone Bridge tagging. I don't plan to implement
this (but we'd accept an implementation).
[optional for OF1.3+]
- * Rework tag order. I'm not sure whether we need to do anything
- for this. Part of MPLS patchset by Simon Horman.
- [required for v1.3+]
-
* On-demand flow counters. I think this might be a real
optimization in some cases for the software switch.
[optional for OF1.3+]
[EXT-235]
[optional for OF1.4+]
+General
+-----
+
+ * ovs-ofctl(8) often lists as Nicira extensions features that
+ later OpenFlow versions support in standard ways.
+
How to contribute
-----------------