Thanks, I pushed this.
On Wed, Sep 19, 2012 at 03:45:13PM -0700, Justin Pettit wrote: > Looks great. Thank you. > > --Justin > > > On Sep 19, 2012, at 3:38 PM, Ben Pfaff <[email protected]> wrote: > > > Suggested-by: Justin Pettit <[email protected]> > > Signed-off-by: Ben Pfaff <[email protected]> > > --- > > lib/ofp-actions.h | 26 +++++++++++++++++++++++++- > > 1 files changed, 25 insertions(+), 1 deletions(-) > > > > diff --git a/lib/ofp-actions.h b/lib/ofp-actions.h > > index 75ccc26..46e2d79 100644 > > --- a/lib/ofp-actions.h > > +++ b/lib/ofp-actions.h > > @@ -108,7 +108,31 @@ enum { > > * > > * Each action is a structure "struct ofpact_*" that begins with "struct > > * ofpact", usually followed by other data that describes the action. > > Actions > > - * are padded out to a multiple of OFPACT_ALIGNTO bytes in length. */ > > + * are padded out to a multiple of OFPACT_ALIGNTO bytes in length. > > + * > > + * The 'compat' member is special: > > + * > > + * - Most "struct ofpact"s correspond to one particular kind of > > OpenFlow > > + * action, at least in a given OpenFlow version. For example, > > + * OFPACT_SET_VLAN_VID corresponds to OFPAT10_SET_VLAN_VID in > > OpenFlow > > + * 1.0. > > + * > > + * For such actions, the 'compat' member is not meaningful and > > generally > > + * should be zero. > > + * > > + * - A few "struct ofpact"s correspond to multiple OpenFlow actions. > > For > > + * example, OFPACT_SET_TUNNEL can be NXAST_SET_TUNNEL or > > + * NXAST_SET_TUNNEL64. In these cases, if the "struct ofpact" > > originated > > + * from OpenFlow, then we want to make sure that, if it gets > > translated > > + * back to OpenFlow later, it is translated back to the same action > > type. > > + * (Otherwise, we'd violate the promise made in DESIGN, in the > > "Action > > + * Reproduction" section.) > > + * > > + * For such actions, the 'compat' member should be the original > > action > > + * type. (If the action didn't originate from OpenFlow, then setting > > + * 'compat' to zero should be fine: code to translate the ofpact to > > + * OpenFlow must tolerate this case.) > > + */ > > struct ofpact { > > enum ofpact_type type; /* OFPACT_*. */ > > enum ofputil_action_code compat; /* Original type when added, if any. */ > > -- > > 1.7.2.5 > > > _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
