X-Git-Url: http://git.onelab.eu/?p=sliver-openvswitch.git;a=blobdiff_plain;f=ofproto%2Fofproto.c;fp=ofproto%2Fofproto.c;h=208efc1e8d617df1913aa4adc0d4b5a012922683;hp=3d788a681c7e8b078bb6e7b9f3560b1012410f5f;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hpb=25d6a6a8803761cf321ba45d1eeb6df29c2a6c6e diff --git a/ofproto/ofproto.c b/ofproto/ofproto.c index 3d788a681..208efc1e8 100644 --- a/ofproto/ofproto.c +++ b/ofproto/ofproto.c @@ -1975,14 +1975,13 @@ ofproto_flow_mod(struct ofproto *ofproto, struct ofputil_flow_mod *fm) if (fm->command == OFPFC_MODIFY_STRICT && fm->table_id != OFPTT_ALL && !(fm->flags & OFPUTIL_FF_RESET_COUNTS)) { struct oftable *table = &ofproto->tables[fm->table_id]; - struct cls_rule match_rule; struct rule *rule; bool done = false; - cls_rule_init(&match_rule, &fm->match, fm->priority); fat_rwlock_rdlock(&table->cls.rwlock); - rule = rule_from_cls_rule(classifier_find_rule_exactly(&table->cls, - &match_rule)); + rule = rule_from_cls_rule(classifier_find_match_exactly(&table->cls, + &fm->match, + fm->priority)); if (rule) { /* Reading many of the rule fields and writing on 'modified' * requires the rule->mutex. Also, rule->actions may change