summaryrefslogtreecommitdiff
path: root/ofproto/ofproto-dpif-rid.h
diff options
context:
space:
mode:
authorJustin Pettit <jpettit@ovn.org>2017-07-05 15:17:52 -0700
committerJustin Pettit <jpettit@ovn.org>2018-01-10 16:42:00 -0800
commitd39ec23de38464ee35b3098b9f6c5f06d5191015 (patch)
tree2f9d5eb33373d01dcd6d8c84107a7a588bd9e8b9 /ofproto/ofproto-dpif-rid.h
parentfcb9579be3c7717744e63a343a86a0dbcf0d3d78 (diff)
downloadopenvswitch-d39ec23de38464ee35b3098b9f6c5f06d5191015.tar.gz
ofproto-dpif: Don't slow-path controller actions.
Controller actions have become more commonly used for purposes other than just making forwarding decisions (e.g., packet logging). A packet that needs to be copied to the controller and forwarded would always be sent to ovs-vswitchd to be handled, which could negatively affect performance and cause heavier CPU utilization in ovs-vswitchd. This commit changes the behavior so that OpenFlow controller actions become userspace datapath actions while continuing to let packet forwarding and manipulation continue to be handled by the datapath directly. This patch still slow-paths controller actions with the "pause" flag set. A future patch will stop slow-pathing these pause actions as well. Signed-off-by: Justin Pettit <jpettit@ovn.org> Acked-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'ofproto/ofproto-dpif-rid.h')
-rw-r--r--ofproto/ofproto-dpif-rid.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/ofproto/ofproto-dpif-rid.h b/ofproto/ofproto-dpif-rid.h
index 19fc27c7c..858b02e39 100644
--- a/ofproto/ofproto-dpif-rid.h
+++ b/ofproto/ofproto-dpif-rid.h
@@ -149,6 +149,10 @@ struct frozen_state {
size_t ofpacts_len; /* Size of 'ofpacts', in bytes. */
struct ofpact *action_set;
size_t action_set_len; /* Size of 'action_set', in bytes. */
+
+ /* User data for controller userspace cookie. */
+ uint8_t *userdata;
+ size_t userdata_len;
};
/* This maps a recirculation ID to saved state that flow translation can