|
@@ -18,9 +18,8 @@
|
|
|
#include <net/ip6_checksum.h>
|
|
|
#include <net/netfilter/nf_queue.h>
|
|
|
|
|
|
-int ip6_route_me_harder(struct sk_buff *skb)
|
|
|
+int ip6_route_me_harder(struct net *net, struct sk_buff *skb)
|
|
|
{
|
|
|
- struct net *net = dev_net(skb_dst(skb)->dev);
|
|
|
const struct ipv6hdr *iph = ipv6_hdr(skb);
|
|
|
unsigned int hh_len;
|
|
|
struct dst_entry *dst;
|
|
@@ -103,7 +102,7 @@ static int nf_ip6_reroute(struct net *net, struct sk_buff *skb,
|
|
|
if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) ||
|
|
|
!ipv6_addr_equal(&iph->saddr, &rt_info->saddr) ||
|
|
|
skb->mark != rt_info->mark)
|
|
|
- return ip6_route_me_harder(skb);
|
|
|
+ return ip6_route_me_harder(net, skb);
|
|
|
}
|
|
|
return 0;
|
|
|
}
|