Re: Difference in TCP throughput in comparison to OVS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Phu Tran <phu.tran@xxxxxxxxxxxxx> writes:

> Hi,
>
> Following the XDP tutorial on GitHub, we ran some tests comparing the setup from
> the “redirecting packets” section and a basic OVS setup.
> (Specifically packet03-redirecting/Assignment3: Extend to a bidirectional router)
>
> In our test, we collected the numbers below.
> For the OVS setup. we saw TCP throughput at around 90 Gbits/sec.
> For the XDP setup, we saw TCP throughput at around 9 Gbits/sec.
>
> On the OVS side we had the following
> - Two veth devices each assigned to their own unique network namespace.
> - Both veth devices added to an ovs-bridge.
> - iperf2 between the two veth devices.
>
> Similarly, for the XDP setup, we followed the instructions from packet03-redirecting/Assignment3.
> Differences highlighted below:
> - We had to disable rx and tx checksumming to get TCP to work.
> - ethtool --offload veth0 rx off tx off
> - We disabled BPF tracing.
> - iperf2 between the two veth devices.
>
> Questions:
> 1. Why is there a TCP throughput difference between these two setups?

Likely because of the lack of HW checksumming (as you've already
noticed), and TSO (XDP doesn't support superpackets). There's ongoing
work to fix this, though. For large packets, the first step is this
series: https://lore.kernel.org/bpf/87eesd3rvu.fsf@xxxxxxx/T/ - but a
few more bits are needed before we get all the way to TSO.

> 2. Why do we need to disable rx and tx checksumming?

Because XDP doesn't support it :)

Again, 'yet'. We do want to support this eventually; it's noted here:
https://xdp-project.net/#Metadata-from-hardware

-Toke





[Index of Archives]     [Linux Networking Development]     [Fedora Linux Users]     [Linux SCTP]     [DCCP]     [Gimp]     [Yosemite Campsites]

  Powered by Linux