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