* Multicast problems between 2.4.20 and 2.4.21?
@ 2004-05-24 20:37 Frank Lind
2004-05-25 9:49 ` Martin Knoblauch
0 siblings, 1 reply; 7+ messages in thread
From: Frank Lind @ 2004-05-24 20:37 UTC (permalink / raw)
To: linux-kernel; +Cc: knobi
Hi,
Was there ever a resolution to the multicast issues with kernels beyond
2.4.20?
I have a very similar problem that has shown up with code which works
fine prior with 2.4.20-6smp (Redhat 9) and then stops working for later
kernels. I ran into this upgrading a machine to RedHat Enterprise
(2.4.21-9.ELsmp) but it also happens under Fedora (2.6.5-1.358smp). I
was going to try some separate kernel compiles and also a different
distribution when I get a chance to try to localize the change. I
haven't been able to find a clear reason why this is happening yet. I
was wondering if anyone had any additional insights beyond what showed
up in the kernel mailing lists so far (i.e. Any changes in Multicast
code between 2.4.20 and 2.4.22/23)?
I am able to get the multicasting to work under these kernels by
changing my bind calls to use the INADDR_ANY instead of binding to the
address and port I'm using for the multicast group. I haven't found good
documentation that this is the "correct" way to do this but I ran into
some comments for multicast under ipv6 which made me think it was worth
a try. This substitution gets the machines multicasting but I've had
some problems that appear to be the switch selectively deciding to
deliver data or not depending on if certain machines connect to the
multicast group. (This needs more testing but basically if a machine
using the 2.4.20 kernel joins then some of the newer kernel machines
stop getting packets for reasons I don't understand yet).
I noted it was asked why the network switch might matter. There is a
note from HP on their Procurve switches indicates that certain IP
addresses are not IGMP filtered. In particular 224.0.0.x gets no IGMP
filtering :
http://www.hp.com/rnd/pdfs/IGMP_Tech_Note.pdf
I got bit by this one a while back in that my network was getting
flooded despite using IGMP in the code.
-- Frank
--
Frank D. Lind email: flind@haystack.mit.edu
MIT Haystack Observatory WWW: http://www.haystack.mit.edu
Route 40 tel: 781 981 5570
Westford, MA 01886 USA fax: 781 981 5766
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Multicast problems between 2.4.20 and 2.4.21?
2004-05-24 20:37 Multicast problems between 2.4.20 and 2.4.21? Frank Lind
@ 2004-05-25 9:49 ` Martin Knoblauch
2004-05-25 17:38 ` David S. Miller
0 siblings, 1 reply; 7+ messages in thread
From: Martin Knoblauch @ 2004-05-25 9:49 UTC (permalink / raw)
To: Frank Lind, linux-kernel; +Cc: knobi
--- Frank Lind <flind@haystack.mit.edu> 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Multicast problems between 2.4.20 and 2.4.21?
2004-05-25 9:49 ` Martin Knoblauch
@ 2004-05-25 17:38 ` David S. Miller
2004-05-25 18:15 ` Martin Knoblauch
0 siblings, 1 reply; 7+ messages in thread
From: David S. Miller @ 2004-05-25 17:38 UTC (permalink / raw)
To: knobi; +Cc: flind, linux-kernel
You don't need a patch to force IGMPv2, there is a sysctl
available now in 2.4.x for this purpose.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Multicast problems between 2.4.20 and 2.4.21?
2004-05-25 17:38 ` David S. Miller
@ 2004-05-25 18:15 ` Martin Knoblauch
2004-05-25 18:18 ` Frank Lind
2004-05-25 19:59 ` David S. Miller
0 siblings, 2 replies; 7+ messages in thread
From: Martin Knoblauch @ 2004-05-25 18:15 UTC (permalink / raw)
To: David S. Miller; +Cc: flind, linux-kernel
--- "David S. Miller" <davem@redhat.com> wrote:
>
> You don't need a patch to force IGMPv2, there is a sysctl
> available now in 2.4.x for this purpose.
>
>
David,
what is the name of the sysctl, and when was it added to 2.4? What
about 2.6.x?
Thanks
Martin
=====
------------------------------------------------------
Martin Knoblauch
email: k n o b i AT knobisoft DOT de
www: http://www.knobisoft.de
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Multicast problems between 2.4.20 and 2.4.21?
2004-05-25 18:15 ` Martin Knoblauch
@ 2004-05-25 18:18 ` Frank Lind
2004-05-25 19:59 ` David S. Miller
1 sibling, 0 replies; 7+ messages in thread
From: Frank Lind @ 2004-05-25 18:18 UTC (permalink / raw)
To: knobi; +Cc: David S. Miller, linux-kernel
Hi Martin,
/sbin/sysctl -w net.ipv4.conf.eth1.force_igmp_version=2
the above worked for me. I think it was added in 2.4.25 and 2.6.2.
-- Frank
Martin Knoblauch wrote:
>--- "David S. Miller" <davem@redhat.com> wrote:
>
>
>>You don't need a patch to force IGMPv2, there is a sysctl
>>available now in 2.4.x for this purpose.
>>
>>
>>
>>
>David,
>
> what is the name of the sysctl, and when was it added to 2.4? What
>about 2.6.x?
>
>Thanks
>Martin
>
>=====
>------------------------------------------------------
>Martin Knoblauch
>email: k n o b i AT knobisoft DOT de
>www: http://www.knobisoft.de
>
>!DSPAM:40b38d3220961361122433!
>
>
>
>
--
Frank D. Lind email: flind@haystack.mit.edu
MIT Haystack Observatory WWW: http://www.haystack.mit.edu
Route 40 tel: 781 981 5570
Westford, MA 01886 USA fax: 781 981 5766
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Multicast problems between 2.4.20 and 2.4.21?
2004-05-25 18:15 ` Martin Knoblauch
2004-05-25 18:18 ` Frank Lind
@ 2004-05-25 19:59 ` David S. Miller
2004-05-25 20:14 ` Martin Knoblauch
1 sibling, 1 reply; 7+ messages in thread
From: David S. Miller @ 2004-05-25 19:59 UTC (permalink / raw)
To: knobi; +Cc: flind, linux-kernel
On Tue, 25 May 2004 11:15:10 -0700 (PDT)
Martin Knoblauch <knobi@knobisoft.de> wrote:
> what is the name of the sysctl, and when was it added to 2.4? What
> about 2.6.x?
/proc/sys/net/ipv4/conf/${DEV}/force_igmp_version
Replace ${DEV} with a specific device name, "default", or "all"
as desired.
It got added to 2.4.25 I believe, and yes 2.6.x has it too.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Multicast problems between 2.4.20 and 2.4.21?
2004-05-25 19:59 ` David S. Miller
@ 2004-05-25 20:14 ` Martin Knoblauch
0 siblings, 0 replies; 7+ messages in thread
From: Martin Knoblauch @ 2004-05-25 20:14 UTC (permalink / raw)
To: David S. Miller; +Cc: flind, linux-kernel
--- "David S. Miller" <davem@redhat.com> wrote:
> On Tue, 25 May 2004 11:15:10 -0700 (PDT)
> Martin Knoblauch <knobi@knobisoft.de> wrote:
>
> > what is the name of the sysctl, and when was it added to 2.4?
> What
> > about 2.6.x?
>
> /proc/sys/net/ipv4/conf/${DEV}/force_igmp_version
>
> Replace ${DEV} with a specific device name, "default", or "all"
> as desired.
>
> It got added to 2.4.25 I believe, and yes 2.6.x has it too.
>
>
cool. What value does one put in? Is it just 0/1, or do you specify
the protocol version you want to force?
Cheers
Martin
=====
------------------------------------------------------
Martin Knoblauch
email: k n o b i AT knobisoft DOT de
www: http://www.knobisoft.de
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2004-05-25 20:14 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-24 20:37 Multicast problems between 2.4.20 and 2.4.21? Frank Lind
2004-05-25 9:49 ` Martin Knoblauch
2004-05-25 17:38 ` David S. Miller
2004-05-25 18:15 ` Martin Knoblauch
2004-05-25 18:18 ` Frank Lind
2004-05-25 19:59 ` David S. Miller
2004-05-25 20:14 ` Martin Knoblauch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox