diff options
| author | Nick Hainke | 2026-02-10 20:15:15 +0000 |
|---|---|---|
| committer | Nick Hainke | 2026-02-11 07:22:32 +0000 |
| commit | c752525511bbbee0b77b9d5f9ea7c25bb28de21b (patch) | |
| tree | 2e20451629ef25eeca782e550f9fca81d48881e7 | |
| parent | f9320e8d2d3974f992b803437f7a750b000000f0 (diff) | |
| download | openwrt-c752525511bbbee0b77b9d5f9ea7c25bb28de21b.tar.gz | |
xdp-tools: add patch to fix stddef.h build issue
Add a patch that avoids including <stddef.h> in BPF headers, fixing
build failures on OpenWrt toolchains where the header is unavailable:
In file included from xdpfilt_dny_udp.c:10:
In file included from ./xdpfilt_prog.h:24:
../lib/../headers/xdp/parsing_helpers.h:18:10: fatal error: 'stddef.h' file not found
18 | #include <stddef.h>
| ^~~~~~~~~~
1 error generated.
make[5]: *** [../lib/common.mk:111: xdpfilt_dny_udp.o] Error 1
make[4]: *** [Makefile:40: xdp-filter] Error 2
Link: https://github.com/openwrt/openwrt/pull/21972
Signed-off-by: Nick Hainke <vincent@systemli.org>
| -rw-r--r-- | package/network/utils/xdp-tools/patches/0001-xdp-avoid-stddef.h-and-size_t-in-BPF-headers.patch | 64 |
1 files changed, 64 insertions, 0 deletions
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 new file mode 100644 index 0000000000..e32e8a458b --- /dev/null +++ b/package/network/utils/xdp-tools/patches/0001-xdp-avoid-stddef.h-and-size_t-in-BPF-headers.patch @@ -0,0 +1,64 @@ +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 |