| --- /dev/null |
| +++ b/include/mrdpriv/linux/netlink_missing_defs.h |
| @@ -0,0 +1,41 @@ |
| +#include <linux/version.h> |
| + |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19) |
| + |
| +#include <linux/if_link.h> |
| +#include <linux/if_addr.h> |
| +#include <linux/neighbour.h> |
| + |
| +#ifndef IFA_RTA |
| +#define IFA_RTA(r) \ |
| + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg)))) |
| +#endif |
| +#ifndef IFA_PAYLOAD |
| +#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg)) |
| +#endif |
| + |
| +#ifndef IFLA_RTA |
| +#define IFLA_RTA(r) \ |
| + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) |
| +#endif |
| +#ifndef IFLA_PAYLOAD |
| +#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg)) |
| +#endif |
| + |
| +#ifndef NDA_RTA |
| +#define NDA_RTA(r) \ |
| + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndmsg)))) |
| +#endif |
| +#ifndef NDA_PAYLOAD |
| +#define NDA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ndmsg)) |
| +#endif |
| + |
| +#ifndef NDTA_RTA |
| +#define NDTA_RTA(r) \ |
| + ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ndtmsg)))) |
| +#endif |
| +#ifndef NDTA_PAYLOAD |
| +#define NDTA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ndtmsg)) |
| +#endif |
| + |
| +#endif |
| --- a/src/linux/linux_unicast_route.cpp |
| +++ b/src/linux/linux_unicast_route.cpp |
| @@ -23,6 +23,7 @@ |
| */ |
| |
| #include <mrdpriv/linux/unicast_route.h> |
| +#include <mrdpriv/linux/netlink_missing_defs.h> |
| |
| #include <mrd/mrd.h> |
| #include <mrd/interface.h> |