lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <357fad9e-581e-7b71-9b32-aac77d5d13c1@nvidia.com>
Date:   Fri, 15 Oct 2021 11:57:06 +0300
From:   Nikolay Aleksandrov <nikolay@...dia.com>
To:     Hangbin Liu <liuhangbin@...il.com>,
        Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Cc:     netdev@...r.kernel.org, roopa@...dia.com,
        bridge@...ts.linux-foundation.org, kuba@...nel.org,
        davem@...emloft.net
Subject: Re: [PATCH net-next v4 10/15] net: bridge: mcast: support for
 IGMPv3/MLDv2 ALLOW_NEW_SOURCES report

On 15/10/2021 09:36, Hangbin Liu wrote:
> On Fri, Oct 15, 2021 at 10:52:00AM +0800, Hangbin Liu wrote:
>>> -	mod_timer(&p->timer, now + br->multicast_membership_interval);
>>> +	if (igmpv2_mldv1)
>>> +		mod_timer(&p->timer, now + br->multicast_membership_interval);
>>
>> Hi Nikolay,
>>
>> Our engineer found that the multicast_membership_interval will not work with
>> IGMPv3. Is it intend as you said "IGMPv3/MLDv2 handling is not yet
>> implemented" ?
> 
> Ah, I saw in br_multicast_group_expired() it wait for mp->ports be freed
> before delete the mdb entry.
> 
> And in br_multicast_port_group_expired() it wait for src entry freed first.
> 
> But when mod group src timer, we use
> __grp_src_mod_timer(ent, now + br_multicast_gmi(brmctx));
> 
> instead of user configured multicast_membership_interval. I think we should
> fix it. WDYT?
> 
> Thanks
> Hangbin
> 

Hi,
I did that intentionally because of how RFC 3376 defines the GMI:
" 8.4. Group Membership Interval

   The Group Membership Interval is the amount of time that must pass
   before a multicast router decides there are no more members of a
   group or a particular source on a network.

   This value MUST be ((the Robustness Variable) times (the Query
   Interval)) plus (one Query Response Interval)."

So it is computed properly and the RFC says "MUST" be. The only thing that is not
configurable is the QRV currently, if that is added then the GMI will be automatically
correctly computed as per the RFC. I get the inconsistency though as we don't compute all
timers as the RFC mandates, I'm inclined to revert the GMI computation as it was before
and possibly fix how all timers are computed in the future as that may require more work.
In addition this could've changed user-expected behaviour when switching to v3 queries which
were supported before IGMPv3 was added, so yeah going forward looks like it'd be better to
switch to the old GMI behaviour. I'll send the patch in a minute.

Thanks,
 Nik




Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ