Re: Multicast problems between 2.4.20 and 2.4.21?

From: Martin Knoblauch
Date: Tue May 25 2004 - 04:52:42 EST



--- Frank Lind <flind@xxxxxxxxxxxxxxxx> wrote:
> Hi,
>
> Was there ever a resolution to the multicast issues with kernels
> beyond
> 2.4.20?
>
Hi Frank,

no real resolution in my case, just a gross hack :-) With help from
some network folks and a lot of experiments we found out that somehow
IGMPv3 did cause the problems. The new protocol was introduced in
2.4.20 or 2.4.21.

The problem only shows up when using MC groups different from
224.0.0.1. Assuming the correctness of the IGMPv3 code, the suspects
were the switch (some CISCO 6000, with the latest - v3 capable-
Firmware) or the network card (tg3). *I* am almost sure it is not the
card. Exchanging the driver from a "working" kernel into the new kernel
(and vice versa) did not change anything. The new kernel did not work
with the old driver, and the old kernel worked fine with the new
driver. So it is likely the switch.

Solution for me was to force IGMPv2 instead of v3. The patch for taht
looks like:

--- ../../../linux-2.4.23/net/ipv4/igmp.c Fri Nov 28 19:26:21
2003
+++ ./igmp.c Fri Jan 9 16:59:21 2004
@@ -124,8 +124,13 @@

#define IGMP_V1_SEEN(in_dev) ((in_dev)->mr_v1_seen && \
time_before(jiffies, (in_dev)->mr_v1_seen))
+#if 0
#define IGMP_V2_SEEN(in_dev) ((in_dev)->mr_v2_seen && \
time_before(jiffies, (in_dev)->mr_v2_seen))
+#else
+#define IGMP_V2_SEEN(in_dev) (1)
+#endif
+

The same problem occured on another cluster (again tg3 cards - maybe
there is something ...) and an HP/Procurve-41xx switch. Here we just
switched to using 224.0.0.1 to solve the problem (we could not reboot
to use a patched kernel).

B^hCheers
Martin

=====
------------------------------------------------------
Martin Knoblauch
email: k n o b i AT knobisoft DOT de
www: http://www.knobisoft.de
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/