Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk5 min

Zero-Copy Receive for vhost: The Proposed NIC-to-Guest DMA Design

The proposed vhost zero-copy receive path sends page-aligned guest buffers down to a compatible NIC driver so packet data can be DMA-written into guest memory. It is distinct from vhost transmit zerocopy and the socket send API MSG_ZEROCOPY.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The proposed zero-copy receive architecture lets a supported physical NIC DMA packet data directly into page-aligned, DMA-capable buffers allocated for a virtio guest. It aims to avoid the payload copy between a host receive buffer and the guest buffer, but it is a specialized design—not a generic vhost setting that can be assumed to work on current systems.

What zero-copy receive for vhost means

In an ordinary receive path, packet data may be copied from a host-side receive buffer into a guest’s virtio buffer. The proposal avoids that payload copy by arranging for the NIC to receive into guest-provided memory. “Zero-copy” describes that data movement, not an absence of work: the system still has to allocate and track buffers, map memory for DMA, manage ownership and synchronization, and report completion to the guest.

As an Amazon Associate I earn from qualifying purchases.

How the proposed receive path works

The path crosses virtio-net, vhost-net, macvtap, and the physical NIC driver. It depends on new interfaces between those components; it is not achieved simply by enabling a flag on an otherwise unchanged installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. virtio-net allocates receive buffers. The proposed add_recvbuf_full_page() path supplies buffers aligned to page boundaries and suitable for DMA. The design calls for this because the existing receive-buffer helpers did not enforce page alignment.
  2. vhost-net posts guest buffers downward. A new macvtap control flag, MSG_ZCOPY_RX_POST, carries the guest buffers toward the device. The proposal also adds ndo_set_zerocopy_rx() to bind virtual and physical queues.
  3. macvtap prepares the receive buffer. It maps the posted memory into an skb and passes it to the physical NIC through the proposed ndo_post_rx_buffer() netdevice operation.
  4. The NIC receives into that memory. A compatible driver places the buffers on its receive descriptor ring. The NIC then DMA-writes packet data directly into the guest memory represented by those buffers.
  5. The host reports completion. After a packet arrives, macvtap queues the skb and identifies the completed virtio descriptor. vhost-net updates the virtqueue and reads using MSG_ZCOPY_RX, the proposed marker for preallocated receive buffers.

This sequence is the architecture described in the design proposal; its named callbacks and flags should not be mistaken for proof that a given kernel, backend, or NIC driver implements the whole path.

#1 Best Overall
Sale
TP-Link 10GB PCIe Network Card (TX401)-PCIe to 10 Gigabit Ethernet Adapter | NIC Card, Supports Windows 11/10/8.1/8/7, Servers 2019/2016/2012 R2, and Linux, Including a CAT6A Cable
  • 10 Gbps PCIe Network Card: With the latest 10GBase-T Technology, TX401 delivers extreme speeds of up to 10 Gbps, which is 10× faster than typical Gigabit adapters, guaranteeing smooth data transmissions for both internet access and local data transmissions[1]
  • Versatile Compatibility: With extreme speed and ultra-low latency, 10GBase-T is backwards compatible with multiple data rates (10 Gbps, 5 Gbps, 2.5 Gbps, 1 Gbps, 100 Mbps), automatically negotiating between higher and lower speed connections
  • QoS: Quality of Service technology delivers prioritized performance for gamers and ensures to avoid network congestion for PC gaming
  • Free CAT6A Ethernet Cable: To maximize TX401's performance, a 1.5 m CAT6A Ethernet Cable is included—rated for up to 10 Gbps while a regular cable is only rated for 1 Gbps
  • Low-Profile and Full-Height Brackets: In addition to the standard bracket, a low-profile bracket is provided for mini tower computer cases

What has to be supported for it to work

  • Guest-buffer allocation: buffers must meet the proposal’s page-alignment and DMA-capability requirements.
  • Memory mapping and DMA ownership: host and device must agree on how guest memory is mapped, when the NIC may write to it, and when the guest may reuse it. DMA/IOMMU configuration is part of validating a real deployment.
  • Backend and netdevice interfaces: the relevant vhost-net and macvtap path must understand the proposed control messages and completion flow.
  • NIC-driver support: the physical driver must implement the receive-buffer posting operation and use those buffers on its receive ring.
  • End-to-end testing: a compatible piece in one layer is not enough; the exact kernel, distribution, backend, driver, and device must support the complete path.

The design document also identifies the lack of a unified mechanism for receive-memory allocation as an issue. That matters operationally: buffer allocation and lifetime are part of the design problem, not implementation details that disappear once a copy is removed.

How it differs from ordinary copy-based vhost receive

Aspect Ordinary copy-based receive Proposed zero-copy receive
Payload movement May copy packet payload from a host receive buffer into the guest’s virtio buffer. Aims to remove that host-to-guest payload memcpy by having the NIC DMA into guest-provided memory.
Buffer allocation and ownership Uses the receive-buffer path supported by the implementation. Requires page-aligned DMA-capable guest buffers, mappings, lifetime tracking, and coordination across host and device.
Required components Does not require the proposal’s new receive-posting callbacks and control messages. Requires compatible virtio-net, vhost-net, macvtap, and physical NIC-driver support for the proposed interfaces.
Completion and synchronization Follows the completion mechanism of the implementation in use. Must identify completed guest descriptors and safely coordinate DMA completion and buffer reuse.
Performance evidence Depends on the specific system and workload. No authoritative receive benchmark establishes a general throughput or CPU advantage; performance must be measured on the target system.

Removing a payload copy could reduce CPU work in a suitable workload, but the architecture alone does not establish a net gain. Mapping, bookkeeping, DMA synchronization, and completion notifications have costs. A meaningful comparison should measure throughput and CPU use under the same workload, while checking latency, packet sizes, and resource use on the target configuration.

Rank #2
10Gtek 10Gb Dual RJ45 Port Network Card with X540 Controller, PCIe Ethernet LAN Adapter for Windows/Linux/ESX Servers, Compare to Intel X540-T2
  • Equipped with original Intel X540 controller chip which supports Intelligent Offloads and make the servers more stable.
  • Compatible with Windows Server 2003/ 2008/ 2012, Windows7/8/10*/Visa, Linux, ESX/ESXi*. Storage over Ethernet: iSCSI, FCoE, NFS. (Note that this card can be used with Windows 11, but it needs to be manually set up. If you buy it for Windows 11, please contact us for installation guide before using.)
  • Dual copper RJ45 ports let you connect to Category-6A and up to 100m((Category-6 up to 55 m) for meeting the demands of data center environments. PCI Express* 2.1. 5.0 G T/s X8 Lane is suitable for both PCI-E X8 and PCI-E X16 slots.
  • With profile bracket and additional low profile bracket that makes it easy to install the card in a small form factor/low profile computer case/server.NOT support hot swaping.
  • What You Get: 10Gtek 10GbE PCI-E X8 Network Card X540-10G-2T (compare to Intel X540-T2) x1, Low-profile Bracket x1. Backed by 10Gtek 30 Days Free-returned, 3 Year Free Warranty and Lifetime Technology Support.

Is vhost zero-copy receive supported on current systems?

The available status evidence does not establish a generally available, generic zero-copy receive mode for ordinary current installations. Treat this as a proposed receive architecture unless the specific implementation and kernel version are identified and its full support is verified.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

There is a separate historical vhost-net zero-copy feature for transmit. Linux source carried transmit-side zerocopy fields and completion logic, but a 2025 removal patch said that path had been disabled by default since 2019, that skb orphaning could force a copy, and that its outstanding zerocopy budget was often exhausted. The patch removed 398 lines from drivers/vhost/net.c. Its author, Jon Kohler, wrote: “Given these limitations and the lack of any tangible benefits, remove zerocopy entirely to simplify the code base.” This is evidence about the older transmit implementation and that removal, not proof that every distribution has identical behavior or that the proposed receive design shipped.

Rank #3
Sale
VIMIN 10G PCI-E Network Card with 10Gbps Dual RJ45 Ports
  • ⚡2x 10Gbps RJ45 Copper Port - Utilizing the Intel X540-T2 chipset controller, this Dual Lan 10Gb NIC network card delivers up to 10Gbps of network connection speed and offers reliable performance and stability, ideal for high-speed data transmission requirements in servers and high-end devices.
  • ⚡Wide Compatibility with Operating Systems - The vimin 10Gbps ethernet adapter network card is compatible with multiple operating systems, including Windows/Windows server, Linux, and VMware, meeting the network needs in various environments.
  • ⚡Flexible PCIe x8 and x16 Compatibility - This 10G ethernet RJ45 card os compatible with PCI Express x8 and x16, allowing flexible adaptation to different specifications of PCIe slots, which provides more deployment options.
  • ⚡Choice of Standard and Slim Brackets - Available with standard and slim brackets, suitable for different heights of servers and devices, meeting diverse installation requirements.
  • ⚡Excellent Heat Dissipation and Stable Connection - Features a heat sink to maintain optimal temperature levels during heavy usage, ensuring device stability. With a well-designed gold finger interface, reducing the risk of interruptions and ensuring consistent network performance.

For historical context, the RHEL 7 virtualization guide also described vhost-net zero-copy as disabled by default. That statement concerns RHEL 7; it should not be generalized to every current distribution.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

How this differs from MSG_ZEROCOPY

MSG_ZEROCOPY is a socket send-side API, not a way to post guest receive buffers for NIC DMA. Linux kernel documentation describes copy avoidance for socket sends over TCP, UDP, and VSOCK with virtio transport. Its implementation uses page pinning and completion notifications, exchanging per-byte copy work for page-accounting and notification overhead. The documentation’s rule of thumb is that it is generally effective only for writes larger than around 10 KB; that is guidance for this send API, not a threshold or performance guarantee for vhost receive.

Rank #4
WAVLINK 10G PCIe Network Adapter, 10Gb PCIe Network Card with RTL8127AT Controller, PCIe x4/x8/x16 Ethernet Card for Windows 11/10 & Linux PC, Low Profile Bracket Included
  • 10G High-Speed Transmission: This 10gb network card ushers in a new era of network transmission speed, offering speeds up to 10 times faster than traditional gigabit rates. It provides an exceptional online experience, ensuring swift file transfers, seamless HD video streaming, and lag-free online gaming.
  • PCIe to 10G RJ45: This pcie ethernet card accommodates various PCI Express slot configurations, such as x1, x4, x8, and x16, enabling seamless installation and interchangeability across different motherboards to meet diverse hardware layouts and needs. Note: Compatible with PCI-E slots only, not for PCI slots.
  • Seamless OS Compatibility: Whether you're utilizing the newest Windows 11 or 10, or even Linux operating systems, this 10gb ethernet adapter guarantees seamless compatibility. This eradicates worries about system compatibility and grants you the complete convenience of high-speed networking.(Driver Safety Note: For a smooth installation, please download the latest driver from the official WAVLINK website. Some antivirus software may falsely flag the driver due to digital signature recognition, which is a common industry occurrence. Our driver package has been updated and is completely safe. Please rest assured and proceed with installation.)
  • Flexible Bracket Versatility: Engineered with low-profile and standard bracket, this pcie network card provides heightened flexibility for diverse computer arrangements. Irrespective of your computer's specifications, effortless installation is ensured, optimizing your hardware setup.
  • Robust Metal Shielding: Minimizes electromagnetic interference, enhancing stability and reliability for your 10g nic with every connection. (Tip: Please remove the plastic film from the PCI-e interface before connecting to the PC's PCI-e slot.) Excellent heat dissipation can reduce the temperature quickly and maintain the stability of network transmission.

The distinction is directional and architectural: MSG_ZEROCOPY concerns avoiding copies when an application sends through a socket, while the proposed vhost design propagates guest receive buffers down to a NIC so incoming packets can be DMA-written into them. The Linux documentation cautions that “Copy avoidance is not a free lunch.”

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
NICGIGA 10Gb PCIe 4.0 x1 Network Card, Realtek RTL8127 Ethernet Adapter.
  • ⭐【Next-Gen 10Gbe Performance】:Adopting the latest Realtek RTL8127 controller, this 10Gb PCIe network card delivers blazing-fast speeds up to 10Gbps. It provides extreme stability for local data transmission and internet access, effectively preventing packet loss. Perfect for NAS storage, home labs, gaming, and 4K video editing. Supports Wake-on-LAN (WOL).
  • ⭐【Multi-Gig Auto-Negotiation】:Seamlessly backward compatible with 10Gbps, 5Gbps, 2.5Gbps, 1Gbps, and 100Mbps. It automatically negotiates the optimal speed to match your routers, switches, or NAS systems. Supports standard Cat6a/Cat7 or high-quality Cat6 cabling for cost-effective 10GbE network upgrades.
  • ⭐【PCIe 4.0 x1 for Compact Systems】:Features a high-bandwidth PCIe 4.0 x1 interface that easily converts a standard x1 slot into a 10G RJ45 Ethernet port. Universally fits into PCIe x1, x4, x8, and x16 slots without occupying your GPU's lanes, making it ideal for Mini PCs, ITX builds, and compact workstations (Note: Not for PCI slots).
  • ⭐【Broad OS & Advanced Linux Support】:Fully compatible with Windows 11/10 and Windows Server 2019/2022. Native plug-and-play for modern Linux distributions with Kernel 6.x and above (Ubuntu, Debian, Fedora), while older kernels (5.x) can be easily driven via Realtek official source code. Ready for mainstream virtualization and DIY NAS platforms.
  • ⭐【Cool Running & Easy Installation】:Thanks to the ultra-efficient Realtek RTL8127 chipset, this 10G NIC consumes minimal power and generates significantly less heat than older 10G chips, ensuring non-stop stability. Includes both standard full-height and low-profile brackets to perfectly fit into slim or full-size desktop towers.

What to verify before relying on the design

  • Identify the exact kernel version and distribution, rather than assuming a feature based on the word “vhost.”
  • Confirm that the selected backend and macvtap path implement the proposed receive-buffer control flow.
  • Check that the physical NIC driver supports posting externally supplied receive buffers and that the DMA/IOMMU setup is compatible.
  • Validate buffer alignment, ownership transitions, and completion behavior under load.
  • Benchmark against copy-based receive on the same host, guest, NIC, and workload; do not infer a speedup from the architecture or from transmit-side history.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.