https://bugs.dpdk.org/show_bug.cgi?id=1648 Bug ID: 1648 Summary: virtio tx_burst() function cannot do TSO on shared packets Product: DPDK Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: Normal Component: vhost/virtio Assignee: dev@dpdk.org Reporter: nandinipersad361@gmail.com Target Milestone: --- 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). -- You are receiving this mail because: You are the assignee for the bug.