static bool facet_is_controller_flow(struct facet *);
-static void flow_push_stats(const struct rule_dpif *,
- struct flow *, uint64_t packets, uint64_t bytes,
+static void flow_push_stats(const struct rule_dpif *, const struct flow *,
+ uint64_t packets, uint64_t bytes,
long long int used);
static uint32_t rule_calculate_tag(const struct flow *,
* 'rule''s actions. */
static void
flow_push_stats(const struct rule_dpif *rule,
- struct flow *flow, uint64_t packets, uint64_t bytes,
+ const struct flow *flow, uint64_t packets, uint64_t bytes,
long long int used)
{
struct ofproto_dpif *ofproto = ofproto_dpif_cast(rule->up.ofproto);
}
static int
-rule_execute(struct rule *rule_, struct flow *flow, struct ofpbuf *packet)
+rule_execute(struct rule *rule_, const struct flow *flow,
+ struct ofpbuf *packet)
{
struct rule_dpif *rule = rule_dpif_cast(rule_);
struct ofproto_dpif *ofproto = ofproto_dpif_cast(rule->up.ofproto);
*
* Returns 0 if successful, otherwise an OpenFlow error code (as returned
* by ofp_mkerr()). */
- int (*rule_execute)(struct rule *rule, struct flow *flow,
+ int (*rule_execute)(struct rule *rule, const struct flow *flow,
struct ofpbuf *packet);
/* When ->rule_modify_actions() is called, the caller has already replaced