* Re: Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR
[not found] <20040604155423.GA5656@muffin>
@ 2004-06-04 16:55 ` YOSHIFUJI Hideaki / 吉藤英明
2004-06-04 17:14 ` YOSHIFUJI Hideaki / 吉藤英明
2004-06-04 21:29 ` Wesley W. Terpstra
0 siblings, 2 replies; 6+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2004-06-04 16:55 UTC (permalink / raw)
To: terpstra; +Cc: linux-kernel, netdev, davem, yoshfuji
In article <20040604155423.GA5656@muffin> (at Fri, 4 Jun 2004 17:54:23 +0200), "Wesley W. Terpstra" <terpstra@gkec.tu-darmstadt.de> says:
> If I launch the same program twice with different senders, the first program
> ceases to receive multicast packets. (Neither from its own sender, nor the
> second program's sender) The second program receives packets from its
> designated sender only (as expected).
:
> If both programs specify the same sender, then both programs receive the
> message (as expected).
Thanks for the report.
The following patch should fix the issue. Please try.
Thanks again.
===== net/ipv4/udp.c 1.60 vs edited =====
--- 1.60/net/ipv4/udp.c 2004-05-31 03:57:26 +09:00
+++ edited/net/ipv4/udp.c 2004-06-05 01:47:07 +09:00
@@ -294,7 +294,7 @@
ipv6_only_sock(s) ||
(s->sk_bound_dev_if && s->sk_bound_dev_if != dif))
continue;
- if (!ip_mc_sf_allow(sk, loc_addr, rmt_addr, dif))
+ if (!ip_mc_sf_allow(s, loc_addr, rmt_addr, dif))
continue;
goto found;
}
--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR
2004-06-04 16:55 ` Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR YOSHIFUJI Hideaki / 吉藤英明
@ 2004-06-04 17:14 ` YOSHIFUJI Hideaki / 吉藤英明
2004-06-04 21:00 ` David S. Miller
2004-06-04 21:29 ` Wesley W. Terpstra
1 sibling, 1 reply; 6+ messages in thread
From: YOSHIFUJI Hideaki / 吉藤英明 @ 2004-06-04 17:14 UTC (permalink / raw)
To: davem; +Cc: netdev, yoshfuji
In article <20040605.015544.102223977.yoshfuji@linux-ipv6.org> (at Sat, 05 Jun 2004 01:55:44 +0900 (JST)), YOSHIFUJI Hideaki / 吉藤英明 <yoshfuji@linux-ipv6.org> says:
> The following patch should fix the issue. Please try.
And, here's a variant for 2.4.
===== net/ipv4/udp.c 1.13 vs edited =====
--- 1.13/net/ipv4/udp.c 2004-02-22 06:12:49 +09:00
+++ edited/net/ipv4/udp.c 2004-06-05 01:56:50 +09:00
@@ -290,7 +290,7 @@
ipv6_only_sock(s) ||
(s->bound_dev_if && s->bound_dev_if != dif))
continue;
- if (!ip_mc_sf_allow(sk, loc_addr, rmt_addr, dif))
+ if (!ip_mc_sf_allow(s, loc_addr, rmt_addr, dif))
continue;
break;
}
-- yoshfuji @ time to sleep...
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR
2004-06-04 17:14 ` YOSHIFUJI Hideaki / 吉藤英明
@ 2004-06-04 21:00 ` David S. Miller
0 siblings, 0 replies; 6+ messages in thread
From: David S. Miller @ 2004-06-04 21:00 UTC (permalink / raw)
To: yoshfuji; +Cc: netdev
On Sat, 05 Jun 2004 02:14:11 +0900 (JST)
YOSHIFUJI Hideaki / ^[$B5HF#1QL@^[(B <yoshfuji@linux-ipv6.org> wrote:
> In article <20040605.015544.102223977.yoshfuji@linux-ipv6.org> (at Sat, 05 Jun 2004 01:55:44 +0900 (JST)), YOSHIFUJI Hideaki / ^[$B5HF#1QL@^[(B <yoshfuji@linux-ipv6.org> says:
>
> > The following patch should fix the issue. Please try.
>
> And, here's a variant for 2.4.
Both patches applied, thanks.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR
2004-06-04 16:55 ` Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR YOSHIFUJI Hideaki / 吉藤英明
2004-06-04 17:14 ` YOSHIFUJI Hideaki / 吉藤英明
@ 2004-06-04 21:29 ` Wesley W. Terpstra
2004-06-04 21:29 ` David S. Miller
1 sibling, 1 reply; 6+ messages in thread
From: Wesley W. Terpstra @ 2004-06-04 21:29 UTC (permalink / raw)
To: YOSHIFUJI Hideaki / 吉藤英明
Cc: linux-kernel, netdev, davem
On Sat, Jun 05, 2004 at 01:55:44AM +0900, YOSHIFUJI Hideaki / 吉藤英明 wrote:
> In article <20040604155423.GA5656@muffin> (at Fri, 4 Jun 2004 17:54:23 +0200), "Wesley W. Terpstra" <terpstra@gkec.tu-darmstadt.de> says:
> > If I launch the same program twice with different senders, the first program
> > ceases to receive multicast packets. (Neither from its own sender, nor the
> > second program's sender) The second program receives packets from its
> > designated sender only (as expected).
> >
> > If both programs specify the same sender, then both programs receive the
> > message (as expected).
>
> Thanks for the report.
> The following patch should fix the issue. Please try.
> Thanks again.
>
> ===== net/ipv4/udp.c 1.60 vs edited =====
> --- 1.60/net/ipv4/udp.c 2004-05-31 03:57:26 +09:00
> +++ edited/net/ipv4/udp.c 2004-06-05 01:47:07 +09:00
> @@ -294,7 +294,7 @@
> ipv6_only_sock(s) ||
> (s->sk_bound_dev_if && s->sk_bound_dev_if != dif))
> continue;
> - if (!ip_mc_sf_allow(sk, loc_addr, rmt_addr, dif))
> + if (!ip_mc_sf_allow(s, loc_addr, rmt_addr, dif))
> continue;
> goto found;
> }
That works.
I have confirmed that multiple senders for multiple processes is fixed.
I am amazed you fixed it so fast!
Will this make it into 2.6.7?
--
Wesley W. Terpstra
^ permalink raw reply [flat|nested] 6+ messages in thread
* Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR
@ 2004-06-04 15:54 Wesley W. Terpstra
0 siblings, 0 replies; 6+ messages in thread
From: Wesley W. Terpstra @ 2004-06-04 15:54 UTC (permalink / raw)
To: linux-kernel
Hi!
I am using the new IGMPv3 support in the 2.6.* series for Single Source
Multicast (SSM). However, the kernel appears to (incorrectly) drop packets
in some situations.
What I do is this: open a UDP port, set it SO_REUSEADDR, bind it to port
6767, and then use IP_ADD_SOURCE_MEMBERSHIP to listen to multicast group
232.65.43.21 and with a command-line controlled sender.
If I launch the same program twice with different senders, the first program
ceases to receive multicast packets. (Neither from its own sender, nor the
second program's sender) The second program receives packets from its
designated sender only (as expected).
I know from tcpdump that the switch is delivering messages from the first
designated sender. The kernel is simply not giving them to the application.
Some more observations:
If both programs specify the same sender, then both programs receive the
message (as expected).
This is not an issue with subscribing to multiple senders in general. A
single program listening to two senders does receive messages from both.
This seems like a bug to me.
PS. I am not subscribed to this list, so please CC me.
--
Wesley W. Terpstra
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-06-04 21:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20040604155423.GA5656@muffin>
2004-06-04 16:55 ` Broken? 2.6.6 + IP_ADD_SOURCE_MEMBERSHIP + SO_REUSEADDR YOSHIFUJI Hideaki / 吉藤英明
2004-06-04 17:14 ` YOSHIFUJI Hideaki / 吉藤英明
2004-06-04 21:00 ` David S. Miller
2004-06-04 21:29 ` Wesley W. Terpstra
2004-06-04 21:29 ` David S. Miller
2004-06-04 15:54 Wesley W. Terpstra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).