From 604a69493d862a8677b10a68931afa57133b1e14 Mon Sep 17 00:00:00 2001 From: Olivier Matz Date: Mon, 6 Feb 2017 14:16:53 +0100 Subject: [PATCH] doc: add known issue for virtio TSO with clones Document the issue with Tso on shared packets. Signed-off-by: Olivier Matz --- doc/guides/rel_notes/known_issues.rst | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/doc/guides/rel_notes/known_issues.rst b/doc/guides/rel_notes/known_issues.rst index 018e999dbc..f149ac7d0b 100644 --- a/doc/guides/rel_notes/known_issues.rst +++ b/doc/guides/rel_notes/known_issues.rst @@ -666,3 +666,34 @@ uio pci generic module bind failed in X710/XL710/XXV710 **Driver/Module**: Poll Mode Driver (PMD). + + +virtio tx_burst() function cannot do TSO on shared packets +---------------------------------------------------------- + +**Description**: + The standard TX function of virtio driver does not manage shared + packets properly when doing TSO. These packets should be read-only + but the driver modifies them. + + When doing TSO, the virtio standard expects that the L4 checksum is + set to the pseudo header checksum in the packet data, which is + different than the DPDK API. The driver patches the L4 checksum to + conform to the virtio standard, but this solution is invalid when + dealing with shared packets (clones), because the packet data should + not be modified. + +**Implication**: + In this situation, the shared data will be modified by the driver, + potentially causing race conditions with the other users of the mbuf + data. + +**Resolution/Workaround**: + The workaround in the application is to ensure that the network + headers in the packet data are not shared. + +**Affected Environment/Platform**: + Virtual machines running a virtio driver. + +**Driver/Module**: + Poll Mode Driver (PMD). -- 2.20.1