X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=net%2Fipv4%2Figmp.c;h=34758118c10ca4a791ab80764b003bec60f50707;hb=05814450070f13b671fc9dbf89477677aa0258cb;hp=c04607b49212ec538499eee7340374427b25379b;hpb=0192d69789582f02c015cba77cac514c7291c347;p=powerpc.git diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index c04607b492..34758118c1 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -91,6 +91,8 @@ #include #include #include + +#include #include #include #include @@ -897,7 +899,10 @@ int igmp_rcv(struct sk_buff *skb) /* Is it our report looped back? */ if (((struct rtable*)skb->dst)->fl.iif == 0) break; - igmp_heard_report(in_dev, ih->group); + /* don't rely on MC router hearing unicast reports */ + if (skb->pkt_type == PACKET_MULTICAST || + skb->pkt_type == PACKET_BROADCAST) + igmp_heard_report(in_dev, ih->group); break; case IGMP_PIM: #ifdef CONFIG_IP_PIMSM_V1