DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] dpdk-web: update Windows roadmap
@ 2025-10-28 22:15 Andre Muezerie
  0 siblings, 0 replies; only message in thread
From: Andre Muezerie @ 2025-10-28 22:15 UTC (permalink / raw)
  To: thomas.monjalon; +Cc: dev, Andre Muezerie

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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-10-28 22:16 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-10-28 22:15 [PATCH] dpdk-web: update Windows roadmap Andre Muezerie

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).