Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components
@ 2025-10-21 12:03 Maxime Leroy
  2025-10-21 12:03 ` [Buildroot] [PATCH 1/5] package/dpdk: bump to 24.11.3 version Maxime Leroy
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Maxime Leroy @ 2025-10-21 12:03 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Jardin, Maxime Leroy

This series bumps DPDK to 24.11.3 and adds options to enable/disable kernel modules,
drivers, libraries, and apps, matching Meson’s selection model
and allowing smaller builds.

Tested manually on x86_64 and NXP DPAA2.
CI passed for build and runtime:

    build: https://gitlab.com/maxime-leroy/buildroot/-/pipelines/2111122925
    test: https://gitlab.com/maxime-leroy/buildroot/-/pipelines/2111137175

Maxime Leroy (5):
  package/dpdk: bump to 24.11.3 version
  package/dpdk: add toggle for deprecated kernel modules
  package/dpdk: make drivers selectable
  package/dpdk: make libraries selectable
  package/dpdk: make apps selectable

 package/dpdk/Config.in | 49 ++++++++++++++++++++++++++++++++++++++++++
 package/dpdk/dpdk.hash |  2 +-
 package/dpdk/dpdk.mk   | 36 ++++++++++++++++++++++++++++++-
 3 files changed, 85 insertions(+), 2 deletions(-)

-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH 1/5] package/dpdk: bump to 24.11.3 version
  2025-10-21 12:03 [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Maxime Leroy
@ 2025-10-21 12:03 ` Maxime Leroy
  2025-11-02 18:27   ` Julien Olivain via buildroot
  2025-10-21 12:03 ` [Buildroot] [PATCH 2/5] package/dpdk: add toggle for deprecated kernel modules Maxime Leroy
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Maxime Leroy @ 2025-10-21 12:03 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Jardin, Maxime Leroy

See the release note of the new versions:
- https://doc.dpdk.org/guides-24.11/rel_notes/release_24_11.html#id1
- https://doc.dpdk.org/guides-24.11/rel_notes/release_24_11.html#id5

Signed-off-by: Maxime Leroy <maxime@leroys.fr>
---
 package/dpdk/dpdk.hash | 2 +-
 package/dpdk/dpdk.mk   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/package/dpdk/dpdk.hash b/package/dpdk/dpdk.hash
index e9a22736b0..5c9fd7c087 100644
--- a/package/dpdk/dpdk.hash
+++ b/package/dpdk/dpdk.hash
@@ -1,5 +1,5 @@
 # Locally computed
-sha256  bcae7d42c449fc456dfb279feabcbe0599a29bebb2fe2905761e187339d96b8e  dpdk-24.11.1.tar.xz
+sha256  d5ae4cfaef05d6aa491af643d61b83d840e53ced96f9c9f60fda986313ed84b2  dpdk-24.11.3.tar.xz
 sha256  9acc4bc871a4742550158e3696dcb381953172ef808d04ca248184f9f6322712  license/bsd-3-clause.txt
 sha256  e19808bccd90c238fac06da2fc3683e094c64f7ba647e9d86f03a98cf5f2ce05  license/exceptions.txt
 sha256  6c54c4d44faf3cba829b3d0c21c6955953e758767018fd7244f809b01d4f4845  license/mit.txt
diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
index 0cbdc67e87..1c7eada937 100644
--- a/package/dpdk/dpdk.mk
+++ b/package/dpdk/dpdk.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-DPDK_VERSION = 24.11.1
+DPDK_VERSION = 24.11.3
 DPDK_SOURCE = dpdk-$(DPDK_VERSION).tar.xz
 DPDK_SITE = https://fast.dpdk.org/rel
 DPDK_LICENSE = \
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH 2/5] package/dpdk: add toggle for deprecated kernel modules
  2025-10-21 12:03 [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Maxime Leroy
  2025-10-21 12:03 ` [Buildroot] [PATCH 1/5] package/dpdk: bump to 24.11.3 version Maxime Leroy
@ 2025-10-21 12:03 ` Maxime Leroy
  2025-11-24 12:58   ` Maxime Leroy
  2025-10-21 12:03 ` [Buildroot] [PATCH 3/5] package/dpdk: make drivers selectable Maxime Leroy
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Maxime Leroy @ 2025-10-21 12:03 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Jardin, Maxime Leroy

Expose BR2_PACKAGE_DPDK_ENABLE_KMODS to pass Meson -Denable_kmods=.
This controls building DPDK’s out-of-tree kernel modules, which are
deprecated upstream and scheduled for removal.

Signed-off-by: Maxime Leroy <maxime@leroys.fr>
---
 package/dpdk/Config.in | 7 +++++++
 package/dpdk/dpdk.mk   | 7 +++++++
 2 files changed, 14 insertions(+)

diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
index 7d4a002002..5e8f2e001b 100644
--- a/package/dpdk/Config.in
+++ b/package/dpdk/Config.in
@@ -43,6 +43,13 @@ config BR2_PACKAGE_DPDK_EXAMPLES
 config BR2_PACKAGE_DPDK_TESTS
 	bool "Install tests"
 
+config BR2_PACKAGE_DPDK_ENABLE_KMODS
+	bool "Build DPDK kernel modules (deprecated)"
+	help
+	  Enable to build control out-of-tree kernel modules (e.g.
+	  legacy uio/kni). Upstream marks this option as deprecated
+	  and it will be removed in a future release.
+
 endif
 
 comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19"
diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
index 1c7eada937..30d5bcc9ca 100644
--- a/package/dpdk/dpdk.mk
+++ b/package/dpdk/dpdk.mk
@@ -53,6 +53,13 @@ else
 DPDK_CONF_OPTS += -Dtests=false
 endif
 
+# Kernel modules (deprecated upstream)
+ifeq ($(BR2_PACKAGE_DPDK_ENABLE_KMODS),y)
+DPDK_CONF_OPTS += -Denable_kmods=true
+else
+DPDK_CONF_OPTS += -Denable_kmods=false
+endif
+
 ifeq ($(BR2_PACKAGE_LIBBSD),y)
 DPDK_DEPENDENCIES += libbsd
 endif
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH 3/5] package/dpdk: make drivers selectable
  2025-10-21 12:03 [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Maxime Leroy
  2025-10-21 12:03 ` [Buildroot] [PATCH 1/5] package/dpdk: bump to 24.11.3 version Maxime Leroy
  2025-10-21 12:03 ` [Buildroot] [PATCH 2/5] package/dpdk: add toggle for deprecated kernel modules Maxime Leroy
@ 2025-10-21 12:03 ` Maxime Leroy
  2025-11-30 14:33   ` Julien Olivain via buildroot
  2025-10-21 12:03 ` [Buildroot] [PATCH 4/5] package/dpdk: make libraries selectable Maxime Leroy
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Maxime Leroy @ 2025-10-21 12:03 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Jardin, Maxime Leroy

Add BR2_PACKAGE_DPDK_DRIVERS_LIST to control which DPDK applications are
built:
  - empty : use DPDK defaults
  - none  : disable all drivers (-Ddisable_drivers='*/*')
  - list  : pass to -Denable_drivers= (comma-separated)

Signed-off-by: Maxime Leroy <maxime@leroys.fr>
---
 package/dpdk/Config.in | 14 ++++++++++++++
 package/dpdk/dpdk.mk   |  9 +++++++++
 2 files changed, 23 insertions(+)

diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
index 5e8f2e001b..5de1c63937 100644
--- a/package/dpdk/Config.in
+++ b/package/dpdk/Config.in
@@ -50,6 +50,20 @@ config BR2_PACKAGE_DPDK_ENABLE_KMODS
 	  legacy uio/kni). Upstream marks this option as deprecated
 	  and it will be removed in a future release.
 
+config BR2_PACKAGE_DPDK_DRIVERS_LIST
+	string "Comma-separated drivers (e.g. net/virtio,net/ixgbe)"
+	help
+	  Controls which DPDK drivers are built.
+
+	  Values:
+	   (empty): use DPDK defaults
+	   none   : build no drivers
+	   list   : e.g. "net/virtio,net/ixgbe"
+
+	  To list all drivers found in the DPDK source tree:
+	    find drivers -mindepth 2 -maxdepth 2 -type d \
+	    ! -printf '%P\n' | sort
+
 endif
 
 comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19"
diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
index 30d5bcc9ca..9333a67c31 100644
--- a/package/dpdk/dpdk.mk
+++ b/package/dpdk/dpdk.mk
@@ -47,6 +47,15 @@ else
 DPDK_CONF_OPTS += -Dexamples=
 endif
 
+DPDK_DRIVERS := $(call qstrip,$(BR2_PACKAGE_DPDK_DRIVERS_LIST))
+ifneq ($(DPDK_DRIVERS),)
+  ifeq ($(DPDK_DRIVERS),none)
+    DPDK_CONF_OPTS += -Ddisable_drivers='*/*'
+  else
+    DPDK_CONF_OPTS += -Denable_drivers='$(DPDK_DRIVERS)'
+  endif
+endif
+
 ifeq ($(BR2_PACKAGE_DPDK_TESTS),y)
 DPDK_CONF_OPTS += -Dtests=true
 else
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH 4/5] package/dpdk: make libraries selectable
  2025-10-21 12:03 [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Maxime Leroy
                   ` (2 preceding siblings ...)
  2025-10-21 12:03 ` [Buildroot] [PATCH 3/5] package/dpdk: make drivers selectable Maxime Leroy
@ 2025-10-21 12:03 ` Maxime Leroy
  2025-11-30 14:41   ` Julien Olivain via buildroot
  2025-10-21 12:03 ` [Buildroot] [PATCH 5/5] package/dpdk: make apps selectable Maxime Leroy
  2025-10-29 13:44 ` [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Vincent Jardin via buildroot
  5 siblings, 1 reply; 12+ messages in thread
From: Maxime Leroy @ 2025-10-21 12:03 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Jardin, Maxime Leroy

Add BR2_PACKAGE_DPDK_LIBS_LIST to control which DPDK libraries are
built:
  - empty : use DPDK defaults
  - none  : disable all libs (-Ddisable_libs='*')
  - list  : pass to -Denable_libs= (comma-separated)

Signed-off-by: Maxime Leroy <maxime@leroys.fr>
---
 package/dpdk/Config.in | 14 ++++++++++++++
 package/dpdk/dpdk.mk   |  9 +++++++++
 2 files changed, 23 insertions(+)

diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
index 5de1c63937..e311611548 100644
--- a/package/dpdk/Config.in
+++ b/package/dpdk/Config.in
@@ -64,6 +64,20 @@ config BR2_PACKAGE_DPDK_DRIVERS_LIST
 	    find drivers -mindepth 2 -maxdepth 2 -type d \
 	    ! -printf '%P\n' | sort
 
+config BR2_PACKAGE_DPDK_LIBS_LIST
+	string "Comma-separated libraries (e.g. graph,hash,fib)"
+	help
+	  Controls which DPDK libraries are built.
+
+	  Values:
+	    (empty): use DPDK defaults
+	    none   : build no libraries
+	    list   : e.g. "graph,hash,fib"
+
+	  To list all libraries found in the DPDK source tree:
+	    find lib -mindepth 2 -maxdepth 2 -type f -name meson.build \
+	      -printf '%h\n' | xargs -n1 basename | sort -u
+
 endif
 
 comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19"
diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
index 9333a67c31..e54668ca2d 100644
--- a/package/dpdk/dpdk.mk
+++ b/package/dpdk/dpdk.mk
@@ -56,6 +56,15 @@ ifneq ($(DPDK_DRIVERS),)
   endif
 endif
 
+DPDK_LIBS := $(call qstrip,$(BR2_PACKAGE_DPDK_LIBS_LIST))
+ifneq ($(DPDK_LIBS),)
+  ifeq ($(DPDK_LIBS),none)
+    DPDK_CONF_OPTS += -Ddisable_libs='*'
+  else
+    DPDK_CONF_OPTS += -Denable_libs='$(DPDK_LIBS)'
+  endif
+endif
+
 ifeq ($(BR2_PACKAGE_DPDK_TESTS),y)
 DPDK_CONF_OPTS += -Dtests=true
 else
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [Buildroot] [PATCH 5/5] package/dpdk: make apps selectable
  2025-10-21 12:03 [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Maxime Leroy
                   ` (3 preceding siblings ...)
  2025-10-21 12:03 ` [Buildroot] [PATCH 4/5] package/dpdk: make libraries selectable Maxime Leroy
@ 2025-10-21 12:03 ` Maxime Leroy
  2025-11-30 14:49   ` Julien Olivain via buildroot
  2025-10-29 13:44 ` [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Vincent Jardin via buildroot
  5 siblings, 1 reply; 12+ messages in thread
From: Maxime Leroy @ 2025-10-21 12:03 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Jardin, Maxime Leroy

Add BR2_PACKAGE_DPDK_APPS_LIST to control which DPDK applications are
built:
  - empty : use DPDK defaults
  - none  : disable all apps (-Ddisable_apps='*')
  - list  : pass to -Denable_apps= (comma-separated)

Signed-off-by: Maxime Leroy <maxime@leroys.fr>
---
 package/dpdk/Config.in | 14 ++++++++++++++
 package/dpdk/dpdk.mk   |  9 +++++++++
 2 files changed, 23 insertions(+)

diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
index e311611548..feea71a4c3 100644
--- a/package/dpdk/Config.in
+++ b/package/dpdk/Config.in
@@ -78,6 +78,20 @@ config BR2_PACKAGE_DPDK_LIBS_LIST
 	    find lib -mindepth 2 -maxdepth 2 -type f -name meson.build \
 	      -printf '%h\n' | xargs -n1 basename | sort -u
 
+config BR2_PACKAGE_DPDK_APPS_LIST
+	string "Comma-separated applications (e.g. pdump,dumpcap)"
+	help
+	  Controls which DPDK applications are built.
+
+	  Values:
+	    (empty): use DPDK defaults
+	    none   : build no apps
+	    list   : e.g. "pdump,dumpcap"
+
+	  To list all applications found in the DPDK source tree:
+	    find app -mindepth 2 -maxdepth 2 -type f -name meson.build \
+	      -printf '%h\n' | xargs -n1 basename | sort -u
+
 endif
 
 comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19"
diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
index e54668ca2d..8bef616cb3 100644
--- a/package/dpdk/dpdk.mk
+++ b/package/dpdk/dpdk.mk
@@ -65,6 +65,15 @@ ifneq ($(DPDK_LIBS),)
   endif
 endif
 
+DPDK_APPS := $(call qstrip,$(BR2_PACKAGE_DPDK_APPS_LIST))
+ifneq ($(DPDK_APPS),)
+  ifeq ($(DPDK_APPS),none)
+    DPDK_CONF_OPTS += -Ddisable_apps='*'
+  else
+    DPDK_CONF_OPTS += -Denable_apps='$(DPDK_APPS)'
+  endif
+endif
+
 ifeq ($(BR2_PACKAGE_DPDK_TESTS),y)
 DPDK_CONF_OPTS += -Dtests=true
 else
-- 
2.43.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components
  2025-10-21 12:03 [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Maxime Leroy
                   ` (4 preceding siblings ...)
  2025-10-21 12:03 ` [Buildroot] [PATCH 5/5] package/dpdk: make apps selectable Maxime Leroy
@ 2025-10-29 13:44 ` Vincent Jardin via buildroot
  5 siblings, 0 replies; 12+ messages in thread
From: Vincent Jardin via buildroot @ 2025-10-29 13:44 UTC (permalink / raw)
  To: Maxime Leroy; +Cc: buildroot

Hi Maxime,

On Tue, Oct 21, 2025 at 02:03:37PM +0100, Maxime Leroy wrote:
> This series bumps DPDK to 24.11.3 and adds options to enable/disable kernel modules,
> drivers, libraries, and apps, matching Meson’s selection model
> and allowing smaller builds.
> 
> Tested manually on x86_64 and NXP DPAA2.
> CI passed for build and runtime:
> 
>     build: https://gitlab.com/maxime-leroy/buildroot/-/pipelines/2111122925
>     test: https://gitlab.com/maxime-leroy/buildroot/-/pipelines/2111137175

Thanks for sharing with tests.

> 
> Maxime Leroy (5):
>   package/dpdk: bump to 24.11.3 version
>   package/dpdk: add toggle for deprecated kernel modules
>   package/dpdk: make drivers selectable
>   package/dpdk: make libraries selectable
>   package/dpdk: make apps selectable

It is a good idea. It helps to save CO2 and to have quicker compilation
on the targets.

What's about a free definition of DPDK_CONF_OPTS= too ?
For instance:
  DPDK_CONF_OPTS += -Dc_args='-DRTE_LOG_DP_LEVEL=RTE_LOG_DEBUG'
It would be useful tune those for the DPDK too.

It is a minor improvement, it does not prevent from merging into
Buildroot.

LGTM.

Reviewed-by: Vincent Jardin <vjardin@free.fr>

thank you,
  Vincent

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH 1/5] package/dpdk: bump to 24.11.3 version
  2025-10-21 12:03 ` [Buildroot] [PATCH 1/5] package/dpdk: bump to 24.11.3 version Maxime Leroy
@ 2025-11-02 18:27   ` Julien Olivain via buildroot
  0 siblings, 0 replies; 12+ messages in thread
From: Julien Olivain via buildroot @ 2025-11-02 18:27 UTC (permalink / raw)
  To: Maxime Leroy; +Cc: buildroot, Vincent Jardin

On 21/10/2025 14:03, Maxime Leroy wrote:
> See the release note of the new versions:
> - https://doc.dpdk.org/guides-24.11/rel_notes/release_24_11.html#id1
> - https://doc.dpdk.org/guides-24.11/rel_notes/release_24_11.html#id5
> 
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>

I applied this version bump (only) on master.
I'll do more tests with the other patches of this series.

Thanks.  Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH 2/5] package/dpdk: add toggle for deprecated kernel modules
  2025-10-21 12:03 ` [Buildroot] [PATCH 2/5] package/dpdk: add toggle for deprecated kernel modules Maxime Leroy
@ 2025-11-24 12:58   ` Maxime Leroy
  0 siblings, 0 replies; 12+ messages in thread
From: Maxime Leroy @ 2025-11-24 12:58 UTC (permalink / raw)
  To: buildroot; +Cc: Vincent Jardin

Le mar. 21 oct. 2025 à 14:03, Maxime Leroy <maxime@leroys.fr> a écrit :
>
> Expose BR2_PACKAGE_DPDK_ENABLE_KMODS to pass Meson -Denable_kmods=.
> This controls building DPDK’s out-of-tree kernel modules, which are
> deprecated upstream and scheduled for removal.

I am planning to bump the DPDK package to the latest LTS version.
That release should be available soon.

The enable_kmods option has been removed in that version, so I believe
this commit can be dropped — assuming this series is merged before I
send my own series to update the DPDK version.

Regards,

Maxime Leroy
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH 3/5] package/dpdk: make drivers selectable
  2025-10-21 12:03 ` [Buildroot] [PATCH 3/5] package/dpdk: make drivers selectable Maxime Leroy
@ 2025-11-30 14:33   ` Julien Olivain via buildroot
  0 siblings, 0 replies; 12+ messages in thread
From: Julien Olivain via buildroot @ 2025-11-30 14:33 UTC (permalink / raw)
  To: Maxime Leroy; +Cc: buildroot, Vincent Jardin

Hi Maxime,

I finally had some time to test those patches. I have few comments.

On 21/10/2025 14:03, Maxime Leroy wrote:
> Add BR2_PACKAGE_DPDK_DRIVERS_LIST to control which DPDK applications 
> are
> built:
>   - empty : use DPDK defaults
>   - none  : disable all drivers (-Ddisable_drivers='*/*')
>   - list  : pass to -Denable_drivers= (comma-separated)
> 
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> ---
>  package/dpdk/Config.in | 14 ++++++++++++++
>  package/dpdk/dpdk.mk   |  9 +++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
> index 5e8f2e001b..5de1c63937 100644
> --- a/package/dpdk/Config.in
> +++ b/package/dpdk/Config.in
> @@ -50,6 +50,20 @@ config BR2_PACKAGE_DPDK_ENABLE_KMODS
>  	  legacy uio/kni). Upstream marks this option as deprecated
>  	  and it will be removed in a future release.
> 
> +config BR2_PACKAGE_DPDK_DRIVERS_LIST
> +	string "Comma-separated drivers (e.g. net/virtio,net/ixgbe)"

Could you make this string prompt shorter and move the example in
help section? See my suggestion below.

> +	help
> +	  Controls which DPDK drivers are built.
> +
> +	  Values:
> +	   (empty): use DPDK defaults
> +	   none   : build no drivers
> +	   list   : e.g. "net/virtio,net/ixgbe"

Testing the provided example with the commands:

cat >.config <<EOF
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_DPDK=y
BR2_PACKAGE_DPDK_DRIVERS_LIST="net/virtio,net/ixgbe"
EOF
make olddefconfig
make dpdk

Fails with error:

ERROR: Unknown variable "c_args".

Could you provide an example working at least with with the
current version of dpdk in Buildroot (or the upcoming 25.11),
please?

> +
> +	  To list all drivers found in the DPDK source tree:
> +	    find drivers -mindepth 2 -maxdepth 2 -type d \
> +	    ! -printf '%P\n' | sort

Upstream commit [1] for example,
to be included in upcoming 25.11 release reorganized the
structure of the driver directory. So this command to list the
possible drivers might need to be updated after the bump to 25.11.

Also playing a bit with those new options, I noticed enabling
a dpdk component does not enable its internal dpdk dependencies.
So I would suggest to add a comment about that in the help.

With those comments, I suggest the following:

	string "List of enabled drivers"
	help
	  Controls which DPDK drivers are built.

	  Accepted values:
	   (empty): use DPDK defaults
	   none   : build no drivers
	   list   : comma-separated list of drivers to enable
	            e.g. "net/virtio,net/ixgbe"

	  To list all drivers found in the DPDK source tree:
	    find drivers -mindepth 2 -maxdepth 2 -type d \
	    ! -printf '%P\n' | sort

	  Note: providing manually a list of dpdk component to enable
	  does not automatically enable its dependencies (internal or
	  external). It is the user responsiblity to add internal dpdk
	  dependencies in this list, and/or select the relevant
	  Buildroot packages for external dependencies. DPDK
	  configuration will fail in case of missing dependencies.

Please adjust as needed.


> +
>  endif
> 
>  comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers 
> >= 4.19"
> diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
> index 30d5bcc9ca..9333a67c31 100644
> --- a/package/dpdk/dpdk.mk
> +++ b/package/dpdk/dpdk.mk
> @@ -47,6 +47,15 @@ else
>  DPDK_CONF_OPTS += -Dexamples=
>  endif
> 
> +DPDK_DRIVERS := $(call qstrip,$(BR2_PACKAGE_DPDK_DRIVERS_LIST))
> +ifneq ($(DPDK_DRIVERS),)
> +  ifeq ($(DPDK_DRIVERS),none)
> +    DPDK_CONF_OPTS += -Ddisable_drivers='*/*'

With the upstream commit [1], will this '*/*' still work with
a dpdk version 25.11?

> +  else
> +    DPDK_CONF_OPTS += -Denable_drivers='$(DPDK_DRIVERS)'
> +  endif
> +endif
> +
>  ifeq ($(BR2_PACKAGE_DPDK_TESTS),y)
>  DPDK_CONF_OPTS += -Dtests=true
>  else
> --
> 2.43.0

Since the new dpdk version is expected soon, I suggest you
should test those updated patches with it. And possibly
send all those in the same series including the bump.

Best regards,

Julien.

[1] 
https://github.com/DPDK/dpdk/commit/c1d145834f287aa8cf53de914618a7312f2c360e
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH 4/5] package/dpdk: make libraries selectable
  2025-10-21 12:03 ` [Buildroot] [PATCH 4/5] package/dpdk: make libraries selectable Maxime Leroy
@ 2025-11-30 14:41   ` Julien Olivain via buildroot
  0 siblings, 0 replies; 12+ messages in thread
From: Julien Olivain via buildroot @ 2025-11-30 14:41 UTC (permalink / raw)
  To: Maxime Leroy; +Cc: buildroot, Vincent Jardin

Hi Maxime,

I have mostly the same comments as for the dpdk driver
list patch [1].

On 21/10/2025 14:03, Maxime Leroy wrote:
> Add BR2_PACKAGE_DPDK_LIBS_LIST to control which DPDK libraries are
> built:
>   - empty : use DPDK defaults
>   - none  : disable all libs (-Ddisable_libs='*')
>   - list  : pass to -Denable_libs= (comma-separated)
> 
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> ---
>  package/dpdk/Config.in | 14 ++++++++++++++
>  package/dpdk/dpdk.mk   |  9 +++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
> index 5de1c63937..e311611548 100644
> --- a/package/dpdk/Config.in
> +++ b/package/dpdk/Config.in
> @@ -64,6 +64,20 @@ config BR2_PACKAGE_DPDK_DRIVERS_LIST
>  	    find drivers -mindepth 2 -maxdepth 2 -type d \
>  	    ! -printf '%P\n' | sort
> 
> +config BR2_PACKAGE_DPDK_LIBS_LIST
> +	string "Comma-separated libraries (e.g. graph,hash,fib)"

Could you make the prompt a bit shorter by moving the example
in the help section. For example:
	string "List of enabled libraries"

> +	help
> +	  Controls which DPDK libraries are built.
> +
> +	  Values:
> +	    (empty): use DPDK defaults
> +	    none   : build no libraries
> +	    list   : e.g. "graph,hash,fib"

Could you provide a simple working example, please?

Testing the provided example with the commands:

cat >.config <<EOF
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_DPDK=y
BR2_PACKAGE_DPDK_LIBS_LIST="graph,hash,fib"
EOF
make olddefconfig
make dpdk

Fails with error:

ERROR: Problem encountered: Cannot build explicitly requested lib "fib".
	Please add missing dependency "rib" to "enable_libs" option

> +
> +	  To list all libraries found in the DPDK source tree:
> +	    find lib -mindepth 2 -maxdepth 2 -type f -name meson.build \
> +	      -printf '%h\n' | xargs -n1 basename | sort -u

Could you add a comment in the help section about the
dependencies?

> +
>  endif
> 
>  comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers 
> >= 4.19"
> diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
> index 9333a67c31..e54668ca2d 100644
> --- a/package/dpdk/dpdk.mk
> +++ b/package/dpdk/dpdk.mk
> @@ -56,6 +56,15 @@ ifneq ($(DPDK_DRIVERS),)
>    endif
>  endif
> 
> +DPDK_LIBS := $(call qstrip,$(BR2_PACKAGE_DPDK_LIBS_LIST))
> +ifneq ($(DPDK_LIBS),)
> +  ifeq ($(DPDK_LIBS),none)
> +    DPDK_CONF_OPTS += -Ddisable_libs='*'
> +  else
> +    DPDK_CONF_OPTS += -Denable_libs='$(DPDK_LIBS)'
> +  endif
> +endif
> +
>  ifeq ($(BR2_PACKAGE_DPDK_TESTS),y)
>  DPDK_CONF_OPTS += -Dtests=true
>  else
> --
> 2.43.0

Could you send an updated patch to address those issues,
please?

Best regards,

Julien.

[1] 
https://lore.kernel.org/buildroot/019c90d7929f98d2f7da75410b941388@free.fr/T/#u
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [Buildroot] [PATCH 5/5] package/dpdk: make apps selectable
  2025-10-21 12:03 ` [Buildroot] [PATCH 5/5] package/dpdk: make apps selectable Maxime Leroy
@ 2025-11-30 14:49   ` Julien Olivain via buildroot
  0 siblings, 0 replies; 12+ messages in thread
From: Julien Olivain via buildroot @ 2025-11-30 14:49 UTC (permalink / raw)
  To: Maxime Leroy; +Cc: buildroot, Vincent Jardin

Hi Maxime,

I have mostly the same comments as for the dpdk driver
list patch [1].

On 21/10/2025 14:03, Maxime Leroy wrote:
> Add BR2_PACKAGE_DPDK_APPS_LIST to control which DPDK applications are
> built:
>   - empty : use DPDK defaults
>   - none  : disable all apps (-Ddisable_apps='*')
>   - list  : pass to -Denable_apps= (comma-separated)
> 
> Signed-off-by: Maxime Leroy <maxime@leroys.fr>
> ---
>  package/dpdk/Config.in | 14 ++++++++++++++
>  package/dpdk/dpdk.mk   |  9 +++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
> index e311611548..feea71a4c3 100644
> --- a/package/dpdk/Config.in
> +++ b/package/dpdk/Config.in
> @@ -78,6 +78,20 @@ config BR2_PACKAGE_DPDK_LIBS_LIST
>  	    find lib -mindepth 2 -maxdepth 2 -type f -name meson.build \
>  	      -printf '%h\n' | xargs -n1 basename | sort -u
> 
> +config BR2_PACKAGE_DPDK_APPS_LIST
> +	string "Comma-separated applications (e.g. pdump,dumpcap)"

Could you make the prompt a bit shorter by moving the example
in the help section. For example:
	string "List of enabled applications"

> +	help
> +	  Controls which DPDK applications are built.
> +
> +	  Values:
> +	    (empty): use DPDK defaults
> +	    none   : build no apps
> +	    list   : e.g. "pdump,dumpcap"
> +
> +	  To list all applications found in the DPDK source tree:
> +	    find app -mindepth 2 -maxdepth 2 -type f -name meson.build \
> +	      -printf '%h\n' | xargs -n1 basename | sort -u

Could you add a comment in the help section about the
dependencies?

> +
>  endif
> 
>  comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers 
> >= 4.19"
> diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
> index e54668ca2d..8bef616cb3 100644
> --- a/package/dpdk/dpdk.mk
> +++ b/package/dpdk/dpdk.mk
> @@ -65,6 +65,15 @@ ifneq ($(DPDK_LIBS),)
>    endif
>  endif
> 
> +DPDK_APPS := $(call qstrip,$(BR2_PACKAGE_DPDK_APPS_LIST))
> +ifneq ($(DPDK_APPS),)
> +  ifeq ($(DPDK_APPS),none)
> +    DPDK_CONF_OPTS += -Ddisable_apps='*'
> +  else
> +    DPDK_CONF_OPTS += -Denable_apps='$(DPDK_APPS)'
> +  endif
> +endif
> +
>  ifeq ($(BR2_PACKAGE_DPDK_TESTS),y)
>  DPDK_CONF_OPTS += -Dtests=true
>  else
> --
> 2.43.0

Could you send an updated patch to address those issues, please?

Best regards,

Julien.

[1] 
https://lore.kernel.org/buildroot/019c90d7929f98d2f7da75410b941388@free.fr/T/#u
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-11-30 14:49 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-21 12:03 [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Maxime Leroy
2025-10-21 12:03 ` [Buildroot] [PATCH 1/5] package/dpdk: bump to 24.11.3 version Maxime Leroy
2025-11-02 18:27   ` Julien Olivain via buildroot
2025-10-21 12:03 ` [Buildroot] [PATCH 2/5] package/dpdk: add toggle for deprecated kernel modules Maxime Leroy
2025-11-24 12:58   ` Maxime Leroy
2025-10-21 12:03 ` [Buildroot] [PATCH 3/5] package/dpdk: make drivers selectable Maxime Leroy
2025-11-30 14:33   ` Julien Olivain via buildroot
2025-10-21 12:03 ` [Buildroot] [PATCH 4/5] package/dpdk: make libraries selectable Maxime Leroy
2025-11-30 14:41   ` Julien Olivain via buildroot
2025-10-21 12:03 ` [Buildroot] [PATCH 5/5] package/dpdk: make apps selectable Maxime Leroy
2025-11-30 14:49   ` Julien Olivain via buildroot
2025-10-29 13:44 ` [Buildroot] [PATCH 0/5] package/dpdk: version bump and selectable build components Vincent Jardin via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox