From: bugzilla@dpdk.org
To: dev@dpdk.org
Subject: [DPDK/vhost/virtio Bug 1648] virtio tx_burst() function cannot do TSO on shared packets
Date: Mon, 03 Feb 2025 04:01:00 +0000 [thread overview]
Message-ID: <bug-1648-3@http.bugs.dpdk.org/> (raw)
[-- Attachment #1: Type: text/plain, Size: 1529 bytes --]
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.
[-- Attachment #2: Type: text/html, Size: 3394 bytes --]
reply other threads:[~2025-02-03 4:01 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-1648-3@http.bugs.dpdk.org/ \
--to=bugzilla@dpdk.org \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).