RFR(S): JDK-8151444 JDP not working on some windows configurations

Yasumasa Suenaga yasuenag at gmail.com
Wed Mar 23 13:08:19 UTC 2016


Dmitry,

Thanks, I understood.
I have no objection.


Yasumasa


On 2016/03/23 20:51, Dmitry Samersoff wrote:
> Yasumasa,
> 
>    We have at least two problems with explicit setting of IP_MULTICAST_IF
> that I can reproduce in-house.[1]
> 
>    Source address of IP packet should match the interface we are using
> and network configuration can be changed while Java app is running i.e.
> after the point we are setting interface flags.
> 
>    So existing code is incorrect, and I decide to remove it.
> 
>    If we need to reliably send broadcast to all available interfaces,
> code have to be more complicated than just setting IP_MULTICAST_IF on
> jdp start.
>    We probably need to check the state of available interfaces
> periodically and launch separate JdpBroadcaster for each interface.
> 
>    I'm not sure we should add such complication to Jdp.
>    Sorry!
> 
> * * *
> 1. Below is Linux/tcpdump output in one of test configurations:
> eth0 192.168.0.77 connected to LAN, wlan0 172.16.2.100 is not connected
> to anything.
> 
> *Default settings:*
> 
> dooku:hs-rt#tcpdump -n -i eth0 port 7095
> 
> IP 192.168.0.77.35874 > 224.0.23.178.7095: UDP, length 262
> 
> dooku:hs-rt#tcpdump -n -i wlan0 port 7095
> 
> <no packets>
> 
> *IP_MULTICAST_IF set explicitly for both eth0 and wlan0*
> 
> dooku:hs-rt#tcpdump -n -i eth0 port 7095
> 
> IP 172.16.2.100.44921 > 224.0.23.178.7095: UDP, length 262
> 
> dooku:hs-rt#tcpdump -n -i wlan0 port 7095
> 
> IP 172.16.2.100.42919 > 224.0.23.178.7095: UDP, length 262
> 
> -Dmitry
> 
> 
> 
> 
> On 2016-03-23 02:18, Yasumasa Suenaga wrote:
>> Hi Dmitry,
>>
>> Does your change work on Linux multi-homed environment?
>> The code which you remove is added at JDK-8057556.
>>
>>    http://mail.openjdk.java.net/pipermail/serviceability-dev/2014-September/015504.html
>>
>> DiagramChannel which is used in JDPBroadcaster tries to send JDP packet
>> through all "UP" NICs.
>> However, NIC which is controlled by NetworkManager seems to be still "UP"
>> when ifdown command is executed.
>> (It seems to be removed IP address from NIC only.)
>>
>> I cannot check your change because I destroyed environment for reproduce.
>> Did you check your change on Linux multi-homed (and NetworkManager is active)
>> environment?
>>
>>
>> Thanks,
>>
>> Yasumasa
>>
>>
>> On 2016/03/22 20:51, Dmitry Samersoff wrote:
>>> Everybody,
>>>
>>> Please review the fix:
>>>
>>> http://cr.openjdk.java.net/~dsamersoff/JDK-8151444/webrev.01/
>>>
>>> Removed code attempts to set IP_MULTICAST_IF to enforce sending of JDP
>>> packets to all available interfaces. It doesn't work on some multi-homed
>>> windows configurations.
>>>
>>> Also fixed minor bug in testcase.
>>>
>>> -Dmitry
>>>
>>>
>>>
> 
> 


More information about the serviceability-dev mailing list