OVS implementation of buffering packets that are sent to the controller is not compliant with the OpenFlow specifications after OpenFlow 1.0. OVS implementation executes the buffered packet against the actions of the modified or added rule, whereas OpenFlow (since 1.1) specifies that the packet should be matched against the flow table 0 and processed accordingly.
Rather than fix this behavior, and potentially break OVS users, we propose to remove the feature altogether, starting in OVS 2.7. This patch announces this in 'NEWS', and adds detial to the FAQ question about backet buffering. Signed-off-by: Jarno Rajahalme <ja...@ovn.org> --- FAQ.md | 8 ++++++++ NEWS | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/FAQ.md b/FAQ.md index 6d23443..43d5ba5 100644 --- a/FAQ.md +++ b/FAQ.md @@ -2011,6 +2011,14 @@ A: When a switch sends a packet to an OpenFlow controller using a buffering that the OpenFlow specification requires implementations to document. + Note that the packet buffering support is slated for deprecation in + OVS 2.7 release. After the change OVS always sends the 'buffer_id' + as 0xffffffff in "packet-in" messages and will send an error + response if any other value of this field is included in + "packet-out" and "flow mod" sent by a controller. Controllers are + already expected to work properly in cases where the switch can not + buffer packets, so this change should not affect existing users. + ### Q: How does OVS divide flows among buckets in an OpenFlow "select" group? A: In Open vSwitch 2.3 and earlier, Open vSwitch used the destination diff --git a/NEWS b/NEWS index 280fc15..4c4785d 100644 --- a/NEWS +++ b/NEWS @@ -28,6 +28,14 @@ v2.6.0 - xx xxx xxxx packet to size M bytes when outputting to port N. * New command OFPGC_ADD_OR_MOD for OFPT_GROUP_MOD message that adds a new group or modifies an existing groups + * Next OVS release (2.7) will deprecate the optional OpenFlow + packet buffering feature. After the change OVS always sends + the 'buffer_id' as 0xffffffff in packet-in messages and will + send an error response if any other value of this field is + included in packet-out and flow mod sent by a controller. + Controllers are already expected to work properly in cases + where the switch can not buffer packets, so this change should + not affect existing users. - Improved OpenFlow version compatibility for actions: * New OpenFlow extension to support the "group" action in OpenFlow 1.0. * OpenFlow 1.0 "enqueue" action now properly translated to OpenFlow 1.1+. -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev