[ovs-discuss] Bundles support for PacketOut messages

Ben Pfaff blp at ovn.org
Thu Feb 11 16:06:59 UTC 2016


On February 11, 2016 4:28:26 AM PST, "André Mantas" <andremantas7 at gmail.com> wrote:
>Ok so, if it's ok with everyone, I'll try to implement this support for
>packet outs in bundles.
>
>I've seen CONTRIBUTING.md and CodingStyle.md for now. If I get stuck or
>have some implementation questions should I email the discuss or dev
>list?
>
>Thanks.
>
>André Mantas <andremantas7 at gmail.com> escreveu no dia quarta,
>10/02/2016 às
>22:50:
>
>> I can see the point about packet out not being considered a
>> "modification". But it still makes sense to group flow mods with
>packet
>> outs (that output to the flow tables) for example.
>>
>> Yes packet out messages would need to be buffered until the rest of
>> messages are committed from what I understand:
>>
>> From section 7.3.9.8: "Modification requests may require replies to
>be
>> returned to the controller or events to be generated. Because any
>message
>> of the bundle may fail, replies and events can only be generated once
>all
>> modifications in the bundle have been applied."
>>
>> However, that might be something I'm willing to do if I really need
>it (I
>> still need to confirm this).
>>
>> Jarno Rajahalme <jarno at ovn.org> escreveu no dia quarta, 10/02/2016 às
>> 21:39:
>>
>>> 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.
>>>
>>>   Jarno
>>>
>>>
>>> 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.
>>>
>>>
>>>
>>>

Yes, please email the dev list if you have any development questions.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160211/43d16eeb/attachment-0002.html>


More information about the discuss mailing list