From 1d2f4ebbbeb1ec055dcd3cf3dba833cfd0a84f3a Mon Sep 17 00:00:00 2001 From: Edward Chron Date: Thu, 31 Jan 2019 15:00:40 -0800 Subject: 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 --- net/ipv4/route.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'net/ipv4') diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 99be68b15da0..16259ea9df54 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, -- cgit v1.2.3-59-g8ed1b