@@ -, +, @@ --- configure.ac | 1 + device-linux.c | 8 ++++++++ includes.h | 6 ++++++ 3 files changed, 15 insertions(+) --- a/configure.ac +++ a/configure.ac @@ -156,6 +156,7 @@ AC_HEADER_STDC AC_CHECK_HEADERS( \ getopt.h \ ifaddrs.h \ + linux/if_arp.h \ machine/limits.h \ machine/param.h \ net/if_arp.h \ --- a/device-linux.c +++ a/device-linux.c @@ -79,10 +79,12 @@ int update_device_info(int sock, struct Interface *iface) iface->sllao.if_maxmtu = -1; break; #endif /* ARPHDR_ARCNET */ +#ifdef ARPHRD_IEEE802154 case ARPHRD_IEEE802154: iface->sllao.if_hwaddr_len = 64; iface->sllao.if_prefix_len = 64; break; +#endif default: iface->sllao.if_hwaddr_len = -1; iface->sllao.if_prefix_len = -1; @@ -371,9 +373,15 @@ static char const *hwstr(unsigned short sa_family) case ARPHRD_IEEE802154: rc = "ARPHRD_IEEE802154"; break; +#if ARPHRD_IEEE802154_MONITOR + case ARPHRD_IEEE802154_MONITOR: + rc = "ARPHRD_IEEE802154_MONITOR"; + break; +#elif ARPHRD_IEEE802154_PHY case ARPHRD_IEEE802154_PHY: rc = "ARPHRD_IEEE802154_PHY"; break; +#endif case ARPHRD_VOID: rc = "ARPHRD_VOID"; break; --- a/includes.h +++ a/includes.h @@ -81,9 +81,11 @@ #ifdef HAVE_NET_IF_DL_H #include #endif + #ifdef HAVE_NET_IF_TYPES_H #include #endif + #if defined(HAVE_NET_IF_ARP_H) && !defined(ARPHRD_ETHER) #include #endif /* defined(HAVE_NET_IF_ARP_H) && !defined(ARPHRD_ETHER) */ @@ -100,3 +102,7 @@ #include #endif +#ifdef HAVE_LINUX_IF_ARP_H +#include +#endif + --