[Buildroot] [git commit branch/2020.05.x] package/collectd: add DPDK_TELEMETRY option

Peter Korsgaard peter at korsgaard.com
Fri Aug 28 16:48:08 UTC 2020


commit: https://git.buildroot.net/buildroot/commit/?id=47d2b5fd449737b37418e41e51f377b10aacaf1d
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/2020.05.x

DPDK support is available since version 5.11.0 and
https://github.com/collectd/collectd/commit/00cbd4d2c016a676db476ae66bbc58d6bf11a6a0

It depends on jansson and is currently enabled by default raising the
following build failure on musl:

src/dpdk_telemetry.c:43:10: fatal error: sys/unistd.h: No such file or directory
 #include <sys/unistd.h>
          ^~~~~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/aafb8c72f147fefc7a988c45e4dc17de48b07a95

Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
(cherry picked from commit 44e0b6014f7e67901af346af8f6a9452b095ddd5)
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 ...01-src-dpdk_telemetry.c-fix-build-on-musl.patch | 37 ++++++++++++++++++++++
 package/collectd/Config.in                         |  7 ++++
 package/collectd/collectd.mk                       |  5 +++
 3 files changed, 49 insertions(+)

diff --git a/package/collectd/0001-src-dpdk_telemetry.c-fix-build-on-musl.patch b/package/collectd/0001-src-dpdk_telemetry.c-fix-build-on-musl.patch
new file mode 100644
index 0000000000..8378cd0d33
--- /dev/null
+++ b/package/collectd/0001-src-dpdk_telemetry.c-fix-build-on-musl.patch
@@ -0,0 +1,37 @@
+From 70318d6bcf7ef89e1a73fc775d33f4c854aed484 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+Date: Tue, 14 Apr 2020 14:49:19 +0200
+Subject: [PATCH] src/dpdk_telemetry.c: fix build on musl
+
+Include unistd.h instead of sys/unistd.h to fix the following build
+failure on musl:
+
+src/dpdk_telemetry.c:43:10: fatal error: sys/unistd.h: No such file or directory
+ #include <sys/unistd.h>
+          ^~~~~~~~~~~~~~
+
+Fixes:
+ - http://autobuild.buildroot.org/results/aafb8c72f147fefc7a988c45e4dc17de48b07a95
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
+[Upstream status: https://github.com/collectd/collectd/pull/3439]
+---
+ src/dpdk_telemetry.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/dpdk_telemetry.c b/src/dpdk_telemetry.c
+index b46e8574..cfee5f12 100755
+--- a/src/dpdk_telemetry.c
++++ b/src/dpdk_telemetry.c
+@@ -40,7 +40,7 @@
+ #include <sys/queue.h>
+ #include <sys/socket.h>
+ #include <sys/un.h>
+-#include <sys/unistd.h>
++#include <unistd.h>
+ 
+ #define BUF_SIZE 100000
+ #define PLUGIN_NAME "dpdk_telemetry"
+-- 
+2.25.1
+
diff --git a/package/collectd/Config.in b/package/collectd/Config.in
index 188be3c0fb..771beced85 100644
--- a/package/collectd/Config.in
+++ b/package/collectd/Config.in
@@ -210,6 +210,13 @@ config BR2_PACKAGE_COLLECTD_DNS
 	help
 	  Collects statistics of DNS traffic using libpcap.
 
+config BR2_PACKAGE_COLLECTD_DPDK_TELEMETRY
+	bool "dpdk_telemetry"
+	select BR2_PACKAGE_JANSSON
+	help
+	  Collects DPDK ethernet device metrics via dpdk_telemetry
+	  library.
+
 config BR2_PACKAGE_COLLECTD_DRBD
 	bool "drbd"
 	help
diff --git a/package/collectd/collectd.mk b/package/collectd/collectd.mk
index 24cdad7e1b..52b218e139 100644
--- a/package/collectd/collectd.mk
+++ b/package/collectd/collectd.mk
@@ -66,6 +66,7 @@ COLLECTD_CONF_OPTS += \
 	$(if $(BR2_PACKAGE_COLLECTD_DF),--enable-df,--disable-df) \
 	$(if $(BR2_PACKAGE_COLLECTD_DISK),--enable-disk,--disable-disk) \
 	$(if $(BR2_PACKAGE_COLLECTD_DNS),--enable-dns,--disable-dns) \
+	$(if $(BR2_PACKAGE_COLLECTD_DPDK_TELEMETRY),--enable-dpdk_telemetry,--disable-dpdk_telemetry) \
 	$(if $(BR2_PACKAGE_COLLECTD_DRBD),--enable-drbd,--disable-drbd) \
 	$(if $(BR2_PACKAGE_COLLECTD_EMPTY_COUNTER),--enable-match_empty_counter,--disable-match_empty_counter) \
 	$(if $(BR2_PACKAGE_COLLECTD_ENTROPY),--enable-entropy,--disable-entropy) \
@@ -156,6 +157,7 @@ COLLECTD_DEPENDENCIES = \
 	$(if $(BR2_PACKAGE_COLLECTD_CURL_JSON),libcurl yajl) \
 	$(if $(BR2_PACKAGE_COLLECTD_CURL_XML),libcurl libxml2) \
 	$(if $(BR2_PACKAGE_COLLECTD_DNS),libpcap) \
+	$(if $(BR2_PACKAGE_COLLECTD_DPKD_TELEMETRY),jansson) \
 	$(if $(BR2_PACKAGE_COLLECTD_GPS),gpsd) \
 	$(if $(BR2_PACKAGE_COLLECTD_GRPC),grpc) \
 	$(if $(BR2_PACKAGE_COLLECTD_IPTABLES),iptables) \
@@ -186,6 +188,9 @@ COLLECTD_DEPENDENCIES = \
 ifeq ($(BR2_PACKAGE_GRPC),y)
 COLLECTD_CONF_OPTS += --with-libgrpc++=$(STAGING_DIR)/usr
 endif
+ifeq ($(BR2_PACKAGE_JANSSON),y)
+COLLECTD_CONF_OPTS += --with-libjansson=$(STAGING_DIR)/usr
+endif
 ifeq ($(BR2_PACKAGE_LIBCURL),y)
 COLLECTD_CONF_OPTS += --with-libcurl=$(STAGING_DIR)/usr
 endif


More information about the buildroot mailing list