DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] DPDK Virtio Checksum Errors
@ 2019-08-05 18:09 kumaraparameshwaran rathinavel
  2019-08-06  7:55 ` Maxime Coquelin
  0 siblings, 1 reply; 2+ messages in thread
From: kumaraparameshwaran rathinavel @ 2019-08-05 18:09 UTC (permalink / raw)
  To: dev

Hi All,

I had recently tried using TSO on the DPDK virtio guest driver and I get
the TCP checksum errors at the client side. I tried running iperf and
Apache bench

We have been using the same TCP/IP stack for other DPDK pmd drivers and
they are working fine. I did notice that incase of virtio alone we do
calculate the IP payload in pseudo check sum, please correct me if I am
wrong. This is the guest side implementation. Is this applicable for all
versions of qemu virtio

In the host the OVS is run in a Kolla inside container and it is in
non-dpdk mode. The tcpdump from the physical interface shows that the
packet is not modified from the way it was sent by the guest.

After the checksum errors the TCP stack of the guest  sends the MTU sized
packet for which the TSO failed and this time the checksum at the client
side did not fail. In the client I had disabled GRO and LRO, so that we
compute checksum on each frame.

Also the checksum errors are seen only when the VMs communicating are
present in different physical host, when VMs in same host I do not see any
checksum errors.

Please let me know if such issues were seen earlier and any pointers on
debugging further would be helpful.

Thanks,
Param

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-dev] DPDK Virtio Checksum Errors
  2019-08-05 18:09 [dpdk-dev] DPDK Virtio Checksum Errors kumaraparameshwaran rathinavel
@ 2019-08-06  7:55 ` Maxime Coquelin
  0 siblings, 0 replies; 2+ messages in thread
From: Maxime Coquelin @ 2019-08-06  7:55 UTC (permalink / raw)
  To: kumaraparameshwaran rathinavel, dev

Hi,

On 8/5/19 8:09 PM, kumaraparameshwaran rathinavel wrote:
> Hi All,
> 
> I had recently tried using TSO on the DPDK virtio guest driver and I get
> the TCP checksum errors at the client side. I tried running iperf and
> Apache bench
> 
> We have been using the same TCP/IP stack for other DPDK pmd drivers and
> they are working fine. I did notice that incase of virtio alone we do
> calculate the IP payload in pseudo check sum, please correct me if I am
> wrong. This is the guest side implementation. Is this applicable for all
> versions of qemu virtio
> 
> In the host the OVS is run in a Kolla inside container and it is in
> non-dpdk mode. The tcpdump from the physical interface shows that the
> packet is not modified from the way it was sent by the guest.
> 
> After the checksum errors the TCP stack of the guest  sends the MTU sized
> packet for which the TSO failed and this time the checksum at the client
> side did not fail. In the client I had disabled GRO and LRO, so that we
> compute checksum on each frame.
> 
> Also the checksum errors are seen only when the VMs communicating are
> present in different physical host, when VMs in same host I do not see any
> checksum errors.
> 
> Please let me know if such issues were seen earlier and any pointers on
> debugging further would be helpful.

Which version of DPDK are you using?

There was a fix recently that may fix your issue [0]:

commit 00a5ea02e12fc1409901c0149ce87c28a286ea60
Author: Dilshod Urazov <dilshod.urazov@oktetlabs.ru>
Date:   Mon Jun 17 12:31:37 2019 +0100

    net/virtio: add Tx preparation

    Virtio requires pseudo-header checksum in TCP/UDP checksum to do
    offload, but it was lost when Tx prepare is introduced. Also
    rte_validate_tx_offload() should be used to validate Tx offloads.

    Also it is incorrect to do virtio_tso_fix_cksum() after prepend
    to mbuf without taking prepended size into account, since layer 2/3/4
    lengths provide incorrect offsets after prepend.

    Fixes: 4fb7e803eb1a ("ethdev: add Tx preparation")
    Cc: stable@dpdk.org

    Signed-off-by: Dilshod Urazov <dilshod.urazov@oktetlabs.ru>
    Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
    Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>


> Thanks,
> Param
>

https://www.mail-archive.com/dev@dpdk.org/msg134448.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-08-06  7:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-05 18:09 [dpdk-dev] DPDK Virtio Checksum Errors kumaraparameshwaran rathinavel
2019-08-06  7:55 ` Maxime Coquelin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).