summaryrefslogtreecommitdiffstats
path: root/net/bridge/br_multicast.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-07-15 10:06:42 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-07-15 10:06:42 +0100
commit4aa96ccf9ee35cdbd0d423e87a4d551019570218 (patch)
treedca6322681df2e8f33f65c07defce24db68f645c /net/bridge/br_multicast.c
parentcb5fd904f0f14866ab76ec1f6ca3469896e4e2cf (diff)
parent8f2ffa00fb3c05ec0659cd7b056c4e8e106072f1 (diff)
downloadblackbird-op-linux-4aa96ccf9ee35cdbd0d423e87a4d551019570218.tar.gz
blackbird-op-linux-4aa96ccf9ee35cdbd0d423e87a4d551019570218.zip
Merge branch 'kprobes-thumb' of git://git.yxit.co.uk/linux into devel-stable
Diffstat (limited to 'net/bridge/br_multicast.c')
-rw-r--r--net/bridge/br_multicast.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 29b9812c8da0..2d85ca7111d3 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -1379,8 +1379,11 @@ static int br_multicast_ipv4_rcv(struct net_bridge *br,
if (unlikely(ip_fast_csum((u8 *)iph, iph->ihl)))
return -EINVAL;
- if (iph->protocol != IPPROTO_IGMP)
+ if (iph->protocol != IPPROTO_IGMP) {
+ if ((iph->daddr & IGMP_LOCAL_GROUP_MASK) != IGMP_LOCAL_GROUP)
+ BR_INPUT_SKB_CB(skb)->mrouters_only = 1;
return 0;
+ }
len = ntohs(iph->tot_len);
if (skb->len < len || len < ip_hdrlen(skb))
OpenPOWER on IntegriCloud