nhrpd: workaround old kernel vs. glibc definition conflics
fixes #908
With kernel-headers-3.10.0 we have:
In file included from netlink_gre.c:15:0:
/usr/include/linux/ipv6.h:19:8: error: redefinition of 'struct in6_pktinfo'
struct in6_pktinfo {
^
In file included from netlink_gre.c:10:0:
/usr/include/netinet/in.h:536:8: note: originally defined here
struct in6_pktinfo
^
In file included from netlink_gre.c:15:0:
/usr/include/linux/ipv6.h:24:8: error: redefinition of 'struct ip6_mtuinfo'
struct ip6_mtuinfo {
^
In file included from netlink_gre.c:10:0:
/usr/include/netinet/in.h:543:8: note: originally defined here
struct ip6_mtuinfo
So instead of libc's netinet/in.h include kernel's linux/in.h
and the add sys/socket.h for struct sockaddr since it does not
seem to be defined in kernel headers.
diff --git a/nhrpd/netlink_gre.c b/nhrpd/netlink_gre.c
index 7cd30aa..93998dc 100644
--- a/nhrpd/netlink_gre.c
+++ b/nhrpd/netlink_gre.c
@@ -7,9 +7,10 @@
* (at your option) any later version.
*/
-#include <netinet/in.h>
+#include <sys/socket.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
+#include <linux/in.h>
#include <linux/if.h>
#include <linux/ip.h>
#include <linux/ipv6.h>