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-cache.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-cache.h')
-rw-r--r-- | ofproto/ofproto-dpif-xlate-cache.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ofproto/ofproto-dpif-xlate-cache.h b/ofproto/ofproto-dpif-xlate-cache.h index 3643177f0..4b30181a7 100644 --- a/ofproto/ofproto-dpif-xlate-cache.h +++ b/ofproto/ofproto-dpif-xlate-cache.h @@ -46,11 +46,12 @@ enum xc_type { XC_NETDEV, XC_NETFLOW, XC_MIRROR, - XC_LEARN, + XC_LEARN, /* Calls back to ofproto. */ XC_NORMAL, - XC_FIN_TIMEOUT, + XC_FIN_TIMEOUT, /* Calls back to ofproto. */ XC_GROUP, XC_TNL_NEIGH, + XC_CONTROLLER, }; /* xlate_cache entries hold enough information to perform the side effects of @@ -113,6 +114,10 @@ struct xc_entry { char br_name[IFNAMSIZ]; struct in6_addr d_ipv6; } tnl_neigh_cache; + struct { + struct ofproto_dpif *ofproto; + struct ofproto_async_msg *am; + } controller; }; }; |