[ovs-discuss] Bundles support for PacketOut messages

André Mantas andremantas7 at gmail.com
Thu Feb 11 12:28:26 UTC 2016


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.
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160211/eba5c554/attachment-0002.html>


More information about the discuss mailing list