]
Richard Achmatowicz closed JGRP-956.
------------------------------------
Fix Version/s: 2.4.7
2.6.11
Resolution: Done
Changed error message in 2.6.11 - need to change for Branch 2.4 and Branch 2.8
Binding to mcast address in UDP.java is not working on Linux with
IPv6
----------------------------------------------------------------------
Key: JGRP-956
URL:
https://jira.jboss.org/jira/browse/JGRP-956
Project: JGroups
Issue Type: Bug
Reporter: Richard Achmatowicz
Assignee: Bela Ban
Priority: Minor
Fix For: 2.4.7, 2.6.11, 2.8
On Linux and Solaris platforms, when setting up the main multicast receiver socket, Bela
allows binding the socket to its multicast address, like this:
InetAddress group_addr = ...
InetAddress bind_addr = ...
SocketAddress group_sock_addr = new InetSocketAddress(group_addr, port) ;
MulticastSocket s = new MulticastSocket(group_sock_addr) ; // funny
s.joinGroup(group_addr) ;
Binding to the multicast address on Linux and Solaris was done in order to avoid the
promiscuous traffic problem. A detailed discussion on the matter can be found in the
bugzilla
report:https://bugzilla.redhat.com/show_bug.cgi?id=231899.
This works on Linux with IPv4 but is not working on Linux with IPv6 for the
multicast-address ff02::1 - an error message is being generated (SocketException, invalid
argument) and the code then tries to create the same multicast address in the usual way:
InetAddress group_addr = ...
InetAddress bind_addr = ...
MulticastSocket s = new MulticastSocket(port) ;
s.setInterface(bind_addr) ;
s.joinGroup(group_addr) ;
This is only a problem in that it generates a confusing error message about using mixed
IPv4 / IPv6 stacks, but the socket continues to work correctly as far as I can tell.
Haven't confirmed this, but I believe the promiscuous traffic issue does not arise
with IPv6 multicast sockets.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: