X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ofproto%2Fofproto-dpif.h;h=8af66458e439a7e162b5dde21b8ea7f67f8e6a8b;hb=1a7c0cd710e19db3ff85606dbfd5fdad964a1eea;hp=ed0aa90a81a56075f440363d94570a40ce358cb9;hpb=adcf00ba35a0ce9cf2f1a84bce44559eab1f83a1;p=sliver-openvswitch.git diff --git a/ofproto/ofproto-dpif.h b/ofproto/ofproto-dpif.h index ed0aa90a8..8af66458e 100644 --- a/ofproto/ofproto-dpif.h +++ b/ofproto/ofproto-dpif.h @@ -87,14 +87,16 @@ size_t ofproto_dpif_get_max_mpls_depth(const struct ofproto_dpif *); bool ofproto_dpif_get_enable_recirc(const struct ofproto_dpif *); uint8_t rule_dpif_lookup(struct ofproto_dpif *, struct flow *, - struct flow_wildcards *, struct rule_dpif **rule); + struct flow_wildcards *, struct rule_dpif **rule, + bool take_ref); enum rule_dpif_lookup_verdict rule_dpif_lookup_from_table(struct ofproto_dpif *, const struct flow *, struct flow_wildcards *, bool force_controller_on_miss, uint8_t *table_id, - struct rule_dpif **rule); + struct rule_dpif **rule, + bool take_ref); void rule_dpif_ref(struct rule_dpif *); void rule_dpif_unref(struct rule_dpif *); @@ -117,7 +119,7 @@ void rule_dpif_reduce_timeouts(struct rule_dpif *rule, uint16_t idle_timeout, void choose_miss_rule(enum ofputil_port_config, struct rule_dpif *miss_rule, struct rule_dpif *no_packet_in_rule, - struct rule_dpif **rule); + struct rule_dpif **rule, bool take_ref); bool group_dpif_lookup(struct ofproto_dpif *ofproto, uint32_t group_id, struct group_dpif **group); @@ -143,6 +145,7 @@ void ofproto_dpif_send_packet_in(struct ofproto_dpif *, bool ofproto_dpif_wants_packet_in_on_miss(struct ofproto_dpif *); int ofproto_dpif_send_packet(const struct ofport_dpif *, struct ofpbuf *); void ofproto_dpif_flow_mod(struct ofproto_dpif *, struct ofputil_flow_mod *); +struct rule_dpif *ofproto_dpif_refresh_rule(struct rule_dpif *); struct ofport_dpif *odp_port_to_ofport(const struct dpif_backer *, odp_port_t);