diff options
Diffstat (limited to 'ofproto/ofproto-provider.h')
-rw-r--r-- | ofproto/ofproto-provider.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ofproto/ofproto-provider.h b/ofproto/ofproto-provider.h index dd700d20e..be5632eb7 100644 --- a/ofproto/ofproto-provider.h +++ b/ofproto/ofproto-provider.h @@ -1313,6 +1313,11 @@ struct ofproto_class { enum ofperr (*packet_xlate)(struct ofproto *, struct ofproto_packet_out *opo); + /* Free resources taken by a successful packet_xlate(). If multiple + * packet_xlate() calls have been made in sequence, the corresponding + * packet_xlate_revert() calls have to be made in reverse order. */ + void (*packet_xlate_revert)(struct ofproto *, struct ofproto_packet_out *); + /* Executes the datapath actions, translation side-effects, and stats as * produced by ->packet_xlate(). The caller retains ownership of 'opo'. */ @@ -1907,6 +1912,8 @@ enum ofperr ofproto_flow_mod_learn(struct ofproto_flow_mod *, bool keep_ref) enum ofperr ofproto_flow_mod_learn_refresh(struct ofproto_flow_mod *ofm); enum ofperr ofproto_flow_mod_learn_start(struct ofproto_flow_mod *ofm) OVS_REQUIRES(ofproto_mutex); +void ofproto_flow_mod_learn_revert(struct ofproto_flow_mod *ofm) + OVS_REQUIRES(ofproto_mutex); void ofproto_flow_mod_learn_finish(struct ofproto_flow_mod *ofm, struct ofproto *orig_ofproto) OVS_REQUIRES(ofproto_mutex); |