[ovs-discuss] Bundles support for PacketOut messages

Jarno Rajahalme jarno at ovn.org
Wed Feb 10 21:39:13 UTC 2016

> On Feb 10, 2016, at 1:27 PM, Ben Pfaff <blp at ovn.org> wrote:
> I talked to Jarno about this.
> We think that implementing PacketOut as part of a bundle is going to be
> a considerable amount of work.  Because bundles are atomic, it would be
> necessary to buffer all of the side effects (packet-ins to controllers,
> packets output to conventional ports, and so on) so that they can be
> rolled back if anything later on in the bundle failed.
> However, if you want to undertake the work, we'd be inclined to accept
> it as long as it's cleanly written.
> On Wed, Feb 10, 2016 at 07:46:50PM +0000, André Mantas wrote:
>> I was searching around the bundle implementation and found that the
>> packet-out message type is marked as "nice to have later"
>> in ofputil_is_bundlable function.
>> Not sure if this helps my cause...
>> André Mantas <andremantas7 at gmail.com> escreveu no dia quarta, 10/02/2016 às
>> 19:33:
>>> Not that I'm aware of. Pica8 is the only switch I know that supports
>>> OpenFlow 1.4, and it uses openvswitch.
>>> Ben Pfaff <blp at ovn.org> escreveu no dia quarta, 10/02/2016 às 19:12:
>>>> Do other OpenFlow implementations support packet-out in bundles?
>>>> On Wed, Feb 10, 2016 at 05:45:34PM +0000, André Mantas wrote:
>>>>> Sorry about that. I tried to expose the idea because I'm not seeing
>>>> another
>>>>> way to notify other controllers without major modifications.
>>>>> PacketOut in bundles is something that is already "expected" by the OF
>>>>> protocol. In that sense, we wouldn't modify the switch to have a new
>>>>> behaviour but simply add a feature that the switch is "lacking" from the
>>>>> protocol spec.

This is not necessarily the case. The description for bundles in OpenFlow 1.5 spec starts like this:

“A bundle is a sequence of OpenFlow modification requests from the controller that is applied as a single OpenFlow operation.”
“The first goal of bundles is to group related state changes on a switch so that all changes are applied together or that none of them are applied."

Note the language “OpenFlow modification requests” and the later “to group related state changes". The most direct understanding of this is that bundles are primarily intended for modification requests that, when successful, change the state of the switch. Such messages would be flow mods, port mods, groups mods, meter mods, etc. IMO it would be a stretch to consider packet out as such a state change. 


>>>>> Do you have other idea in mind to achieve the same goal?
>>>>> Ben Pfaff <blp at ovn.org> escreveu no dia quarta, 10/02/2016 às 17:34:
>>>>>> On Wed, Feb 10, 2016 at 02:44:31PM +0000, André Mantas wrote:
>>>>>>> I sent an email to the dev list (
>>>>>>> http://openvswitch.org/pipermail/dev/2016-February/065870.html)
>>>> but so
>>>>>> far
>>>>>>> no answer.
>>>>>> It looks like I didn't receive that message, even though it appears in
>>>>>> the archives.  I don't know why.
>>>>>>> If no one is working on this, would it be ok for me to start trying
>>>> to
>>>>>>> implement it and then send a pull request?
>>>>>> It looks like you didn't actually take my advice but instead decided
>>>> to
>>>>>> try to add packet-outs to bundles.  I still don't like that idea.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20160210/efd8f37b/attachment.html>

More information about the discuss mailing list