On Mon, 12 Jun 2023 19:27:28 GMT, Deepa Kumari <[email protected]> wrote:

>>> Well, in that area we always had deviations on AIX, so definitely this 
>>> rings a bell. However, since AIX was not the most important platform for us 
>>> and that particular IPv6/IPv4 multicast feature didn't seem to be mission 
>>> critical and wouldn't fail TCK tests, we rather resorted to excluding some 
>>> tests internally, I believe. But it would be good to really resolve this 
>>> compatibility/spec/documentation issue, if possible.
>> 
>> Thanks. So yes, if some/all of the tests for multicasting were excluded then 
>> it helps explain why it didn't come up. The spec doesn't require that a 
>> DatgaramSocket or DatagramChannel to an IPv6 socket be capable of joining an 
>> IPv4 multicast group. So the tests in several areas might need updates as I 
>> don't think we've had a platform to date where it wasn't possible.
>
>> > Well, in that area we always had deviations on AIX, so definitely this 
>> > rings a bell. However, since AIX was not the most important platform for 
>> > us and that particular IPv6/IPv4 multicast feature didn't seem to be 
>> > mission critical and wouldn't fail TCK tests, we rather resorted to 
>> > excluding some tests internally, I believe. But it would be good to really 
>> > resolve this compatibility/spec/documentation issue, if possible.
>> 
>> Thanks. So yes, if some/all of the tests for multicasting were excluded then 
>> it helps explain why it didn't come up. The spec doesn't require that a 
>> DatgaramSocket or DatagramChannel to an IPv6 socket be capable of joining an 
>> IPv4 multicast group. So the tests in several areas might need updates as I 
>> don't think we've had a platform to date where it wasn't possible.
> 
> @AlanBateman , is it possible if there is a central place where the change 
> could me made for fixing all of the multicast  test cases?

> IIUC what @deepa181 is saying, it looks like the "IPv4 socket being unable to 
> join an IPv4 multicast group" problems surfaced when we moved away from 
> PlainDatagramSocketImpl in JDK 17? Probably because the delegate created does 
> not factor in the ProtocolFamily and though we started with attempting to 
> have an "IPv4 multicast socket join an IPv4 group", we end up trying to have 
> an "IPv4/IPv6 dual-stack socket (the delegate) join an IPv4 group" which AIX 
> doesn't permit.

IIRC It has never been possible to create a non-dual `MulticastSocket` / 
`DatagramSocket` without setting the property 
`-Djava.net.preferIPv4Stack=true`. The possibility to select a protocol family 
independently of this property is only available with `DatagramChannel`.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/14142#issuecomment-1601038453

Reply via email to