[ovs-dev] [PATCH 1/3] ofproto-dpif-upcall: Avoid unnecessarily installing datapath flows.
Ben Pfaff
blp at nicira.com
Fri Jan 10 23:20:04 UTC 2014
On Fri, Jan 10, 2014 at 03:18:24PM -0800, Ben Pfaff wrote:
> handle_upcalls() always installed a flow for every packet, as long as
> the datapath didn't already have too many flows, but there are cases where
> we don't want to do this:
>
> - If we get multiple packets in a single microflow all in one batch
> (perhaps due to GSO breaking up a large TCP packet for sending to
> userspace, or for another reason), then we only need to install the
> datapath flow once.
>
> - For a slow-pathed flow received via a slow-path action in the kernel,
> we know that the kernel flow is already there (because otherwise it
> would have been received as "no match" instead of an action), so
> there is no benefit to reinstalling it.
>
> Noticed because a CFM slow-pathed flow was getting reinstalled every time
> a CFM packet was received.
>
> Reported-by: Guolin Yang <gyang at nicira.com>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
These patches possibly fix performance problems (although I have not
measured). They definitely fix what I perceive as bugs. I plan to
backport them to branch-2.1 after review.
More information about the dev
mailing list