rt6_nexthop() got an additional parameter in commit 2647a9b0. Instead of only backporting it for kernel < 3.10 do it now for kernel version < 4.2.
Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de> --- backport/backport-include/net/ip6_fib.h | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/backport/backport-include/net/ip6_fib.h b/backport/backport-include/net/ip6_fib.h index 8c5d8ff..96b6759 100644 --- a/backport/backport-include/net/ip6_fib.h +++ b/backport/backport-include/net/ip6_fib.h @@ -4,12 +4,22 @@ #include <net/ip6_route.h> #include <linux/version.h> -#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) +/* + * This function is avaliable with one argument since kernel 3.10, but the + * secound one was added in 4.2. + */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) #define rt6_nexthop LINUX_BACKPORT(rt6_nexthop) -static inline struct in6_addr *rt6_nexthop(struct rt6_info *rt) +static inline struct in6_addr *rt6_nexthop(struct rt6_info *rt, + struct in6_addr *daddr) { - return &rt->rt6i_gateway; + if (rt->rt6i_flags & RTF_GATEWAY) + return &rt->rt6i_gateway; + else if (rt->rt6i_flags & RTF_CACHE) + return &rt->rt6i_dst.addr; + else + return daddr; } -#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) */ +#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) */ #endif /* __BACKPORT_NET_IP6_ROUTE_H */ -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe backports" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html