struct sw_table_linear *tl = (struct sw_table_linear *) swt;
struct sw_flow *flow;
LIST_FOR_EACH (flow, struct sw_flow, node, &tl->flows) {
- if (flow_matches(&flow->key, key))
+ if (flow_matches_1wild(key, &flow->key))
return flow;
}
return NULL;
LIST_FOR_EACH (f, struct sw_flow, node, &tl->flows) {
if (f->priority == flow->priority
&& f->key.wildcards == flow->key.wildcards
- && flow_matches(&f->key, &flow->key)) {
+ && flow_matches_2wild(&f->key, &flow->key)) {
flow->serial = f->serial;
list_replace(&flow->node, &f->node);
list_replace(&flow->iter_node, &f->iter_node);
start = ~position->private[0];
LIST_FOR_EACH (flow, struct sw_flow, iter_node, &tl->iter_flows) {
- if (flow->serial <= start && flow_matches(key, &flow->key)) {
+ if (flow->serial <= start && flow_matches_2wild(key, &flow->key)) {
int error = callback(flow, private);
if (error) {
position->private[0] = ~(flow->serial - 1);