On Mon, Oct 10, 2011 at 11:05 PM, Jesse Gross <[email protected]> wrote: > On Fri, Oct 7, 2011 at 1:03 PM, Pravin B Shelar <[email protected]> wrote: >> Almost all current actions can be expressed in the form of >> push/pop/set <field>, where field is one of the match fields. We can >> create three base actions and take a field. This has both a nice >> symmetry and avoids inconsistencies where we can match on the vlan >> TPID but not set it. >> Following patch converts all actions to this new format. >> >> Bug #7115 > > >> +#define OVS_ACT_TYPE(type, key_id) ((type << 8) | key_id) > > This compacted format never really thrilled me - it seems overly > aggressive about compacting information without much benefit and > seeing the code that uses it reinforces that belief. Strictly > speaking, it doesn't actually lose information but it definitely makes > it more difficult to deal with and prevents effectively sharing code > with the match fields. For example, PUSH and SET could have the > corresponding Netlink attribute as their data and POP would have just > the u16 type.
I implemented this to make it more efficient/compact compared to having nested netlink. As far as code sharing is concerned all code sharing can be done with this approach, as ovs_key is still used. Anyways I will implement it as nested ovs_key as it looks more like netlink model and it is easier to share code. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
