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

Feature Support

Miscellaneous

Future (unscheduled)