[jboss-jira] [JBoss JIRA] Commented: (JGRP-956) Binding to mcast address in UDP.java is not working on Linux with IPv6
Richard Achmatowicz (JIRA)
jira-events at lists.jboss.org
Wed Sep 2 11:19:24 EDT 2009
[ https://jira.jboss.org/jira/browse/JGRP-956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12484174#action_12484174 ]
Richard Achmatowicz commented on JGRP-956:
------------------------------------------
There is another error message which can arise in this multicast binding situation.
When we try to bind to a IPv4 multicast address using an IPv6 stack, we get the following exception:
java.net.BindException: Cannot assign requested address
It appears that binding to an IPv4 multicast address using an IPv6 stack is outlwaed.
Binding to an IPv6 multicast address using an IPv6 stack works fine as described above.
> 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: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list