All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/dpdk: add 24.03
@ 2024-08-15 21:26 Vincent Jardin
  2024-08-17  8:29 ` Thomas Petazzoni via buildroot
  0 siblings, 1 reply; 31+ messages in thread
From: Vincent Jardin @ 2024-08-15 21:26 UTC (permalink / raw)
  To: buildroot; +Cc: Eric Le Bihan, Vincent JARDIN

From: Vincent JARDIN <vjardin@free.fr>

This commit adds the integration of the Data Plane Development Kit (DPDK),
a suite of libraries and drivers designed for high-performance packet
processing from the user space. DPDK enables direct packet steering from
some network interfaces to the userland, bypassing the Linux kernel
network stack. This is achieved through userland PCI drivers or by
leveraging some userland memory mappings of the network devices.

Originally inspired by RDMA (Remote Direct Memory Access) concepts, DPDK
has been adapted to work with PCI devices that do not inherently support
RDMA. This adaptation allows for low-latency, high-throughput data
processing by minimizing the overhead typically associated with
kernel-space network drivers.

Importantly, this commit does not enforce the use of UIO or VFIO
kernel frameworks, as DPDK's architecture supports userland memory
mappings that do not require these technologies. By maintaining this
flexibility, DPDK can operate with a broader range of hardware and
software configurations, making it suitable for diverse Buildroot's
deployment scenarios.

Signed-off-by: Vincent Jardin <vjardin@free.fr>
---
 package/Config.in      |  1 +
 package/dpdk/Config.in | 14 ++++++++++++++
 package/dpdk/dpdk.hash |  1 +
 package/dpdk/dpdk.mk   | 39 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 55 insertions(+)
 create mode 100644 package/dpdk/Config.in
 create mode 100644 package/dpdk/dpdk.hash
 create mode 100644 package/dpdk/dpdk.mk

diff --git a/package/Config.in b/package/Config.in
index f2c63ffb6e..5b21805e9f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1990,6 +1990,7 @@ menu "Networking"
 	source "package/daq3/Config.in"
 	source "package/davici/Config.in"
 	source "package/dht/Config.in"
+	source "package/dpdk/Config.in"
 	source "package/enet/Config.in"
 	source "package/filemq/Config.in"
 	source "package/fmlib/Config.in"
diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in
new file mode 100644
index 0000000000..56dcb42a33
--- /dev/null
+++ b/package/dpdk/Config.in
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_DPDK
+	bool "dpdk"
+	depends on BR2_TOOLCHAIN_HAS_THREADS # glibc or uClibc toolchain required
+	select BR2_PACKAGE_HOST_PYTHON_PYELFTOOLS
+	select BR2_PACKAGE_LIBBSD
+	select BR2_PACKAGE_LIBEXECINFO
+	select BR2_PACKAGE_JANSSON
+	select BR2_PACKAGE_LIBPCAP
+	select BR2_PACKAGE_ZLIB
+	help
+	  DPDK (Data Plane Development Kit) is a set of libraries
+	  and drivers for fast packet processing.
+
+	  http://dpdk.org/
diff --git a/package/dpdk/dpdk.hash b/package/dpdk/dpdk.hash
new file mode 100644
index 0000000000..fd8ab5a6aa
--- /dev/null
+++ b/package/dpdk/dpdk.hash
@@ -0,0 +1 @@
+sha256  33ed973b3945af4f5923096ddca250b401dc80be3b5c6393b4e4fe43a1a6c2ad  dpdk-24.03.tar.xz
diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk
new file mode 100644
index 0000000000..56adcf1d00
--- /dev/null
+++ b/package/dpdk/dpdk.mk
@@ -0,0 +1,39 @@
+################################################################################
+#
+# DPDK
+#
+################################################################################
+
+# DPDK_VERSION = main
+# DPDK_SITE = https://dpdk.org/git/dpdk
+# DPDK_SITE_METHOD = git
+DPDK_VERSION ?= 24.03
+DPDK_SOURCE = dpdk-$(DPDK_VERSION).tar.xz
+DPDK_SITE = http://fast.dpdk.org/rel
+DPDK_LICENSE = BSD-3-Clause
+DPDK_LICENSE_FILES = license/bsd-3-clause.txt license/README license/bsd-2-clause.txt license/exceptions.txt license/gpl-2.0.txt license/isc.txt license/lgpl-2.1.txt license/mit.txt
+
+DPDK_DEPENDENCIES += host-pkgconf
+DPDK_DEPENDENCIES += host-python-pyelftools
+DPDK_DEPENDENCIES += libbsd
+DPDK_DEPENDENCIES += libexecinfo
+DPDK_DEPENDENCIES += jansson
+DPDK_DEPENDENCIES += libpcap
+DPDK_DEPENDENCIES += zlib
+#not yet DPDK_DEPENDENCIES += openssl
+#not yet DPDK_DEPENDENCIES += libbpf
+
+DPDK_MARCH = $(BR2_ARCH)
+DPDK_MTUNE = $(BR2_ARCH) # not used yet
+GCC_TARGET_CPU=$(BR2_GCC_TARGET_ARCH)
+
+# see meson_options.txt from DPDK
+#
+DPDK_CONF_OPTS += -Ddeveloper_mode=enabled
+
+DPDK_CONF_OPTS += -Dcpu_instruction_set=$(DPDK_MARCH)
+
+# platform can be: native, all, cn9k, cn10k
+DPDK_CONF_OPTS += -Dplatform=generic
+
+$(eval $(meson-package))
-- 
2.46.0

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

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

end of thread, other threads:[~2024-10-23 19:24 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-15 21:26 [Buildroot] [PATCH 1/1] package/dpdk: add 24.03 Vincent Jardin
2024-08-17  8:29 ` Thomas Petazzoni via buildroot
2024-08-19 22:11   ` [Buildroot] [PATCH v2 0/1] add DPDK libraries Vincent Jardin
2024-08-19 22:11   ` [Buildroot] [PATCH v2 1/1] package/dpdk: add 24.03 Vincent Jardin
2024-08-25 21:00     ` Julien Olivain
2024-08-27  1:12       ` Vincent Jardin
2024-08-27  0:38     ` [Buildroot] [PATCH v3 0/1] add DPDK libraries Vincent Jardin
2024-08-27  0:38       ` [Buildroot] [PATCH v3 1/1] package/dpdk: add 24.07 Vincent Jardin
2024-08-28 10:21         ` [Buildroot] [PATCH v4 0/1] add DPDK libraries Vincent Jardin
2024-08-28 10:21           ` [Buildroot] [PATCH v4 1/1] package/dpdk: add 24.07 Vincent Jardin
2024-09-06 22:33             ` Julien Olivain
2024-09-07  6:44               ` Vincent Jardin
2024-09-09 12:58             ` [Buildroot] [PATCH v5 0/1] add DPDK libraries Vincent Jardin
2024-09-09 12:58               ` [Buildroot] [PATCH v5 1/1] package/dpdk: add 24.07 Vincent Jardin
2024-09-14 19:56                 ` Julien Olivain
2024-09-15 14:30                   ` [Buildroot] [PATCH v6 0/1] add DPDK libraries Vincent Jardin
2024-09-15 14:30                     ` [Buildroot] [PATCH v6 1/1] package/dpdk: add 24.07 Vincent Jardin
2024-09-15 17:51                       ` Julien Olivain
2024-09-15 22:30                       ` Yann E. MORIN
2024-09-23 17:20                         ` [Buildroot] [PATCH v7 0/1] add DPDK libraries Vincent Jardin
2024-09-23 17:20                           ` [Buildroot] [PATCH v7 1/1] package/dpdk: add 24.07 Vincent Jardin
2024-09-23 19:10                             ` Arnout Vandecappelle via buildroot
2024-09-24 14:53                               ` Vincent Jardin
2024-09-24 15:24                                 ` [Buildroot] [PATCH v8 0/1] add DPDK libraries Vincent Jardin
2024-09-24 15:24                                   ` [Buildroot] [PATCH v8 1/1] package/dpdk: add 24.07 Vincent Jardin
2024-10-02 21:58                                     ` Julien Olivain
2024-10-15 23:30                                       ` Vincent Jardin
2024-10-23 19:23                                     ` Julien Olivain
2024-09-30 13:41                                   ` [Buildroot] [PATCH v8 0/1] add DPDK libraries Vincent Jardin
2024-09-04 19:44           ` [Buildroot] [PATCH v4 " Vincent Jardin
2024-08-19 22:20   ` [Buildroot] [PATCH 1/1] package/dpdk: add 24.03 Vincent Jardin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.