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: