* [PATCH v2 0/3] docs: Unify Getting Started Guides v2 Updates
@ 2023-11-01 0:49 David Young
2023-11-01 0:49 ` [PATCH 1/3] GSG Section 1: Introduction - Updated based on feedback David Young
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: David Young @ 2023-11-01 0:49 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, Aaron Conole, David Young
This is version 2 of the patch series for updating the DPDK Documentation.
Thank you to everyone who provided feedback on the first version.
Changes since v1:
- Removed unnecessary verbiage from Section 1: Introduction
- Merged windows_install_build.rst into building_from_sources.rst
- Updated Section 2: Install and Build DPDK based on additional feedback
- Added link in guides/index.rst to Getting Started Guide so now it shows up in menu
The following patches are included in this series:
1/3: GSG Section 1: Introduction - Updated
2/3: Added link to Getting Started Guide in index.rst
3/3: GSG Section 2: Install and Build DPDK - Updated
.../building_from_sources.rst | 124 ++++++++++++++----
.../install_and_build/index.rst | 3 +-
.../windows_install_build.rst | 93 -------------
doc/guides/getting_started_guide/intro.rst | 7 +-
doc/guides/index.rst | 1 +
5 files changed, 99 insertions(+), 129 deletions(-)
delete mode 100644 doc/guides/getting_started_guide/install_and_build/windows_install_build.rst
--
2.41.0.windows.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/3] GSG Section 1: Introduction - Updated based on feedback
2023-11-01 0:49 [PATCH v2 0/3] docs: Unify Getting Started Guides v2 Updates David Young
@ 2023-11-01 0:49 ` David Young
2023-11-01 0:49 ` [PATCH 2/3] Added link to Getting Started Guide in index.rst David Young
2023-11-01 0:49 ` [PATCH 3/3] GSG Section 2: Install and Build DPDK - Updated based on feedback David Young
2 siblings, 0 replies; 5+ messages in thread
From: David Young @ 2023-11-01 0:49 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, Aaron Conole, David Young
---
doc/guides/getting_started_guide/intro.rst | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/doc/guides/getting_started_guide/intro.rst b/doc/guides/getting_started_guide/intro.rst
index 88bdd48849..538b3bacec 100644
--- a/doc/guides/getting_started_guide/intro.rst
+++ b/doc/guides/getting_started_guide/intro.rst
@@ -4,13 +4,10 @@
Introduction
============
-Welcome to the unified getting started guide for the Data Plane Development Kit (DPDK) covering Linux, FreeBSD, and Windows. DPDK is a set of libraries and
+Welcome to the getting started guide for the Data Plane Development Kit (DPDK) covering Linux, FreeBSD, and Windows. DPDK is a set of libraries and
drivers that accelerate packet processing and allow the user to create high-performance
networking applications.
The guide is structured to provide basic step-by-step instructions with OS-specific instructions for each operating system where necessary.
By the end of this guide, you should have a solid understanding of how to implement and
-use DPDK in your networking projects, regardless of the operating system you are using.
-
-We hope this guide serves as a valuable resource as you explore the powerful
-capabilities of DPDK.
\ No newline at end of file
+use DPDK in your networking projects, regardless of the operating system you are using.
\ No newline at end of file
--
2.41.0.windows.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/3] Added link to Getting Started Guide in index.rst
2023-11-01 0:49 [PATCH v2 0/3] docs: Unify Getting Started Guides v2 Updates David Young
2023-11-01 0:49 ` [PATCH 1/3] GSG Section 1: Introduction - Updated based on feedback David Young
@ 2023-11-01 0:49 ` David Young
2023-11-01 0:49 ` [PATCH 3/3] GSG Section 2: Install and Build DPDK - Updated based on feedback David Young
2 siblings, 0 replies; 5+ messages in thread
From: David Young @ 2023-11-01 0:49 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, Aaron Conole, David Young
---
doc/guides/index.rst | 1 +
1 file changed, 1 insertion(+)
diff --git a/doc/guides/index.rst b/doc/guides/index.rst
index 244b99624c..51a47d3a51 100644
--- a/doc/guides/index.rst
+++ b/doc/guides/index.rst
@@ -7,6 +7,7 @@ DPDK documentation
.. toctree::
:maxdepth: 1
+ getting_started_guide/index
linux_gsg/index
freebsd_gsg/index
windows_gsg/index
--
2.41.0.windows.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 3/3] GSG Section 2: Install and Build DPDK - Updated based on feedback
2023-11-01 0:49 [PATCH v2 0/3] docs: Unify Getting Started Guides v2 Updates David Young
2023-11-01 0:49 ` [PATCH 1/3] GSG Section 1: Introduction - Updated based on feedback David Young
2023-11-01 0:49 ` [PATCH 2/3] Added link to Getting Started Guide in index.rst David Young
@ 2023-11-01 0:49 ` David Young
2023-11-02 2:14 ` Tyler Retzlaff
2 siblings, 1 reply; 5+ messages in thread
From: David Young @ 2023-11-01 0:49 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, Aaron Conole, David Young
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 11351 bytes --]
Merged windows_install_build.rst into building_from_sources.rst
---
.../building_from_sources.rst | 124 ++++++++++++++----
.../install_and_build/index.rst | 3 +-
.../windows_install_build.rst | 93 -------------
3 files changed, 96 insertions(+), 124 deletions(-)
delete mode 100644 doc/guides/getting_started_guide/install_and_build/windows_install_build.rst
diff --git a/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst
index e4ee8e436d..554d604109 100644
--- a/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst
+++ b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst
@@ -6,8 +6,7 @@
Building and Installing DPDK from Sources
=========================================
-This chapter provides a comprehensive guide for building DPDK from sources on both
-Linux and FreeBSD platforms. It covers the necessary steps, prerequisites,
+This chapter provides a comprehensive guide for building DPDK from sources on Linux, FreeBSD, and Windows. It covers the necessary steps, prerequisites,
and considerations for different architectures and compilers.
Required Tools
@@ -18,91 +17,158 @@ To build DPDK, you'll need the following tools:
- A C compiler like ``gcc`` (version 5+) or ``clang`` (version 3.6+)
- ``pkg-config`` or ``pkgconf``
- Python 3.6 or later
-- ``meson`` (version 0.53.2+) and ``ninja``
+- ``meson`` (version 0.57.0) and ``ninja``
- ``pyelftools`` (version 0.22+)
-Here's how to install them:
+Platform-Specific Tool Installation
+-----------------------------------
Linux
^^^^^
+Common Tools for All Distributions:
+
+.. code-block:: bash
+
+ sudo apt install gcc pkg-config python3 meson ninja pyelftools
+
Alpine
.. code-block:: bash
sudo apk add alpine-sdk bsd-compat-headers
- pip install meson ninja
-Debian and Ubuntu and derivatives
+Debian, Ubuntu, and derivatives
.. code-block:: bash
sudo apt install build-essential
- pip install meson ninja
Fedora and RedHat Enterprise Linux RHEL
.. code-block:: bash
sudo dnf groupinstall "Development Tools"
- pip install meson ninja
openSUSE
.. code-block:: bash
sudo zypper install -t pattern devel_basis python3-pyelftools
- pip install meson ninja
FreeBSD
^^^^^^^
-FreeBSD (as root)
+Common Tools for FreeBSD:
.. code-block:: bash
- pkg install meson pkgconf py38-pyelftools
+ pkg install gcc pkgconf python3 meson ninja pyelftools
-Note: If you're using FreeBSD, you'll also need kernel sources. Make sure they're included during the FreeBSD installation.
+.. note::
-Getting the DPDK Source
------------------------
+ If you're using FreeBSD, make sure kernel sources are included during the FreeBSD installation.
-Download the DPDK source code from the official repository
-``https://fast.dpdk.org/rel/``.
+Windows System Requirements
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
-Use ``wget`` to grab the DPDK version::
+Building the DPDK and its applications on Windows requires one of the following
+environments:
- wget https://fast.dpdk.org/rel/dpdk-<version>.tar.xz
+- The Clang-LLVM C compiler and Microsoft MSVC linker.
+- The MinGW-w64 toolchain (either native or cross).
-Extract the downloaded archive:
+The Meson Build system is used to prepare the sources for compilation with the Ninja backend.
-.. code-block:: bash
+Option 1: Clang-LLVM C Compiler and Microsoft MSVC Linker
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+1. Install the Compiler: Download and install the Clang compiler from the
+ `LLVM website <http://releases.llvm.org/>`_.
+
+2. Install the Linker: Download and install the Build Tools for Visual Studio from the
+ `Microsoft website <https://visualstudio.microsoft.com/downloads/>`_.
+ When installing build tools, select the “Visual C++ build tools” option and make sure
+ the Windows SDK is selected.
- tar -xvf dpdk-<version>.tar.gz
+Option 2: MinGW-w64 Toolchain
+""""""""""""""""""""""""""""""
-Navigate to the DPDK directory:
+1. On Linux (for cross-compilation): Install MinGW-w64 via a package manager.
+ Version 4.0.4 for Ubuntu 16.04 cannot be used due to a MinGW-w64 bug.
+
+2. On Windows: Obtain the latest version installer from the
+ `MinGW-w64 repository <https://mingw-w64.org/doku.php>`_.
+ Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it.
+ Install to a folder without spaces in its name, like ``C:\MinGW``.
+ This path is assumed for the rest of this guide.
+
+Install the Build System
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+Download and install the build system from the
+`Meson website <http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer>`_.
+A good option to choose is the MSI installer for both meson and ninja together.
+Recommended version is either Meson 0.57.0 (baseline) or the latest release.
+
+Getting the DPDK Source
+-----------------------
+
+Linux and FreeBSD
+^^^^^^^^^^^^^^^^^
.. code-block:: bash
+ wget https://fast.dpdk.org/rel/dpdk-<version>.tar.xz
+ tar -xvf dpdk-<version>.tar.xz
cd dpdk-<version>
+Windows
+^^^^^^^
+
+Download the DPDK source code from `DPDK's official website <https://www.dpdk.org/>`_ or clone the repository using a Git client. Extract the downloaded archive, if applicable, and navigate to the DPDK directory.
+
+Navigate to the directory where the DPDK source code is located:
+
+.. code-block:: bash
+
+ cd C:\path\to\dpdk-<version>
+
Building DPDK
-------------
-Configure the build based on your needs, hardware, and environment.
-This might include setting specific flags or options. For example: “meson setup -Dbuildtype=debugoptimized build”. Then compile using “ninja” and install using “meson install”.
+Linux and FreeBSD
+^^^^^^^^^^^^^^^^^
.. code-block:: bash
+ meson build
ninja -C build
- cd build
- sudo ninja install
- ldconfig
-For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options <dpdk_meson_build_options>`.
+Windows
+^^^^^^^
+
+**Option 1: Using Clang-LLVM**
+
+.. code-block:: bash
+
+ set CC=clang
+ meson setup -Dexamples=helloworld build
+ meson compile -C build
+
+**Option 2: Using MinGW-w64**
+
+.. code-block:: bash
+
+ set PATH=C:\MinGW\mingw64\bin;%PATH%
+ meson setup -Dexamples=helloworld build
+ meson compile -C build
+
+.. note::
+
+ For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options <dpdk_meson_build_options>`.
Cross-Compilation Instructions for Different Architectures
----------------------------------------------------------
-For instructions on building DPDK for ARM64, LoongArch, and RISC-V, refer to :ref:`cross_compile_dpdk`.
+For instructions on building DPDK for ARM64, LoongArch, and RISC-V, refer to :ref:`cross_compile_dpdk`.
\ No newline at end of file
diff --git a/doc/guides/getting_started_guide/install_and_build/index.rst b/doc/guides/getting_started_guide/install_and_build/index.rst
index f4d8740fb6..48e438282f 100644
--- a/doc/guides/getting_started_guide/install_and_build/index.rst
+++ b/doc/guides/getting_started_guide/install_and_build/index.rst
@@ -11,5 +11,4 @@ Install and Build DPDK
installing_prebuilt_packages
- building_from_sources
- windows_install_build
\ No newline at end of file
+ building_from_sources
\ No newline at end of file
diff --git a/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst b/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst
deleted file mode 100644
index ea0e131766..0000000000
--- a/doc/guides/getting_started_guide/install_and_build/windows_install_build.rst
+++ /dev/null
@@ -1,93 +0,0 @@
-.. SPDX-License-Identifier: BSD-3-Clause
- Copyright(c) 2010-2015 Intel Corporation.
-
-.. _windows_install_build:
-
-Windows DPDK Build
-==================
-
-Before you begin the process of building DPDK on Windows,
-make sure your system meets all the necessary requirements as outlined below.
-
-Windows System Requirements
----------------------------
-
-Building the DPDK and its applications on Windows requires one of the following
-environments:
-
-- The Clang-LLVM C compiler and Microsoft MSVC linker.
-- The MinGW-w64 toolchain (either native or cross).
-
-The Meson Build system is used to prepare the sources for compilation with the Ninja backend.
-
-Option 1: Clang-LLVM C Compiler and Microsoft MSVC Linker
----------------------------------------------------------
-
-1. Install the Compiler: Download and install the clang compiler from the
-`LLVM website <http://releases.llvm.org/>`_.
-
-2. Install the Linker: Download and install the Build Tools for Visual Studio from the
-`Microsoft website <https://visualstudio.microsoft.com/downloads/>`_.
-When installing build tools, select the “Visual C++ build tools” option and make sure
-the Windows SDK is selected.
-
-Option 2: MinGW-w64 Toolchain
------------------------------
-
-1. On Linux (for cross-compilation): Install MinGW-w64 via a package manager.
-Version 4.0.4 for Ubuntu 16.04 cannot be used due to a MinGW-w64 bug.
-
-2. On Windows: Obtain the latest version installer from the
-`MinGW-w64 repository <https://mingw-w64.org/doku.php>`_.
-Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it.
-Install to a folder without spaces in its name, like ``C:\MinGW``.
-This path is assumed for the rest of this guide.
-
-Install the Build System
-------------------------
-
-Download and install the build system from the
-`Meson website <http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer>`_.
-A good option to choose is the MSI installer for both meson and ninja together.
-Recommended version is either Meson 0.57.0 (baseline) or the latest release.
-
-Install the Backend
--------------------
-
-If using Ninja, download and install the backend from the
-`Ninja website <https://ninja-build.org/>`_ or install along with the meson build
-system.
-
-Once you have verified that your system meets these requirements,
-you can proceed with the following steps to build DPDK.
-
-Build the Code
---------------
-
-The build environment is setup to build the EAL and the helloworld example by default.
-To compile the examples, the flag -Dexamples is required.
-
-**Option 1. Native Build on Windows**
-
-When using Clang-LLVM, specifying the compiler might be required to complete the meson
-command::
-
- set CC=clang
-
-When using MinGW-w64, it is sufficient to have toolchain executables in PATH::
-
- set PATH=C:\MinGW\mingw64\bin;%PATH%
-
-To compile the examples::
-
- cd C:\Users\me\dpdk
- meson -Dexamples=helloworld build
- ninja -C build
-
-**Option 2. Cross-Compile with MinGW-w64**
-
-The cross-file option must be specified for Meson.
-Depending on the distribution, paths in this file may need adjustments::
-
- meson --cross-file config/x86/cross-mingw -Dexamples=helloworld build
- ninja -C build
\ No newline at end of file
--
2.41.0.windows.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] GSG Section 2: Install and Build DPDK - Updated based on feedback
2023-11-01 0:49 ` [PATCH 3/3] GSG Section 2: Install and Build DPDK - Updated based on feedback David Young
@ 2023-11-02 2:14 ` Tyler Retzlaff
0 siblings, 0 replies; 5+ messages in thread
From: Tyler Retzlaff @ 2023-11-02 2:14 UTC (permalink / raw)
To: David Young; +Cc: dev, Bruce Richardson, Aaron Conole
On Tue, Oct 31, 2023 at 08:49:28PM -0400, David Young wrote:
> Merged windows_install_build.rst into building_from_sources.rst
[...]
> -Download the DPDK source code from the official repository
> -``https://fast.dpdk.org/rel/``.
> +Windows System Requirements
> +^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> -Use ``wget`` to grab the DPDK version::
> +Building the DPDK and its applications on Windows requires one of the following
> +environments:
>
> - wget https://fast.dpdk.org/rel/dpdk-<version>.tar.xz
> +- The Clang-LLVM C compiler and Microsoft MSVC linker.
> +- The MinGW-w64 toolchain (either native or cross).
>
> -Extract the downloaded archive:
> +The Meson Build system is used to prepare the sources for compilation with the Ninja backend.
>
> -.. code-block:: bash
> +Option 1: Clang-LLVM C Compiler and Microsoft MSVC Linker
> +"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
> +
> +1. Install the Compiler: Download and install the Clang compiler from the
> + `LLVM website <http://releases.llvm.org/>`_.
> +
> +2. Install the Linker: Download and install the Build Tools for Visual Studio from the
> + `Microsoft website <https://visualstudio.microsoft.com/downloads/>`_.
> + When installing build tools, select the “Visual C++ build tools” option and make sure
> + the Windows SDK is selected.
>
> - tar -xvf dpdk-<version>.tar.gz
> +Option 2: MinGW-w64 Toolchain
> +""""""""""""""""""""""""""""""
>
> -Navigate to the DPDK directory:
> +1. On Linux (for cross-compilation): Install MinGW-w64 via a package manager.
> + Version 4.0.4 for Ubuntu 16.04 cannot be used due to a MinGW-w64 bug.
> +
> +2. On Windows: Obtain the latest version installer from the
> + `MinGW-w64 repository <https://mingw-w64.org/doku.php>`_.
> + Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it.
> + Install to a folder without spaces in its name, like ``C:\MinGW``.
> + This path is assumed for the rest of this guide.
> +
> +Install the Build System
> +^^^^^^^^^^^^^^^^^^^^^^^^
> +
> +Download and install the build system from the
> +`Meson website <http://mesonbuild.com/Getting-meson.html#installing-meson-and-ninja-with-the-msi-installer>`_.
> +A good option to choose is the MSI installer for both meson and ninja together.
> +Recommended version is either Meson 0.57.0 (baseline) or the latest release.
^^^^^^^^^^^ maybe use the word 'Required'
We need to be explicit for Windows. *Only* Meson 0.57.x can be used the
latest release of meson is not currently supported.
> +
> +Getting the DPDK Source
> +-----------------------
> +
> +Linux and FreeBSD
> +^^^^^^^^^^^^^^^^^
>
> .. code-block:: bash
>
> + wget https://fast.dpdk.org/rel/dpdk-<version>.tar.xz
> + tar -xvf dpdk-<version>.tar.xz
> cd dpdk-<version>
>
> +Windows
> +^^^^^^^
> +
> +Download the DPDK source code from `DPDK's official website <https://www.dpdk.org/>`_ or clone the repository using a Git client. Extract the downloaded archive, if applicable, and navigate to the DPDK directory.
> +
> +Navigate to the directory where the DPDK source code is located:
> +
> +.. code-block:: bash
> +
> + cd C:\path\to\dpdk-<version>
> +
> Building DPDK
> -------------
>
> -Configure the build based on your needs, hardware, and environment.
> -This might include setting specific flags or options. For example: “meson setup -Dbuildtype=debugoptimized build”. Then compile using “ninja” and install using “meson install”.
> +Linux and FreeBSD
> +^^^^^^^^^^^^^^^^^
>
> .. code-block:: bash
>
> + meson build
> ninja -C build
> - cd build
> - sudo ninja install
> - ldconfig
>
> -For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options <dpdk_meson_build_options>`.
> +Windows
> +^^^^^^^
> +
> +**Option 1: Using Clang-LLVM**
> +
> +.. code-block:: bash
> +
> + set CC=clang
> + meson setup -Dexamples=helloworld build
> + meson compile -C build
> +
> +**Option 2: Using MinGW-w64**
> +
> +.. code-block:: bash
> +
> + set PATH=C:\MinGW\mingw64\bin;%PATH%
> + meson setup -Dexamples=helloworld build
> + meson compile -C build
> +
> +.. note::
> +
> + For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options <dpdk_meson_build_options>`.
This looks good, thanks for the updates.
With the one minor correction suggested above.
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-11-02 2:14 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-01 0:49 [PATCH v2 0/3] docs: Unify Getting Started Guides v2 Updates David Young
2023-11-01 0:49 ` [PATCH 1/3] GSG Section 1: Introduction - Updated based on feedback David Young
2023-11-01 0:49 ` [PATCH 2/3] Added link to Getting Started Guide in index.rst David Young
2023-11-01 0:49 ` [PATCH 3/3] GSG Section 2: Install and Build DPDK - Updated based on feedback David Young
2023-11-02 2:14 ` Tyler Retzlaff
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).