}
}
-void
-ofproto_set_actions(struct ofproto *ofproto, const flow_t *flow,
- const union ofp_action *actions, size_t n_actions)
-{
- struct odp_actions odp_actions;
- struct rule *rule;
-
- rule = rule_from_cls_rule(classifier_lookup_exact(&ofproto->cls, flow));
- if (!rule) {
- return;
- }
-
- free(rule->actions);
- rule->n_actions = n_actions;
- rule->actions = xmemdup(actions, n_actions * sizeof *rule->actions);
-
- rule->tags = 0;
- rule_make_actions(ofproto, rule, false, &odp_actions);
- dpif_flow_set_actions(&ofproto->dpif, flow, odp_actions.actions,
- odp_actions.n_actions);
- odp_actions_free(&odp_actions);
-}
-
void
ofproto_delete_flow(struct ofproto *ofproto, const flow_t *flow,
uint32_t wildcards, uint16_t priority)
const flow_t *, uint32_t wildcards, uint16_t priority,
const union ofp_action *, size_t n_actions,
const struct ofpbuf *, int idle_timeout);
-void ofproto_set_actions(struct ofproto *, const flow_t *,
- const union ofp_action *, size_t n_actions);
void ofproto_delete_flow(struct ofproto *, const flow_t *, uint32_t wildcards,
uint16_t priority);
void ofproto_flush_flows(struct ofproto *);