Windows Plan
DPDK porting on Windows
Status
Starting with DPDK 21.08 it is possible to run testpmd and examples with mlx5, i40e, and ice HW, vmxnet3 paravirtual devices in QEMU, or with PCAP virtual devices. It requires yet unsigned kernel-mode drivers to run (except mlx5). Only network PMDs are currently enabled.
Many of the DPDK libraries are available on Windows. These include log, kvargs, argparse, telemetry, eal, ptr_compress, ring, rcu, mempool, mbuf, net, meter, ethdev, pci, cmdline, metrics, hash, timer, bbdev, bitratestats, cfgfile, cryptodev, dmadev, gpudev, gro, gso, ip_frag, latencystats, lpm, pcapng, regexdev, mldev, rib, reorder, security, stack and fib.
With DPDK 25.11, parity was reached between Clang and MSVC. All source code which previously could only be compiled on Windows using Clang can now also be compiled with MSVC.
All development happens in the upstream:
The DPDK documentation for Windows is updated along with upstream progress.
The PMD-specific documentation should be updated in the common NIC drivers guide.
Roadmap
Features and milestones may be noted here. This is not a commitment but a plan of work. This list is obviously neither complete nor guaranteed.
Kernel Mode Drivers
Concurrent work is in progress by Microsoft to provide functionality by the netuio driver for use by DPDK PMDs.
Partners and providers of hardware & PMDs will be able to use the WHQL certification process to sign driver packages containing PMDs that utilize netuio functionality.
For more information visit the following links:
https://learn.microsoft.com/en-us/windows-hardware/drivers/install/whql-release-signature
https://learn.microsoft.com/en-us/previous-versions/windows/hardware/hck/jj124227(v=vs.85)
General Availability
- Ability to install and consume user-space static build
 - Working user-space shared build (DLL)
- Will be addressed as a part of Microsoft Visual Studio compiler support
 
 - Process, pipeline, and download area for signed builds of kernel-mode drivers
- virt2phys security hardening
 
 
Feature Support
- Interrupt handling for netuio
 - vmxnet3 PMD with VMware hypervisor
 - virtio PMD
 - ena PMD
 - mlx5 PMD rte_flow features
 - Unit tests
 - Tracing
 - Documentation build (doxygen + sphinx)
 
Miscellaneous
- Tracing for netuio to simplify troubleshooting for end-users
 - Improved documentation and automated scripts
 - AVX bug in GCC
 - Functional tests in CI
 
Future (unscheduled)
- Advanced memory management: IOMMU, inbox kernel-mode driver
 
