(The code before this change would only ever delete flows if strict
matching was turned on.)
list_for_each_entry_rcu (flow, &tl->flows, node) {
if (flow_del_matches(&flow->key, key, strict)
- && (strict && (flow->priority == priority)))
+ && (!strict || (flow->priority == priority)))
count += do_delete(swt, flow);
}
if (count)
LIST_FOR_EACH_SAFE (flow, n, struct sw_flow, node, &tl->flows) {
if (flow_del_matches(&flow->key, key, strict)
- && (strict && (flow->priority == priority))) {
+ && (!strict || (flow->priority == priority))) {
do_delete(flow);
count++;
}