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 <[email protected]>
> Signed-off-by: Ben Pfaff <[email protected]>

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.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to