--- /dev/null
+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 {
+++ /dev/null
-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