On Wed, Mar 06, 2013 at 07:39:48PM -0800, Casey Barker wrote:
> The other option I'm considering is to represent a group with a
> variable-length array of fixed-length ofpbucket structs, each of which
> points to a *separate* buffer containing that bucket's ofpacts. This would
> require more/smaller buffers and thus incur more memory management
> overhead, but I think it might be more maintainable.

This sounds like a good solution to me.

> I'm now leaning towards the second option, but I haven't fully absorbed the
> design of the ofpact management yet, so I don't know if I'd be making a
> terrible mistake or violating some assumption. Was there compelling reason
> to collect the ofpacts in a single buffer (vs., say, an array of pointers)
> that would also apply to the group buckets? Any other thoughts or concerns?

Well, it just didn't occur to me to do it any other way.  The wire
format of OpenFlow actions is close to good enough.  I only introduced
ofpacts because there were simply too many different formats for
OpenFlow actions (1.0 versus 1.1+, standard versus extensions, and so
on) that it became unwieldy to deal with all of them in their original
formats.  Now that you mention it, I still think that it's a
reasonable choice of format, because most other choices would
introduce more per-action overhead than the ofpacts format does.  To
my mind, the main advantage of an array of pointers would be that one
could visit a particular action without individually skipping past
each previous action, but that's not a common need.
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to