diff options
author | Jarno Rajahalme <jarno@ovn.org> | 2016-09-14 16:51:27 -0700 |
---|---|---|
committer | Jarno Rajahalme <jarno@ovn.org> | 2016-09-14 16:51:27 -0700 |
commit | df70a7731c6d50458e46c865975d569dd3909212 (patch) | |
tree | 6dec6638bddd3d640ab133b74500883ef5855391 /ofproto/ofproto-dpif-xlate.h | |
parent | 2c7ee5248496896b3794df1d8635b70370097847 (diff) | |
download | openvswitch-df70a7731c6d50458e46c865975d569dd3909212.tar.gz |
ofproto-dpif-xlate: Allow translating without side-effects.
Extend 'may_learn' attribute to also control the treatment of
FIN_TIMEOUT action and asynchronous messages (packet ins,
continuations), so that when 'may_learn' is 'false' and
'resubmit_stats' is 'NULL', no OpenFlow-visible side effects are
generated by the translation.
Correspondingly, add support for one-time asynchronous messages to
xlate cache, so that all side-effects of the translation may be
executed at a later stage. This will be useful for bundle commits.
Signed-off-by: Jarno Rajahalme <jarno@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'ofproto/ofproto-dpif-xlate.h')
-rw-r--r-- | ofproto/ofproto-dpif-xlate.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ofproto/ofproto-dpif-xlate.h b/ofproto/ofproto-dpif-xlate.h index 29f820419..fbe1ad52f 100644 --- a/ofproto/ofproto-dpif-xlate.h +++ b/ofproto/ofproto-dpif-xlate.h @@ -56,12 +56,14 @@ struct xlate_in { const struct dp_packet *packet; /* Should OFPP_NORMAL update the MAC learning table? Should "learn" - * actions update the flow table? + * actions update the flow table? Should FIN_TIMEOUT change the + * timeouts? Or should controller action send packet to the controller? * * We want to update these tables if we are actually processing a packet, * or if we are accounting for packets that the datapath has processed, but - * not if we are just revalidating. */ - bool may_learn; + * not if we are just revalidating, or if we want to execute the + * side-effects later via the xlate cache. */ + bool allow_side_effects; /* The rule initiating translation or NULL. If both 'rule' and 'ofpacts' * are NULL, xlate_actions() will do the initial rule lookup itself. */ |