On Mon, Jun 09, 2014 at 11:53:52AM -0700, Jarno Rajahalme wrote:
> When, during a classifier lookup, we narrow down to a single potential
> rule, it is enough to match on ("unwildcard") one bit that differs
> between the packet and the rule.
> 
> This is a special case of the more general algorithm, where it is
> sufficient to match on enough bits that separates the packet from all
> higher priority rules than the matched rule.  For a miss that would be
> all the rules.  Implementing this is expensive for a more than a few
> rules.  This patch starts by doing this for a single rule when we
> already have it, also reducing the lookup cost by finishing the lookup
> earlier than before.
> 
> Signed-off-by: Jarno Rajahalme <jrajaha...@nicira.com>

FLOW_U32_VALUE and FLOW_BE32_VALUE are not type-safe, since they are
willing to cast absolutely anything to uint32_t * or ovs_be32 *.  If
you made them inline functions that take a "struct flow *", then they
could return a pointer to uint32_t or ovs_be32 for the caller to
dereference and have some type safety.

Acked-by: Ben Pfaff <b...@nicira.com>

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to