blob: 2f21163de413fc08dc33e19628da1ee396728cb8 [file] [log] [blame]
#ifndef __BACKPORT_NET_IP6_ROUTE_H
#define __BACKPORT_NET_IP6_ROUTE_H
#include_next <net/ip6_fib.h>
#include <net/ip6_route.h>
#include <linux/route.h>
#include <linux/version.h>
/*
* This function is avaliable with one argument since kernel 3.10, but the
* secound one was added in 4.2.
*/
#if LINUX_VERSION_IS_LESS(4,2,0)
#define rt6_nexthop LINUX_BACKPORT(rt6_nexthop)
static inline struct in6_addr *rt6_nexthop(struct rt6_info *rt,
struct in6_addr *daddr)
{
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_IS_LESS(4,2,0) */
#endif /* __BACKPORT_NET_IP6_ROUTE_H */