On Thu, Feb 5, 2015 at 1:40 PM, Jarno Rajahalme <jrajaha...@nicira.com> wrote: > OVS userspace already probes the openvswitch kernel module for > OVS_ACTION_ATTR_SET_MASKED support. This patch adds the kernel module > implementation of masked set actions. > > The existing set action sets many fields at once. When only a subset > of the IP header fields, for example, should be modified, all the IP > fields need to be exact matched so that the other field values can be > copied to the set action. A masked set action allows modification of > an arbitrary subset of the supported header bits without requiring the > rest to be matched. > > Masked set action is now supported for all writeable key types, except > for the tunnel key. The set tunnel action is an exception as any > input tunnel info is cleared before action processing starts, so there > is no tunnel info to mask. > > The kernel module converts all (non-tunnel) set actions to masked set > actions. This makes action processing more uniform, and results in > less branching and duplicating the action processing code. When > returning actions to userspace, the fully masked set actions are > converted back to normal set actions. We use a kernel internal action > code to be able to tell the userspace provided and converted masked > set actions apart. > > Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com> > --- > v3: Clean up code and remove flow key transport port checks from > validate_set(), as suggested by Jesse Gross. >
Acked-by: Pravin B Shelar <pshe...@nicira.com> _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev