mirror of
https://github.com/openvswitch/ovs
synced 2025-08-31 14:25:26 +00:00
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>
This commit is contained in:
@@ -78,6 +78,8 @@ uint32_t cls_rule_hash(const struct cls_rule *, uint32_t basis);
|
||||
|
||||
void cls_rule_format(const struct cls_rule *, struct ds *);
|
||||
|
||||
bool cls_rule_is_catchall(const struct cls_rule *);
|
||||
|
||||
bool cls_rule_is_loose_match(const struct cls_rule *rule,
|
||||
const struct match *criteria);
|
||||
|
||||
|
Reference in New Issue
Block a user