enum {
CLS_INC_EXACT = 1 << 0, /* Include exact-match flows? */
- CLS_INC_WILD = 1 << 1 /* Include flows with wildcards? */
+ CLS_INC_WILD = 1 << 1, /* Include flows with wildcards? */
+ CLS_INC_ALL = CLS_INC_EXACT | CLS_INC_WILD
};
void classifier_for_each(const struct classifier *, int include,
cls_cb_func *, void *aux);
{
return (table_id == TABLEID_HASH ? CLS_INC_EXACT
: table_id == TABLEID_CLASSIFIER ? CLS_INC_WILD
- : CLS_INC_EXACT | CLS_INC_WILD);
+ : CLS_INC_ALL);
}
static int
cbdata.command = command;
cls_rule_from_match(&target, &ofm->match, 0);
- classifier_for_each_match(&p->cls, &target, CLS_INC_WILD | CLS_INC_EXACT,
+ classifier_for_each_match(&p->cls, &target, CLS_INC_ALL,
modify_flows_cb, &cbdata);
return 0;
}
static void
destroy_classifier(struct classifier *cls)
{
- classifier_for_each(cls, CLS_INC_WILD | CLS_INC_EXACT, free_rule, cls);
+ classifier_for_each(cls, CLS_INC_ALL, free_rule, cls);
classifier_destroy(cls);
}