@@ -516,7 +516,7 @@ static struct sw_flow *flow_lookup(struct flow_table *tbl,
struct sw_flow_mask *mask;
int i;
- if (*index < ma->max) {
+ if (likely(*index < ma->count)) {
mask = rcu_dereference_ovsl(ma->masks[*index]);
if (mask) {
flow = masked_flow_lookup(ti, key, mask, n_mask_hit);
@@ -525,13 +525,13 @@ static struct sw_flow *flow_lookup(struct flow_table *tbl,
}
}
- for (i = 0; i < ma->max; i++) {
+ for (i = 0; i < ma->count; i++) {
if (i == *index)
continue;
mask = rcu_dereference_ovsl(ma->masks[i]);
- if (!mask)
+ if (unlikely(!mask))
break;
flow = masked_flow_lookup(ti, key, mask, n_mask_hit);