diff options
| author | David S. Miller <davem@davemloft.net> | 2008-11-28 02:19:15 -0800 | 
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-11-28 02:19:15 -0800 | 
| commit | ed77a89c30fa03dcb234a84ddea710b3fb7b62da (patch) | |
| tree | 69f3e2c2bbf2fdd4f742e891441f01307d1d1f49 /net/ipv6/netfilter.c | |
| parent | 475ad8e2172d7f8b73af5532a8dad265b51339c2 (diff) | |
| parent | d6e8cc6cc7ac77b0f9118f78c453a2e834e62709 (diff) | |
| download | olio-linux-3.10-ed77a89c30fa03dcb234a84ddea710b3fb7b62da.tar.xz olio-linux-3.10-ed77a89c30fa03dcb234a84ddea710b3fb7b62da.zip  | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
Conflicts:
	net/netfilter/nf_conntrack_netlink.c
Diffstat (limited to 'net/ipv6/netfilter.c')
| -rw-r--r-- | net/ipv6/netfilter.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv6/netfilter.c b/net/ipv6/netfilter.c index 627e21db65d..834cea69fb5 100644 --- a/net/ipv6/netfilter.c +++ b/net/ipv6/netfilter.c @@ -56,6 +56,7 @@ EXPORT_SYMBOL(ip6_route_me_harder);  struct ip6_rt_info {  	struct in6_addr daddr;  	struct in6_addr saddr; +	u_int32_t mark;  };  static void nf_ip6_saveroute(const struct sk_buff *skb, @@ -68,6 +69,7 @@ static void nf_ip6_saveroute(const struct sk_buff *skb,  		rt_info->daddr = iph->daddr;  		rt_info->saddr = iph->saddr; +		rt_info->mark = skb->mark;  	}  } @@ -79,7 +81,8 @@ static int nf_ip6_reroute(struct sk_buff *skb,  	if (entry->hook == NF_INET_LOCAL_OUT) {  		struct ipv6hdr *iph = ipv6_hdr(skb);  		if (!ipv6_addr_equal(&iph->daddr, &rt_info->daddr) || -		    !ipv6_addr_equal(&iph->saddr, &rt_info->saddr)) +		    !ipv6_addr_equal(&iph->saddr, &rt_info->saddr) || +		    skb->mark != rt_info->mark)  			return ip6_route_me_harder(skb);  	}  	return 0;  |