[ovs-dev] [PATCH v3] ovs-tcpdump: Improve performance with dummy interface

Gaëtan Rivet grive at u256.net
Mon Nov 1 21:16:10 UTC 2021

On Wed, Oct 27, 2021, at 17:48, Mike Pattrick wrote:
> Currently the ovs-tcpdump utility creates a virtual tunnel to send
> packets to. This method functions perfectly fine, however, it can
> greatly impact performance of the monitored port.
> It has been reported to reduce packet throughput significantly. I was
> able to reproduce a reduction in throughput of up 70 percent in some
> tests with a simple setup of two hosts communicating through a single
> bridge on Linux with the kernel module datapath. Another more complex
> test was configured for DPDK and the usermode datapath. This test 
> involved a data path going from a VM, through a port into one OVS
> bridge, out through a network card which could be DPDK enabled for the
> relevant tests, in to a different network interface, then into a 
> different OVS bridge, through another port, and then into a virtual
> machine.
> Using the dummy driver resulted in the following impact to performance
> compared to no ovs-tcpdump. Due to intra-test variance and fluctuations
> during the first few seconds after installing a tap; multiple samples
> were taken over multiple test runs. The first few seconds worth of 
> results were discarded and then results were averaged out.
> Original Script
> ===============
> Category             Impact on Throughput
> Kernel datapath    - 65%
> Usermode datapath  - 26%
> DPDK datapath      - 37%
> New Script
> ==========
> Category             Impact on Throughput
> Kernel datapath    - 5%
> Usermode datapath  - 16%
> DPDK datapath      - 29%
> Signed-off-by: Mike Pattrick <mkp at redhat.com>

The code looks good to me and the performance improvements are welcome, thanks.
Acked-by: Gaetan Rivet <grive at u256.net>

Gaetan Rivet

More information about the dev mailing list