Loading include/linux/netfilter_ipv6.h +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ struct nf_ipv6_ops { }; #ifdef CONFIG_NETFILTER int ip6_route_me_harder(struct sk_buff *skb); int ip6_route_me_harder(struct net *net, struct sk_buff *skb); __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook, unsigned int dataoff, u_int8_t protocol); Loading net/ipv6/netfilter.c +2 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading net/ipv6/netfilter/ip6table_mangle.c +1 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ ip6t_mangle_out(struct sk_buff *skb, const struct nf_hook_state *state) skb->mark != mark || ipv6_hdr(skb)->hop_limit != hop_limit || flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) { err = ip6_route_me_harder(skb); err = ip6_route_me_harder(state->net, skb); if (err < 0) ret = NF_DROP_ERR(err); } Loading net/ipv6/netfilter/nf_nat_l3proto_ipv6.c +1 −1 Original line number Diff line number Diff line Loading @@ -437,7 +437,7 @@ nf_nat_ipv6_local_fn(void *priv, struct sk_buff *skb, if (!nf_inet_addr_cmp(&ct->tuplehash[dir].tuple.dst.u3, &ct->tuplehash[!dir].tuple.src.u3)) { err = ip6_route_me_harder(skb); err = ip6_route_me_harder(state->net, skb); if (err < 0) ret = NF_DROP_ERR(err); } Loading net/ipv6/netfilter/nft_chain_route_ipv6.c +1 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ static unsigned int nf_route_table_hook(void *priv, skb->mark != mark || ipv6_hdr(skb)->hop_limit != hop_limit || flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) return ip6_route_me_harder(skb) == 0 ? ret : NF_DROP; return ip6_route_me_harder(state->net, skb) == 0 ? ret : NF_DROP; return ret; } Loading Loading
include/linux/netfilter_ipv6.h +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ struct nf_ipv6_ops { }; #ifdef CONFIG_NETFILTER int ip6_route_me_harder(struct sk_buff *skb); int ip6_route_me_harder(struct net *net, struct sk_buff *skb); __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook, unsigned int dataoff, u_int8_t protocol); Loading
net/ipv6/netfilter.c +2 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; } Loading
net/ipv6/netfilter/ip6table_mangle.c +1 −1 Original line number Diff line number Diff line Loading @@ -65,7 +65,7 @@ ip6t_mangle_out(struct sk_buff *skb, const struct nf_hook_state *state) skb->mark != mark || ipv6_hdr(skb)->hop_limit != hop_limit || flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) { err = ip6_route_me_harder(skb); err = ip6_route_me_harder(state->net, skb); if (err < 0) ret = NF_DROP_ERR(err); } Loading
net/ipv6/netfilter/nf_nat_l3proto_ipv6.c +1 −1 Original line number Diff line number Diff line Loading @@ -437,7 +437,7 @@ nf_nat_ipv6_local_fn(void *priv, struct sk_buff *skb, if (!nf_inet_addr_cmp(&ct->tuplehash[dir].tuple.dst.u3, &ct->tuplehash[!dir].tuple.src.u3)) { err = ip6_route_me_harder(skb); err = ip6_route_me_harder(state->net, skb); if (err < 0) ret = NF_DROP_ERR(err); } Loading
net/ipv6/netfilter/nft_chain_route_ipv6.c +1 −1 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ static unsigned int nf_route_table_hook(void *priv, skb->mark != mark || ipv6_hdr(skb)->hop_limit != hop_limit || flowlabel != *((u_int32_t *)ipv6_hdr(skb)))) return ip6_route_me_harder(skb) == 0 ? ret : NF_DROP; return ip6_route_me_harder(state->net, skb) == 0 ? ret : NF_DROP; return ret; } Loading