blob: 23b02848e23564689faeb0380327592fd8b2a86d [file] [log] [blame]
From f937049ea82ac74635861b3a780d1372f681cc6b Mon Sep 17 00:00:00 2001
From: Baruch Siach <baruch@tkos.co.il>
Date: Sun, 16 Apr 2017 08:18:10 +0300
Subject: [PATCH] pcap_io.h: fix if_arp.h musl libc/kernel headers conflict
Use libc provided arp definitions to avoid build failure with musl libc:
In file included from pcap_io.h:19:0,
from trafgen.c:59:
.../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/linux/if_arp.h:113:8: error: redefinition of struct arpreq
struct arpreq {
^
In file included from .../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/netinet/if_ether.h:111:0,
from .../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/net/ethernet.h:10,
from trafgen.c:23:
.../usr/x86_64-buildroot-linux-musl/sysroot/usr/include/net/if_arp.h:99:8: note: originally defined here
struct arpreq {
^
Add a local definition of the ARPHRD_CAN macro that glibc does not provide.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Patch status: sent upstream
http://www.mail-archive.com/netsniff-ng%40googlegroups.com/msg01974.html
built_in.h | 4 ++++
pcap_io.h | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/built_in.h b/built_in.h
index d10579abd689..fa8af60d6029 100644
--- a/built_in.h
+++ b/built_in.h
@@ -382,6 +382,10 @@ static inline u64 cpu_to_le64(u64 val)
# define PACKET_QDISC_BYPASS 20
#endif
+#ifndef ARPHRD_CAN
+# define ARPHRD_CAN 280
+#endif
+
#ifndef ARPHRD_IEEE802154_MONITOR
# define ARPHRD_IEEE802154_MONITOR 805
#endif
diff --git a/pcap_io.h b/pcap_io.h
index 3d70b217ada6..088858e89ccd 100644
--- a/pcap_io.h
+++ b/pcap_io.h
@@ -16,7 +16,7 @@
#include <sys/socket.h>
#include <linux/if.h>
#include <linux/if_packet.h>
-#include <linux/if_arp.h>
+#include <net/if_arp.h>
#include "built_in.h"
#include "die.h"
--
2.11.0