rule->cr = fm->cr;
rule->pending = NULL;
rule->flow_cookie = fm->cookie;
- rule->created = time_msec();
+ rule->created = rule->modified = time_msec();
rule->idle_timeout = fm->idle_timeout;
rule->hard_timeout = fm->hard_timeout;
rule->table_id = table - ofproto->tables;
rule->actions = ofputil_actions_clone(fm->actions, fm->n_actions);
rule->n_actions = fm->n_actions;
rule->ofproto->ofproto_class->rule_modify_actions(rule);
+ } else {
+ rule->modified = time_msec();
}
rule->flow_cookie = fm->cookie;
}
break;
case OFOPERATION_MODIFY:
- if (error) {
+ if (!error) {
+ rule->modified = time_msec();
+ } else {
free(rule->actions);
rule->actions = op->actions;
rule->n_actions = op->n_actions;