diff options
author | Justin Pettit <jpettit@ovn.org> | 2017-07-05 15:17:52 -0700 |
---|---|---|
committer | Justin Pettit <jpettit@ovn.org> | 2018-01-10 16:42:00 -0800 |
commit | d39ec23de38464ee35b3098b9f6c5f06d5191015 (patch) | |
tree | 2f9d5eb33373d01dcd6d8c84107a7a588bd9e8b9 /ofproto/ofproto-dpif-rid.h | |
parent | fcb9579be3c7717744e63a343a86a0dbcf0d3d78 (diff) | |
download | openvswitch-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.h | 4 |
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 |