classifier: Optimize iteration with a catch-all target rule.
authorBen Pfaff <blp@nicira.com>
Fri, 20 Jul 2012 21:46:15 +0000 (14:46 -0700)
committerBen Pfaff <blp@nicira.com>
Tue, 4 Sep 2012 19:24:27 +0000 (12:24 -0700)
commit3ca1de08b4d0374e4b9389d98351b2b0192c8189
treeb66a9c7ec61144a3916dac1c785b701629b49991
parent48d28ac16112f72ef0985ec2d013425202af8f5c
classifier: Optimize iteration with a catch-all target rule.

When cls_cursor_init() is given a NULL target, it can skip an expensive
step comparing the rule against the target for every table and every rule
in the classifier.  collect_rule_loose() and other callers could take
advantage of this optimization, except that they actually pass in a rule
that matches everything instead of a NULL rule (e.g. for "ovs-ofctl
dump-flows <bridge>" without specifying a matching rule).

This optimizes that case.

Signed-off-by: Ben Pfaff <blp@nicira.com>
lib/classifier.c
lib/classifier.h