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