803fb7
From eceb99d70a7c0916cb626dfbcb50894e1f4e9431 Mon Sep 17 00:00:00 2001
803fb7
From: Michael Olbrich <m.olbrich@pengutronix.de>
803fb7
Date: Mon, 9 Mar 2015 12:27:25 +0100
803fb7
Subject: [PATCH] missing.h: add NDA_*
803fb7
803fb7
This is necessary to build with older kernel headers. NDA_VLAN was
803fb7
introduced in v3.9 and NDA_PORT, NDA_VNI and NDA_IFINDEX in v3.10
803fb7
803fb7
(cherry picked from commit cf1755bac0426132c21fdca519a336ce7d920277)
803fb7
---
803fb7
 configure.ac         |  4 +++-
803fb7
 src/shared/missing.h | 16 ++++++++++++++++
803fb7
 2 files changed, 19 insertions(+), 1 deletion(-)
803fb7
803fb7
diff --git a/configure.ac b/configure.ac
803fb7
index 3201428c4..081ed0f6e 100644
803fb7
--- a/configure.ac
803fb7
+++ b/configure.ac
803fb7
@@ -334,7 +334,8 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
803fb7
                 IFLA_VXLAN_LOCAL6,
803fb7
                 IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
803fb7
                 IFLA_BRIDGE_VLAN_INFO,
803fb7
-                IFLA_BRPORT_UNICAST_FLOOD],
803fb7
+                IFLA_BRPORT_UNICAST_FLOOD,
803fb7
+                NDA_IFINDEX],
803fb7
 [], [], [[
803fb7
 #include <inttypes.h>
803fb7
 #include <netinet/in.h>
803fb7
@@ -345,6 +346,7 @@ AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE,
803fb7
 #include <linux/if_tunnel.h>
803fb7
 #include <linux/if_link.h>
803fb7
 #include <linux/if_bridge.h>
803fb7
+#include <linux/neighbour.h>
803fb7
 ]])
803fb7
 
803fb7
 # This makes sure pkg.m4 is available.
803fb7
diff --git a/src/shared/missing.h b/src/shared/missing.h
803fb7
index 8cb0b2c96..6ef4dbdf4 100644
803fb7
--- a/src/shared/missing.h
803fb7
+++ b/src/shared/missing.h
803fb7
@@ -35,6 +35,7 @@
803fb7
 #include <linux/loop.h>
803fb7
 #include <linux/audit.h>
803fb7
 #include <linux/capability.h>
803fb7
+#include <linux/neighbour.h>
803fb7
 
803fb7
 #ifdef HAVE_AUDIT
803fb7
 #include <libaudit.h>
803fb7
@@ -687,6 +688,21 @@ static inline int setns(int fd, int nstype) {
803fb7
 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
803fb7
 #endif
803fb7
 
803fb7
+#if !HAVE_DECL_NDA_IFINDEX
803fb7
+#define NDA_UNSPEC 0
803fb7
+#define NDA_DST 1
803fb7
+#define NDA_LLADDR 2
803fb7
+#define NDA_CACHEINFO 3
803fb7
+#define NDA_PROBES 4
803fb7
+#define NDA_VLAN 5
803fb7
+#define NDA_PORT 6
803fb7
+#define NDA_VNI 7
803fb7
+#define NDA_IFINDEX 8
803fb7
+#define __NDA_MAX 9
803fb7
+
803fb7
+#define NDA_MAX (__NDA_MAX - 1)
803fb7
+#endif
803fb7
+
803fb7
 #ifndef IPV6_UNICAST_IF
803fb7
 #define IPV6_UNICAST_IF 76
803fb7
 #endif