From: Edward Chron Date: Thu, 31 Jan 2019 23:00:40 +0000 (-0800) Subject: ipv4/igmp: Don't drop IGMP pkt with zeros src addr X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1d2f4ebbbeb1ec055dcd3cf3dba833cfd0a84f3a;p=linux.git ipv4/igmp: Don't drop IGMP pkt with zeros src addr Don't drop IGMP packets with a source address of all zeros which are IGMP proxy reports. This is documented in Section 2.1.1 IGMP Forwarding Rules of RFC 4541 IGMP and MLD Snooping Switches Considerations. Signed-off-by: Edward Chron Signed-off-by: David S. Miller --- diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 99be68b15da07..16259ea9df549 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1608,7 +1608,8 @@ int ip_mc_validate_source(struct sk_buff *skb, __be32 daddr, __be32 saddr, return -EINVAL; if (ipv4_is_zeronet(saddr)) { - if (!ipv4_is_local_multicast(daddr)) + if (!ipv4_is_local_multicast(daddr) && + ip_hdr(skb)->protocol != IPPROTO_IGMP) return -EINVAL; } else { err = fib_validate_source(skb, saddr, 0, tos, 0, dev,