if (!rule->cr.wc.wildcards) {
struct odp_flow odp_flow;
flow_from_match(&odp_flow.key, NULL, &ofm->match);
+ odp_flow.actions = NULL;
+ odp_flow.n_actions = 0;
dpif_flow_del(&p->dpif, &odp_flow);
}
classifier_remove(&p->cls, &rule->cr);
struct rule, list, &rule->list) {
struct odp_flow odp_flow;
odp_flow.key = subrule->cr.flow;
+ odp_flow.actions = NULL;
+ odp_flow.n_actions = 0;
if (!dpif_flow_del(&p->dpif, &odp_flow)) {
update_stats(rule, &odp_flow.stats);
}
struct odp_flow odp_flow;
memset(&odp_flow, 0, sizeof odp_flow);
odp_flow.key = rule->cr.flow;
+ odp_flow.actions = NULL;
+ odp_flow.n_actions = 0;
dpif_flow_del(&p->dpif, &odp_flow);
}
}