]> git.proxmox.com Git - mirror_ovs.git/commit
ofproto-dpif: Don't slow-path controller actions.
authorJustin Pettit <jpettit@ovn.org>
Wed, 5 Jul 2017 22:17:52 +0000 (15:17 -0700)
committerJustin Pettit <jpettit@ovn.org>
Thu, 11 Jan 2018 00:42:00 +0000 (16:42 -0800)
commitd39ec23de38464ee35b3098b9f6c5f06d5191015
tree2f9d5eb33373d01dcd6d8c84107a7a588bd9e8b9
parentfcb9579be3c7717744e63a343a86a0dbcf0d3d78
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>
14 files changed:
Documentation/tutorials/faucet.rst
NEWS
lib/odp-util.c
lib/odp-util.h
ofproto/ofproto-dpif-rid.c
ofproto/ofproto-dpif-rid.h
ofproto/ofproto-dpif-upcall.c
ofproto/ofproto-dpif-xlate.c
ofproto/ofproto-unixctl.man
tests/odp.at
tests/ofproto-dpif.at
tests/pmd.at
tests/tunnel-push-pop-ipv6.at
tests/tunnel-push-pop.at