]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Include local lwtunnel.h unless found in system
authorJan Moskyto Matejka <mq@ucw.cz>
Wed, 5 Apr 2017 12:15:43 +0000 (14:15 +0200)
committerJan Moskyto Matejka <mq@ucw.cz>
Wed, 12 Apr 2017 14:04:22 +0000 (16:04 +0200)
configure.in
sysdep/autoconf.h.in
sysdep/linux/lwtunnel.h [new file with mode: 0644]
sysdep/linux/netlink.c

index af9c452d28470152b6d30c3a592dcdcd39a35680..c37a0264ed9a4c8e8146341bc9be1fc2d8425db7 100644 (file)
@@ -218,6 +218,7 @@ esac
 
 AC_CHECK_HEADER(syslog.h, [AC_DEFINE(HAVE_SYSLOG)])
 AC_CHECK_HEADER(alloca.h, [AC_DEFINE(HAVE_ALLOCA_H)])
+AC_CHECK_HEADER([linux/lwtunnel.h], [AC_DEFINE(HAVE_LWTUNNEL)])
 AC_MSG_CHECKING(whether 'struct sockaddr' has sa_len)
 AC_TRY_COMPILE([#include <sys/types.h>
   #include <sys/socket.h>
index 4887c4335092cc9652f75f7b29f3436a55b7af52..6f58084683c183a6b0f73abc755443cfd4a98f67 100644 (file)
@@ -74,4 +74,7 @@
 /* We have LibSSH */
 #undef HAVE_LIBSSH
 
+/* We have linux lwtunnel */
+#undef HAVE_LWTUNNEL
+
 #define CONFIG_PATH ?
diff --git a/sysdep/linux/lwtunnel.h b/sysdep/linux/lwtunnel.h
new file mode 100644 (file)
index 0000000..7cea3cb
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef _LWTUNNEL_H_
+#define _LWTUNNEL_H_
+
+#include <linux/types.h>
+
+enum lwtunnel_encap_types {
+       LWTUNNEL_ENCAP_NONE,
+       LWTUNNEL_ENCAP_MPLS,
+       LWTUNNEL_ENCAP_IP,
+       LWTUNNEL_ENCAP_ILA,
+       LWTUNNEL_ENCAP_IP6,
+       __LWTUNNEL_ENCAP_MAX,
+};
+
+#define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
+
+enum lwtunnel_ip_t {
+       LWTUNNEL_IP_UNSPEC,
+       LWTUNNEL_IP_ID,
+       LWTUNNEL_IP_DST,
+       LWTUNNEL_IP_SRC,
+       LWTUNNEL_IP_TTL,
+       LWTUNNEL_IP_TOS,
+       LWTUNNEL_IP_FLAGS,
+       LWTUNNEL_IP_PAD,
+       __LWTUNNEL_IP_MAX,
+};
+
+#define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
+
+enum lwtunnel_ip6_t {
+       LWTUNNEL_IP6_UNSPEC,
+       LWTUNNEL_IP6_ID,
+       LWTUNNEL_IP6_DST,
+       LWTUNNEL_IP6_SRC,
+       LWTUNNEL_IP6_HOPLIMIT,
+       LWTUNNEL_IP6_TC,
+       LWTUNNEL_IP6_FLAGS,
+       LWTUNNEL_IP6_PAD,
+       __LWTUNNEL_IP6_MAX,
+};
+
+#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
+
+#endif /* _LWTUNNEL_H_ */
index e20512f5c326f3d69667944f39f485cc1ff12a34..bed97331a7d2ff7a33ed2c0af5dd105b5e1227b4 100644 (file)
 
 #include <asm/types.h>
 #include <linux/if.h>
+#ifdef HAVE_LWTUNNEL
 #include <linux/lwtunnel.h>
+#else
+#include "sysdep/linux/lwtunnel.h"
+#endif
 #include <linux/netlink.h>
 #include <linux/rtnetlink.h>