Re: [PATCH 1/2] IGMP snooping: set mrouters_only flag for IPv4 traffic properly
From: Fernando Luis Vazquez Cao <hidden>
Date: 2011-06-17 04:39:05
David Miller [off-list ref] wrote:
From: Fernando Luis Vázquez Cao <redacted> Date: Tue, 14 Jun 2011 10:04:43 +0900quoted
Upon reception of a IGMP/IGMPv2 membership report the kernel sets the mrouters_only flag in a skb that may be a clone of the original skb, which means that sometimes the bridge loses track of membership report packets (cb buffers are tied to a specific skb and not shared) and it ends up forwading join requests to the bridge interface. This can cause unexpected membership timeouts and intermitent/permanent loss of connectivity as described in RFC 4541 [2.1.1. IGMP Forwarding Rules]: A snooping switch should forward IGMP Membership Reports only to those ports where multicast routers are attached. [...] Sending membership reports to other hosts can result, for IGMPv1 and IGMPv2, in unintentionally preventing a host from joining a specific multicast group. Signed-off-by: Fernando Luis Vazquez Cao <redacted> Tested-by: Hayato Kakuta <redacted>Applied.
Thank you David. By the way, What kernel version(s) are you targeting for these two patches. It would be great if we could get them upstream before 3.0 comes out. Without this fix the IGMP snooping code is simply unusable in certain configurations. - Fernando