diff options
authorBaruch Siach <>2018-05-04 12:46:52 +0300
committerPablo Neira Ayuso <>2018-05-08 14:33:23 +0200
commit9fff3d5f9da00255463d28b38d688c25025b7fb1 (patch)
parentb1cdae87f25021eb835872d86d6e7206bd421c3f (diff)
include: Fix musl libc compatibility
Conflicting definitions of struct ethhdr between the kernel and musl libc provides headers causes a build failure: In file included from .../usr/include/netinet/ether.h:8:0, from useful_functions.c:28: .../usr/include/netinet/if_ether.h:107:8: error: redefinition of ‘struct ethhdr’ struct ethhdr { ^~~~~~ In file included from include/linux/netfilter_bridge.h:8:0, from include/linux/netfilter_bridge/ebtables.h:17, from include/ebtables_u.h:27, from useful_functions.c:25: include/linux/if_ether.h:119:8: note: originally defined here struct ethhdr { ^~~~~~ Recent enough versions kernel headers allow the libc to suppress conflicting kernel definitions. Include the libc proivded netinet/ether.h before kernel headers to suppress the conflicting definition of struct ethhdr. Signed-off-by: Baruch Siach <> Signed-off-by: Pablo Neira Ayuso <>
1 files changed, 1 insertions, 0 deletions
diff --git a/include/ebtables_u.h b/include/ebtables_u.h
index c858996..4824a14 100644
--- a/include/ebtables_u.h
+++ b/include/ebtables_u.h
@@ -24,6 +24,7 @@
#ifndef EBTABLES_U_H
#define EBTABLES_U_H
#include <netinet/in.h>
+#include <netinet/ether.h>
#include <linux/netfilter_bridge/ebtables.h>
#include <linux/netfilter/x_tables.h>