On 9/8/18 11:49 AM, Andre Naujoks wrote:
> On 9/7/18 6:08 PM, David Lloyd wrote:
>> On Fri, Sep 7, 2018 at 6:56 AM Andre Naujoks <nauts...@gmail.com> wrote:
>>> On 9/7/18 1:15 PM, Alan Bateman wrote:
>>>> On 07/09/2018 10:49, Decke, Hendrik (K-GERFA/A) wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> it seems one of our external developers (Andre Naujoks, CC) found a
>>>>> bug while binding a IPv6 multicast UDP-socket for one of our projects.
>>>>>
>>>>>
>>>>>
>>>>> Since this seems to be a fundamental bug (from our perspective), we
>>>>> address this directly to this mailing list.
>>>>>
>>>>> (reproducible in OpenJDK 8-11, Windows and Linux)
>>>>>
>>>> This bug was submitted this week on this issue:
>>>>   https://bugs.openjdk.java.net/browse/JDK-8210493
>>>>
>>>> Have you tried joining the mullticast group, specifying the network
>>>> interface, rather than binding to the multicast address?
>>>
>>> Hi Alan.
>>>
>>> First of all, thank you for the quick reply. I was not aware, that there
>>> was actually a bug opened for that issue.
>>>
>>> The join is not the problem at this point. We need to bind the socket to
>>> the address to avoid receiving traffic from all multicast groups, that
>>> are joined on the system. Since a join joins the system (not the socket)
>>> to the group, all sockets bound to a port, which receive multicast
>>> traffic will receive all of that traffic, no matter the destination
>>> address. The bind prevents that. IP_MULTICAST_ALL sadly only works for
>>> IPv4 and the patch I tried to get IPV6_MULTICAST_ALL upstream into the
>>> kernel was even more sadly (almost) ignored. see
>>> https://marc.info/?l=linux-netdev&m=152344460530252&w=2
>>
>> Hi Andre,
>>
>> I spoke with a colleague about this kernel patch.  They said first of
>> all that multicast filtering is pretty complex in the kernel with a
>> lot of subtle behaviors.  But, they also said that it may have been
>> ignored because of the format of the patch, perhaps even
>> accidentally/automatically.  The proposed patch has an "RFC" tag, and
>> such patches apparently need to be in "git-format-patch" mode.
>> Lastly, they said that since the time that the post was made,
>> IP_MULTICAST_ALL (for IPv4 only of course) has changed a little bit in
>> that "it only allows receipt of all multicast groups if a specific
>> list of multicast groups has not already been set", so it may need to
>> be updated accordingly.  FWIW they didn't mention seeing any actual
>> problems with the content of the patch, though I'm not sure how
>> thoroughly they reviewed it.
>>
>> So, while I myself am not a Linux kernel contributor, I do suspect
>> that if you reposted an updated version of the patch, in the correct
>> format, it will enter the patch queue and may be more actively
>> discussed.  For more information, see [1].
>>
>> [1] 
>> https://www.kernel.org/doc/html/v4.17/process/submitting-patches.html#the-canonical-patch-format
>>
> 
> Hi David
> 
> Thanks for the advice. The patch was actually generated with 'git
> format-patch' I just added some explanatory text, which I did not see as
> part of the commit message. The RFC tag was intentional because I am not
> that deeply familiar with the networking code in the kernel to "just
> send a patch", if you know what I mean. As far as I know, there is no
> automatic handling of those e-mails except for the patchwork stuff.
> 
> I need to take a look at the IP_MULTICAST_ALL changes and see, if there
> is anything that needs to be changed in the IPV6_MULTICAST_ALL addition
> to accommodate for that. But, as you said, the multicast filtering is
> pretty complex.
> 
> I'll try and re-post the patch on Monday, leave out all the extra stuff
> and see if it changes anything or at least if it gets any more replies.

I just reposted the patch. Fully automated this time. I couldn't find
any changes in the IPv4 handling of the socket option, that was not
there, when I first posted it.

Lets see, if this has more success.

https://marc.info/?l=linux-netdev&m=153656806202701&w=2


Regards
  Andre

> 
> Regards
>   Andre
> 

Reply via email to