]>
Commit | Line | Data |
---|---|---|
8002656c GKH |
1 | From 873d72b49df7f246b548bba2683ce84731f2e8f3 Mon Sep 17 00:00:00 2001 |
2 | From: Hannes Frederic Sowa <hannes@stressinduktion.org> | |
3 | Date: Fri, 8 Mar 2013 02:07:23 +0000 | |
4 | Subject: ipv6: stop multicast forwarding to process interface scoped addresses | |
5 | ||
6 | ||
7 | From: Hannes Frederic Sowa <hannes@stressinduktion.org> | |
8 | ||
9 | [ Upstream commit ddf64354af4a702ee0b85d0a285ba74c7278a460 ] | |
10 | ||
11 | v2: | |
12 | a) used struct ipv6_addr_props | |
13 | ||
14 | v3: | |
15 | a) reverted changes for ipv6_addr_props | |
16 | ||
17 | v4: | |
18 | a) do not use __ipv6_addr_needs_scope_id | |
19 | ||
20 | Cc: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | |
21 | Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org> | |
22 | Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | |
23 | Signed-off-by: David S. Miller <davem@davemloft.net> | |
24 | Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> | |
25 | --- | |
26 | net/ipv6/ip6_input.c | 3 ++- | |
27 | 1 file changed, 2 insertions(+), 1 deletion(-) | |
28 | ||
29 | --- a/net/ipv6/ip6_input.c | |
30 | +++ b/net/ipv6/ip6_input.c | |
31 | @@ -270,7 +270,8 @@ int ip6_mc_input(struct sk_buff *skb) | |
32 | * IPv6 multicast router mode is now supported ;) | |
33 | */ | |
34 | if (dev_net(skb->dev)->ipv6.devconf_all->mc_forwarding && | |
35 | - !(ipv6_addr_type(&hdr->daddr) & IPV6_ADDR_LINKLOCAL) && | |
36 | + !(ipv6_addr_type(&hdr->daddr) & | |
37 | + (IPV6_ADDR_LOOPBACK|IPV6_ADDR_LINKLOCAL)) && | |
38 | likely(!(IP6CB(skb)->flags & IP6SKB_FORWARDED))) { | |
39 | /* | |
40 | * Okay, we try to forward - split and duplicate |