[ovs-dev] [PATCH] datapath: Convert kernel priority actions into match/set.

Ben Pfaff blp at nicira.com
Thu Oct 27 17:27:24 UTC 2011


On Wed, Oct 26, 2011 at 08:17:21PM -0700, Jesse Gross wrote:
> Ben, what do you think of this approach of zeroing out the priority
> (or any other comments)?

I'm a bit nervous about it.  Really I was expecting this commit to
reduce the number of special cases, but it adds a new suite of special
cases to the classifier and ofproto-dpif.c.

Some of the special cases would be less odd if they were pushed down
further, e.g. cls_rule_init() wouldn't need to explicitly zero
priority if flow_zero_wildcards() zeroed priority (which is reasonable
if we consider priority a field that is always wildcarded).
cls_rule_init_exact() would still need to zero it, but that
ill-conceived function needs to die anyway (I have a branch that kills
it off).

I'm not sure why priority has to be 0 in classifier_lookup(), since by
design classifier_lookup() ignores fields that are wildcarded and we
can just consider priority to be always wildcarded.  So, in the
classifier, it seems to me that it would be more natural to either
fully implement matches against priority, just for sake of generality
and avoiding special cases, even though it increases the cost of
lookup.  Anyway, I've got a branch in the works that completely
regularizes flow wildcard matching (e.g. every single bit in the flow
structure becomes independently maskable) while reducing the cost; I
don't however know when that branch is going to land.



More information about the dev mailing list