diff mbox series

[net-next] ipv4/igmp: Don't drop IGMP pkt with zeros src addr

Message ID 20190131230040.15232-1-echron@arista.com
State Accepted
Delegated to: David Miller
Headers show
Series [net-next] ipv4/igmp: Don't drop IGMP pkt with zeros src addr | expand

Commit Message

Edward Chron Jan. 31, 2019, 11 p.m. UTC
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 <echron@arista.com>
---
 net/ipv4/route.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

David Miller Feb. 3, 2019, 5:54 p.m. UTC | #1
From: Edward Chron <echron@arista.com>
Date: Thu, 31 Jan 2019 15:00:40 -0800

> 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 <echron@arista.com>

Applied, thanks.
diff mbox series

Patch

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,