update Microsoft roadmap for 23.11

Message ID 1677525232-17905-1-git-send-email-roretzla@linux.microsoft.com (mailing list archive)
State Superseded
Headers
Series update Microsoft roadmap for 23.11 |

Commit Message

Tyler Retzlaff Feb. 27, 2023, 7:13 p.m. UTC
  Originally announced in dpdk-dev mailing list:
  http://mails.dpdk.org/archives/dev/2023-February/262027.html

Details revised technical board meeting 2023/02/22
  http://mails.dpdk.org/archives/dev/2023-February/263516.html

Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
 content/roadmap/windows.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 82 insertions(+)
  

Comments

Tyler Retzlaff March 8, 2023, 12:08 a.m. UTC | #1
hi folks,

quick ping here. is there any comment on this? i'd like to see the
existing patches start to move in tree if this is satisfactory.

thanks!

On Mon, Feb 27, 2023 at 11:13:52AM -0800, Tyler Retzlaff wrote:
> Originally announced in dpdk-dev mailing list:
>   http://mails.dpdk.org/archives/dev/2023-February/262027.html
> 
> Details revised technical board meeting 2023/02/22
>   http://mails.dpdk.org/archives/dev/2023-February/263516.html
> 
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---
>  content/roadmap/windows.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 82 insertions(+)
> 
> diff --git a/content/roadmap/windows.md b/content/roadmap/windows.md
> index 0a4c38a..ffa6e2f 100644
> --- a/content/roadmap/windows.md
> +++ b/content/roadmap/windows.md
> @@ -38,12 +38,94 @@ This list is obviously neither complete nor guaranteed.
>  {{% /notice %}}
>  
>  
> +#### Bringing support for Microsoft Visual Studio on Windows
> +
> +Starting with release 23.07 integration will begin to formally support
> +the Microsoft Visual Studio toolset. Patches will be introduced that
> +incrementally phase in full support of the core DPDK libraries, the DPDK
> +unit tests and drivers.
> +
> +The following is a draft plan of work targeting the 23.11 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.
> +
> +1. meson.build Changes
> +
> +Meson does not fully abstract away command line arguments to toolchains
> +so an initial series is available that unblocks the use of MSVC. This
> +change is pre-requisite to undertake subsequent steps.
> +
> +http://patches.dpdk.org/project/dpdk/list/?series=26662
> +
> +2. MSVC CI Pipeline Prerequisite
> +
> +Enablement of the DPDK CI pipeline is fundamental to efficiently
> +progressing porting work for the MSVC toolset. A minimal patch series
> +will be supplied to build the kvargs and telemetry libraries only.
> +
> +3. MSVC CI Pipeline Bootstrap
> +
> +With (2) complete work will be done to onboard CI pipeline for the MSVC
> +toolset. Initially the pipeline will only guarantee compilation but as
> +additional libraries and tests are ported will also allow execution of
> +the DPDK unit tests.
> +
> +4. MSVC EAL porting
> +
> +EAL is pre-requisite for porting all other libraries, drivers and unit
> +tests. Porting of EAL will be broken down into multiple-patch series to
> +address & decouple from the toolchain intrinsics topic.
> +
> +Because EAL depends on atomics the porting of EAL cannot be completed
> +until the DPDK 23.11 release. In the interim abstractions introduced will
> +only have the non-MSVC implementation tested during integration on the
> +relevant platforms.
> +
> +5. 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.
> +
> +6. Unit Test Enablement
> +
> +Fundamental unit tests (typically those testing EAL functionality) 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.
> +
> +7. MSVC CI Pipeline Test Enablement
> +
> +With initial DPDK unit tests building & passing the CI pipeline will be
> +updated to run the unit tests.
> +
> +8. 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 23.11 release timeframe the plan will be reviewed to
> +understand and schedule porting work beyond the 23.11 release.
> +
> +#### Kernel Mode Drivers
> +
> +Concurrent work is in progress by Microsoft to provide functionality
> +by the netuio driver for use by DPDK PMDs in the next release of
> +Windows.
> +
> +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.
> +
>  #### General Availability
>  
>  * Ability to install and consume user-space static build
>      - [Meson 0.58+ issue](https://github.com/mesonbuild/meson/issues/8981)
>      - [pkg-config file for Npcap](https://github.com/nmap/npcap/issues/299)
>  * [Working user-space shared build (DLL)][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
>  
> -- 
> 1.8.3.1
  
Thomas Monjalon Aug. 12, 2023, 2:10 p.m. UTC | #2
Hi Tyler,

Would you like to update this roadmap patch for integration?


27/02/2023 20:13, Tyler Retzlaff:
> Originally announced in dpdk-dev mailing list:
>   http://mails.dpdk.org/archives/dev/2023-February/262027.html
> 
> Details revised technical board meeting 2023/02/22
>   http://mails.dpdk.org/archives/dev/2023-February/263516.html
> 
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---
>  content/roadmap/windows.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 82 insertions(+)
> 
> diff --git a/content/roadmap/windows.md b/content/roadmap/windows.md
> index 0a4c38a..ffa6e2f 100644
> --- a/content/roadmap/windows.md
> +++ b/content/roadmap/windows.md
> @@ -38,12 +38,94 @@ This list is obviously neither complete nor guaranteed.
>  {{% /notice %}}
>  
>  
> +#### Bringing support for Microsoft Visual Studio on Windows
> +
> +Starting with release 23.07 integration will begin to formally support
> +the Microsoft Visual Studio toolset.

MSVC actually starts in 23.11.

> Patches will be introduced that
> +incrementally phase in full support of the core DPDK libraries, the DPDK
> +unit tests and drivers.
> +
> +The following is a draft plan of work targeting the 23.11 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.
> +
> +1. meson.build Changes
> +
> +Meson does not fully abstract away command line arguments to toolchains
> +so an initial series is available that unblocks the use of MSVC. This
> +change is pre-requisite to undertake subsequent steps.
> +
> +http://patches.dpdk.org/project/dpdk/list/?series=26662
> +
> +2. MSVC CI Pipeline Prerequisite
> +
> +Enablement of the DPDK CI pipeline is fundamental to efficiently
> +progressing porting work for the MSVC toolset. A minimal patch series
> +will be supplied to build the kvargs and telemetry libraries only.
> +
> +3. MSVC CI Pipeline Bootstrap
> +
> +With (2) complete work will be done to onboard CI pipeline for the MSVC
> +toolset. Initially the pipeline will only guarantee compilation but as
> +additional libraries and tests are ported will also allow execution of
> +the DPDK unit tests.
> +
> +4. MSVC EAL porting
> +
> +EAL is pre-requisite for porting all other libraries, drivers and unit
> +tests. Porting of EAL will be broken down into multiple-patch series to
> +address & decouple from the toolchain intrinsics topic.
> +
> +Because EAL depends on atomics the porting of EAL cannot be completed
> +until the DPDK 23.11 release. In the interim abstractions introduced will
> +only have the non-MSVC implementation tested during integration on the
> +relevant platforms.

Plan for atomic has changed a little.

> +
> +5. 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.
> +
> +6. Unit Test Enablement
> +
> +Fundamental unit tests (typically those testing EAL functionality) 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.
> +
> +7. MSVC CI Pipeline Test Enablement
> +
> +With initial DPDK unit tests building & passing the CI pipeline will be
> +updated to run the unit tests.
> +
> +8. 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 23.11 release timeframe the plan will be reviewed to
> +understand and schedule porting work beyond the 23.11 release.
> +
> +#### Kernel Mode Drivers
> +
> +Concurrent work is in progress by Microsoft to provide functionality
> +by the netuio driver for use by DPDK PMDs in the next release of
> +Windows.

Which Windows release?

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

Link to WHQL certification process?

> +
>  #### General Availability
>  
>  * Ability to install and consume user-space static build
>      - [Meson 0.58+ issue](https://github.com/mesonbuild/meson/issues/8981)
>      - [pkg-config file for Npcap](https://github.com/nmap/npcap/issues/299)
>  * [Working user-space shared build (DLL)][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
>  
>
  
Tyler Retzlaff Aug. 16, 2023, 10:27 p.m. UTC | #3
On Sat, Aug 12, 2023 at 04:10:50PM +0200, Thomas Monjalon wrote:
> Hi Tyler,
> 
> Would you like to update this roadmap patch for integration?
> 
> 
> 27/02/2023 20:13, Tyler Retzlaff:
> > Originally announced in dpdk-dev mailing list:
> >   http://mails.dpdk.org/archives/dev/2023-February/262027.html
> > 
> > Details revised technical board meeting 2023/02/22
> >   http://mails.dpdk.org/archives/dev/2023-February/263516.html
> > 
> > Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> > ---
> >  content/roadmap/windows.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 82 insertions(+)
> > 
> > diff --git a/content/roadmap/windows.md b/content/roadmap/windows.md
> > index 0a4c38a..ffa6e2f 100644
> > --- a/content/roadmap/windows.md
> > +++ b/content/roadmap/windows.md
> > @@ -38,12 +38,94 @@ This list is obviously neither complete nor guaranteed.
> >  {{% /notice %}}
> >  
> >  
> > +#### Bringing support for Microsoft Visual Studio on Windows
> > +
> > +Starting with release 23.07 integration will begin to formally support
> > +the Microsoft Visual Studio toolset.
> 
> MSVC actually starts in 23.11.

yeah, at the time it was supposed to be 23.07 i've adjusted it to 23.11
in v2.

> 
> > Patches will be introduced that
> > +incrementally phase in full support of the core DPDK libraries, the DPDK
> > +unit tests and drivers.
> > +
> > +The following is a draft plan of work targeting the 23.11 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.
> > +
> > +1. meson.build Changes
> > +
> > +Meson does not fully abstract away command line arguments to toolchains
> > +so an initial series is available that unblocks the use of MSVC. This
> > +change is pre-requisite to undertake subsequent steps.
> > +
> > +http://patches.dpdk.org/project/dpdk/list/?series=26662
> > +
> > +2. MSVC CI Pipeline Prerequisite
> > +
> > +Enablement of the DPDK CI pipeline is fundamental to efficiently
> > +progressing porting work for the MSVC toolset. A minimal patch series
> > +will be supplied to build the kvargs and telemetry libraries only.
> > +
> > +3. MSVC CI Pipeline Bootstrap
> > +
> > +With (2) complete work will be done to onboard CI pipeline for the MSVC
> > +toolset. Initially the pipeline will only guarantee compilation but as
> > +additional libraries and tests are ported will also allow execution of
> > +the DPDK unit tests.
> > +
> > +4. MSVC EAL porting
> > +
> > +EAL is pre-requisite for porting all other libraries, drivers and unit
> > +tests. Porting of EAL will be broken down into multiple-patch series to
> > +address & decouple from the toolchain intrinsics topic.
> > +
> > +Because EAL depends on atomics the porting of EAL cannot be completed
> > +until the DPDK 23.11 release. In the interim abstractions introduced will
> > +only have the non-MSVC implementation tested during integration on the
> > +relevant platforms.
> 
> Plan for atomic has changed a little.

i've updated in v2 to talk about enable_stdatomic which is in discussion
on dev@dpdk.org now

> 
> > +
> > +5. 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.
> > +
> > +6. Unit Test Enablement
> > +
> > +Fundamental unit tests (typically those testing EAL functionality) 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.
> > +
> > +7. MSVC CI Pipeline Test Enablement
> > +
> > +With initial DPDK unit tests building & passing the CI pipeline will be
> > +updated to run the unit tests.
> > +
> > +8. 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 23.11 release timeframe the plan will be reviewed to
> > +understand and schedule porting work beyond the 23.11 release.
> > +
> > +#### Kernel Mode Drivers
> > +
> > +Concurrent work is in progress by Microsoft to provide functionality
> > +by the netuio driver for use by DPDK PMDs in the next release of
> > +Windows.
> 
> Which Windows release?

i don't know, so i can't document it. surprisingly they don't tell us
what the 'next' will be named and version numbers are only determined
at release.
> 
> > +
> > +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.
> 
> Link to WHQL certification process?

added links to the process.

> 
> > +
> >  #### General Availability
> >  
> >  * Ability to install and consume user-space static build
> >      - [Meson 0.58+ issue](https://github.com/mesonbuild/meson/issues/8981)
> >      - [pkg-config file for Npcap](https://github.com/nmap/npcap/issues/299)
> >  * [Working user-space shared build (DLL)][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
> >  
> > 
> 
> 
> 
>
  

Patch

diff --git a/content/roadmap/windows.md b/content/roadmap/windows.md
index 0a4c38a..ffa6e2f 100644
--- a/content/roadmap/windows.md
+++ b/content/roadmap/windows.md
@@ -38,12 +38,94 @@  This list is obviously neither complete nor guaranteed.
 {{% /notice %}}
 
 
+#### Bringing support for Microsoft Visual Studio on Windows
+
+Starting with release 23.07 integration will begin to formally support
+the Microsoft Visual Studio toolset. Patches will be introduced that
+incrementally phase in full support of the core DPDK libraries, the DPDK
+unit tests and drivers.
+
+The following is a draft plan of work targeting the 23.11 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.
+
+1. meson.build Changes
+
+Meson does not fully abstract away command line arguments to toolchains
+so an initial series is available that unblocks the use of MSVC. This
+change is pre-requisite to undertake subsequent steps.
+
+http://patches.dpdk.org/project/dpdk/list/?series=26662
+
+2. MSVC CI Pipeline Prerequisite
+
+Enablement of the DPDK CI pipeline is fundamental to efficiently
+progressing porting work for the MSVC toolset. A minimal patch series
+will be supplied to build the kvargs and telemetry libraries only.
+
+3. MSVC CI Pipeline Bootstrap
+
+With (2) complete work will be done to onboard CI pipeline for the MSVC
+toolset. Initially the pipeline will only guarantee compilation but as
+additional libraries and tests are ported will also allow execution of
+the DPDK unit tests.
+
+4. MSVC EAL porting
+
+EAL is pre-requisite for porting all other libraries, drivers and unit
+tests. Porting of EAL will be broken down into multiple-patch series to
+address & decouple from the toolchain intrinsics topic.
+
+Because EAL depends on atomics the porting of EAL cannot be completed
+until the DPDK 23.11 release. In the interim abstractions introduced will
+only have the non-MSVC implementation tested during integration on the
+relevant platforms.
+
+5. 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.
+
+6. Unit Test Enablement
+
+Fundamental unit tests (typically those testing EAL functionality) 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.
+
+7. MSVC CI Pipeline Test Enablement
+
+With initial DPDK unit tests building & passing the CI pipeline will be
+updated to run the unit tests.
+
+8. 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 23.11 release timeframe the plan will be reviewed to
+understand and schedule porting work beyond the 23.11 release.
+
+#### Kernel Mode Drivers
+
+Concurrent work is in progress by Microsoft to provide functionality
+by the netuio driver for use by DPDK PMDs in the next release of
+Windows.
+
+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.
+
 #### General Availability
 
 * Ability to install and consume user-space static build
     - [Meson 0.58+ issue](https://github.com/mesonbuild/meson/issues/8981)
     - [pkg-config file for Npcap](https://github.com/nmap/npcap/issues/299)
 * [Working user-space shared build (DLL)][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