When investigating CR 6521014 & 6521974, it is found that if a Linux box sends to its own link-local address some data, it can't receive those data. A native Linux application has been developed then. Although it proves that this is a Linux platform problem, not a java one, the issue still need to be tracked. This CR will track the progress about it.
There are two specific issues described by this bug. Both are bugs in the Linux kernel and cause two separate JCK tests to fail.
DatagramSocket: fixed in kernel versions greater than 22.214.171.124
Socket: fixed in kernel versions greater than 2.6.12
I verified that both of the JCK test pass on kernel versions greater than the ones listed above.
It *is* because of Linux kernel bug. TCP half of the problem has been fixed in 2.6.12-rc2. See changelog:
[IPV6]: Fix address/interface handling according to the scoping architecture
I think this has been there for long time (maybe since 2.4...).
With the following patch, I can connect local link-local address.
- Change incoming interface according to the scoping architecture
- Choose source address on appropriate interface, according to the
And UDP portion has been recorded in Linux kernel bug database:
synopsis "Using Link-local address, IPv6 udp Client and Server running on a same host won't communication".
On receiving side, bind to IPv6 wildcard address 0::0 instead of link-local address.