Check for RTA_TABLE in configure.

This commit is contained in:
Tobias Brunner 2011-10-04 18:46:51 +02:00
parent 055a823d08
commit 439cb93ce9
2 changed files with 13 additions and 0 deletions

View File

@ -459,6 +459,17 @@ AC_TRY_COMPILE(
[AC_MSG_RESULT([no])]
)
AC_MSG_CHECKING([for RTA_TABLE])
AC_TRY_COMPILE(
[#include <sys/socket.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>],
[int rta_type = RTA_TABLE;
return rta_type;],
[AC_MSG_RESULT([yes]); AC_DEFINE([HAVE_RTA_TABLE])],
[AC_MSG_RESULT([no])]
)
AC_MSG_CHECKING([for gcc atomic operations])
AC_TRY_RUN(
[

View File

@ -933,12 +933,14 @@ static host_t *get_route(private_kernel_netlink_net_t *this, host_t *dest,
rta_oif = *(u_int32_t*)RTA_DATA(rta);
}
break;
#ifdef HAVE_RTA_TABLE
case RTA_TABLE:
if (RTA_PAYLOAD(rta) == sizeof(rta_table))
{
rta_table = *(u_int32_t*)RTA_DATA(rta);
}
break;
#endif /* HAVE_RTA_TABLE*/
}
rta = RTA_NEXT(rta, rtasize);
}