From: Jan Moskyto Matejka Date: Wed, 5 Apr 2017 12:15:43 +0000 (+0200) Subject: Include local lwtunnel.h unless found in system X-Git-Tag: v2.0.0-pre1~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=54635f435a76ad0f3141b09a9c5072f6e2e8c319;p=thirdparty%2Fbird.git Include local lwtunnel.h unless found in system --- diff --git a/configure.in b/configure.in index af9c452d2..c37a0264e 100644 --- a/configure.in +++ b/configure.in @@ -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 #include diff --git a/sysdep/autoconf.h.in b/sysdep/autoconf.h.in index 4887c4335..6f5808468 100644 --- a/sysdep/autoconf.h.in +++ b/sysdep/autoconf.h.in @@ -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 index 000000000..7cea3cbfa --- /dev/null +++ b/sysdep/linux/lwtunnel.h @@ -0,0 +1,45 @@ +#ifndef _LWTUNNEL_H_ +#define _LWTUNNEL_H_ + +#include + +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_ */ diff --git a/sysdep/linux/netlink.c b/sysdep/linux/netlink.c index e20512f5c..bed97331a 100644 --- a/sysdep/linux/netlink.c +++ b/sysdep/linux/netlink.c @@ -31,7 +31,11 @@ #include #include +#ifdef HAVE_LWTUNNEL #include +#else +#include "sysdep/linux/lwtunnel.h" +#endif #include #include