[
http://jira.jboss.com/jira/browse/JGRP-515?page=comments#action_12362462 ]
Bela Ban commented on JGRP-515:
-------------------------------
[Regarding my comment on May 17 11:02am]
We currently use the wildcard address for receiving IP multicasting packets, so the socket
bound to 45566 is 0.0.0.0:45566. This is the same as receive_on_all_interfaces, as traffic
will be received on *any* NIC.
MulticastSocket.set(Network)Interface() is only used for *sending* packets.
So, at one point, we need to decide whether to discard receive_on_all_interfaces, or
whether to really bind to the interface defined by bind_addr. The down side of the latter
is that we might have more cases where members don't find each other because they bind
to different NICs.
In any case: even if we receive IP multicast traffic on *all* interfaces, the different
multicast (class D) addresses should discard traffic sent to 228.0.0.2:50000 but we are
listening on 228.0.0.1:50000 ! This is a bug, as described below:
Yes, Aleksander Kostadinov wrote a C test that shows it; you can see it
on
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=231899.
Just to clarify; this problem does exist on Linux (not just Red Hat; we
saw it on SuSE as well). We don't see it on Windows XP and Solaris. If
you want to test your OS you can have a look at the C test attached to
the above bugzilla, or use the Java-based test attached to
http://wiki.jboss.org/wiki/Wiki.jsp?page=PromiscuousTraffic.
UDP.java requires the multicast address in the multicastsocket
constructor to fix crosstalk on certain operating systems
------------------------------------------------------------------------------------------------------------------------
Key: JGRP-515
URL:
http://jira.jboss.com/jira/browse/JGRP-515
Project: JGroups
Issue Type: Patch
Environment: Tested on Fedora Core 6, JDK 1.5.0_10
Reporter: ggimler
Assigned To: Bela Ban
Fix For: 2.5
Attachments: UDP.java
I'm submitting a patch for a crosstalk issue described below.
I'm trying to debug a problem I'm seeing when running JGroups on the
same network/machine as another application that is sending/receiving
data via regular multicast (not through JGroups). I'm using version
2.4.1-SP3. My scenario is as follows...
JGroups send on 228.0.0.1:50000
JGroups receive on 228.0.0.1:50000
This works fine. When I start up another application that does
Sends regular multicast on 228.0.0.2:50000
Receives regular multicast on 228.0.0.2:50000
Then the JVM with the JGroups sender/receiver complains with:
May 15, 2007 4:47:59 PM org.jgroups.protocols.TP handleIncomingPacket
WARNING: packet from 192.168.101.133:36594 has different version
(26725) from ours (2.4.1). Packet is discarded
The patch is in UDP.java:
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira