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
