DPDK patches and discussions
 help / color / mirror / Atom feed
From: Andre Muezerie <andremue@linux.microsoft.com>
To: thomas.monjalon@6wind.com
Cc: dev@dpdk.org, Andre Muezerie <andremue@linux.microsoft.com>
Subject: [PATCH] dpdk-web: update Windows roadmap
Date: Tue, 28 Oct 2025 15:15:53 -0700	[thread overview]
Message-ID: <1761689753-23181-1-git-send-email-andremue@linux.microsoft.com> (raw)

Summary of changes:

- Removed completed tasks from roadmap
- Updated status section to reflect parity between Clang and
MSVC. Also included in that section a list with all the
libraries that now get compiled on Windows.

Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
---
 content/roadmap/windows.md | 106 ++++---------------------------------
 1 file changed, 10 insertions(+), 96 deletions(-)

diff --git a/content/roadmap/windows.md b/content/roadmap/windows.md
index 2c2d15a..7abaf45 100644
--- a/content/roadmap/windows.md
+++ b/content/roadmap/windows.md
@@ -13,10 +13,16 @@ or with PCAP virtual devices.
 It requires yet unsigned kernel-mode drivers to run (except mlx5).
 Only network PMDs are currently enabled.
 
-The focus is getting more of the DPDK code to compile with MSVC.
-The goal is to get parity between clang and MSVC,
-so that all code that currently compiles with clang on Windows
-can also be compiled with MSVC.
+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:
 
@@ -39,98 +45,6 @@ This list is obviously neither complete nor guaranteed.
 {{% /notice %}}
 
 
-#### Bringing support for Microsoft Visual Studio on Windows
-
-Starting with release 23.11, integration began to formally support
-the Microsoft Visual Studio toolset.
-Patches were introduced to incrementally phase in full support
-of the core DPDK libraries, the DPDK unit tests and drivers.
-
-Continuing that effort, the following is a work plan targeting the 25.03 release.
-The plan is subject to change depending on delays and discussions
-from the review process.
-Contributions toward this plan from the community are welcome.
-
-##### Eliminate VLAs
-
-MSVC does not support Variable Length Arrays (VLAs). Therefore there is a need
-to replace VLAs with standard C arrays or alloca(). alloca() is available for
-all toolchain/platform combinations officially supported by DPDK.
-
-The series [Remove use of VLAs for Windows](https://patches.dpdk.org/project/dpdk/list/?series=34007)
-removes the use of VLAs from code built for Windows for all three toolchains.
-Since this is a large series touching many files, it's a pre-requisite for
-many subsequent changes.
-
-##### Structure Packing
-
-MSVC struct packing is not compatible with GCC. A discussion about possible
-solutions was held and as a result the series
-[Fix packing of structs when building with MSVC](https://patches.dpdk.org/project/dpdk/list/?series=34043)
-was submitted for review.
-
-This series provides a macro (__rte_packed_begin) that can be used to push
-existing pack value and sets packing to 1-byte. The existing __rte_packed
-macro is replaced with __rte_packed_end and restores the pack value prior
-to the push.
-
-Like the VLA-related change, this series is also large and is a pre-requisite
-for many subsequent changes.
-
-##### MSVC CI Pipeline
-
-The DPDK CI pipeline is fundamental to making progress with porting work for
-the MSVC toolset as it avoids regressions from being introduced. The CI
-pipeline is in place and is being relied on as work progresses. It
-automatically starts compiling additional code as it gets enabled by the
-patches that get completed.
-
-As additional libraries and tests are ported, the pipeline will also allow
-execution of the DPDK unit tests.
-
-##### MSVC Library Porting
-
-Several libraries are already compiling with MSVC: log, kvargs, telemetry,
-eal, ptr_compress, ring, meter, pci, timer and cfgfile.
-
-These are some of the libraries that will be ported for 25.03: rcu, mbuf,
-lpm, dmadev, mldev, stack and fib.
-
-Porting new libraries might be broken down into multiple-patch series to
-address & decouple different issues separately.
-
-It's important to note that some libraries (EAL is a great example) are
-pre-requisite for porting other libraries, drivers and unit tests. As
-mentioned above, the VLA and structure packing changes are pre-requisites
-as well.
-
-##### Unit Test Library Porting
-
-In addition to EAL there are several libraries required for the basic
-DPDK unit test harness.
-Multiple series will be submitted to port the appropriate libraries
-to allow the harness to be invoked.
-
-##### Unit Test Enablement
-
-Fundamental unit tests will be ported to MSVC.
-For tests that depend only on EAL this is not expected to require code change
-but is just re-enabling compilation of the tests allowing them to be built and run.
-
-##### MSVC CI Pipeline Test Enablement
-
-With initial DPDK unit tests building & passing the CI pipeline will be
-updated to run the unit tests.
-
-##### Driver Porting
-
-Candidate drivers will be selected from the set currently built with clang.
-Multiple series will be submitted (probably per-driver) with changes to port to MSVC.
-
-Nearing the 25.03 release timeframe the plan will be reviewed to
-understand and schedule porting work beyond the 25.03 release.
-
-
 #### Kernel Mode Drivers
 
 Concurrent work is in progress by Microsoft to provide functionality
-- 
2.34.1


                 reply	other threads:[~2025-10-28 22:16 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=1761689753-23181-1-git-send-email-andremue@linux.microsoft.com \
    --to=andremue@linux.microsoft.com \
    --cc=dev@dpdk.org \
    --cc=thomas.monjalon@6wind.com \
    /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).