]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
xdp-tools: update to 1.6.3 21903/head
authorNick Hainke <vincent@systemli.org>
Fri, 6 Feb 2026 19:48:36 +0000 (20:48 +0100)
committerNick Hainke <vincent@systemli.org>
Fri, 17 Apr 2026 14:39:06 +0000 (16:39 +0200)
Add patch "0001-params-avoid-linux-if_ether.h-in-header-to-fix-musl-.patch".

Release Notes:
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.0
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.1
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.2
- https://github.com/xdp-project/xdp-tools/releases/tag/v1.6.3

Link: https://github.com/openwrt/openwrt/pull/21903
Signed-off-by: Nick Hainke <vincent@systemli.org>
package/network/utils/xdp-tools/Makefile
package/network/utils/xdp-tools/patches/0001-params-avoid-linux-if_ether.h-in-header-to-fix-musl-.patch [new file with mode: 0644]
package/network/utils/xdp-tools/patches/0001-xdp-avoid-stddef.h-and-size_t-in-BPF-headers.patch [deleted file]

index cb7db9decee40f7d88dd9f593dfd645aec2bbf81..fb9ea95458b4ef1956fc1799dda802b6c360414d 100644 (file)
@@ -1,9 +1,9 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xdp-tools
-PKG_RELEASE:=2
-PKG_VERSION:=1.5.8
-PKG_HASH:=e7b9717074c511fef34aab6e22b16af55fb33307505a5785d25a82b542e596ae
+PKG_RELEASE:=1
+PKG_VERSION:=1.6.3
+PKG_HASH:=78da363ff7dcf1a586f47800f16d644022bd33f3844864061a44616fce854fd8
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/xdp-project/xdp-tools/tar.gz/v$(PKG_VERSION)?
diff --git a/package/network/utils/xdp-tools/patches/0001-params-avoid-linux-if_ether.h-in-header-to-fix-musl-.patch b/package/network/utils/xdp-tools/patches/0001-params-avoid-linux-if_ether.h-in-header-to-fix-musl-.patch
new file mode 100644 (file)
index 0000000..1fee5e9
--- /dev/null
@@ -0,0 +1,30 @@
+From: Nick Hainke <vincent@systemli.org>
+Subject: [PATCH] params: avoid linux/if_ether.h in header to fix musl build
+
+On musl-based toolchains (e.g. MIPS), including <linux/if_ether.h>
+from params.h triggers a chain through net/ethernet.h ->
+netinet/if_ether.h which also defines struct ethhdr, causing a
+redefinition conflict with the direct <linux/if_ether.h> include in
+params.c.
+
+params.h only uses ETH_ALEN from that header, so define it directly
+to avoid the conflict.
+
+Signed-off-by: Nick Hainke <vincent@systemli.org>
+---
+ lib/util/params.h | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/lib/util/params.h
++++ b/lib/util/params.h
+@@ -8,7 +8,9 @@
+ #include <stdlib.h>
+ #include <linux/in.h>
+ #include <linux/in6.h>
+-#include <linux/if_ether.h>
++#ifndef ETH_ALEN
++#define ETH_ALEN 6
++#endif
+ #include <bpf/libbpf.h>
+ enum option_type {
diff --git a/package/network/utils/xdp-tools/patches/0001-xdp-avoid-stddef.h-and-size_t-in-BPF-headers.patch b/package/network/utils/xdp-tools/patches/0001-xdp-avoid-stddef.h-and-size_t-in-BPF-headers.patch
deleted file mode 100644 (file)
index e32e8a4..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From a90c30902e6dc4d220738248dd7785e51bb19904 Mon Sep 17 00:00:00 2001
-From: Nick Hainke <vincent@systemli.org>
-Date: Tue, 10 Feb 2026 19:59:42 +0100
-Subject: [PATCH] xdp: avoid stddef.h and size_t in BPF headers
-
-Remove <stddef.h> includes that break BPF builds on some toolchains.
-Replace size_t in xdp_sample_shared.h with unsigned long long to keep
-structs usable without stddef definitions.
-
-Signed-off-by: Nick Hainke <vincent@systemli.org>
----
- headers/xdp/parsing_helpers.h       |  1 -
- headers/xdp/xdp_sample_common.bpf.h |  1 -
- headers/xdp/xdp_sample_shared.h     | 16 +++++++---------
- 3 files changed, 7 insertions(+), 11 deletions(-)
-
---- a/headers/xdp/parsing_helpers.h
-+++ b/headers/xdp/parsing_helpers.h
-@@ -15,7 +15,6 @@
- #ifndef __PARSING_HELPERS_H
- #define __PARSING_HELPERS_H
--#include <stddef.h>
- #include <linux/if_ether.h>
- #include <linux/if_packet.h>
- #include <linux/ip.h>
---- a/headers/xdp/xdp_sample_common.bpf.h
-+++ b/headers/xdp/xdp_sample_common.bpf.h
-@@ -6,7 +6,6 @@
- #include "xdp_sample.bpf.h"
- #include <bpf/vmlinux.h>
--#include <stddef.h>
- #include <stdbool.h>
- #include <bpf/bpf_tracing.h>
- #include <bpf/bpf_core_read.h>
---- a/headers/xdp/xdp_sample_shared.h
-+++ b/headers/xdp/xdp_sample_shared.h
-@@ -2,18 +2,16 @@
- #ifndef _XDP_SAMPLE_SHARED_H
- #define _XDP_SAMPLE_SHARED_H
--#include <stddef.h>
--
- struct datarec {
--      size_t processed;
--      size_t dropped;
--      size_t issue;
-+      unsigned long long processed;
-+      unsigned long long dropped;
-+      unsigned long long issue;
-       union {
--              size_t xdp_pass;
--              size_t info;
-+              unsigned long long xdp_pass;
-+              unsigned long long info;
-       };
--      size_t xdp_drop;
--      size_t xdp_redirect;
-+      unsigned long long xdp_drop;
-+      unsigned long long xdp_redirect;
- } __attribute__((aligned(64)));
- #endif