• Nikolay Aleksandrov's avatar
    net: bridge: mcast: use multicast_membership_interval for IGMPv3 · fac3cb82
    Nikolay Aleksandrov authored
    When I added IGMPv3 support I decided to follow the RFC for computing
    the GMI dynamically:
    " 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)."
    
    But that actually is inconsistent with how the bridge used to compute it
    for IGMPv2, where it was user-configurable that has a correct default value
    but it is up to user-space to maintain it. This would make it consistent
    with the other timer values which are also maintained correct by the user
    instead of being dynamically computed. It also changes back to the previous
    user-expected GMI behaviour for IGMPv3 queries which were supported before
    IGMPv3 was added. Note that to properly compute it dynamically we would
    need to add support for "Robustness Variable" which is currently missing.
    Reported-by: default avatarHangbin Liu <liuhangbin@gmail.com>
    Fixes: 0436862e ("net: bridge: mcast: support for IGMPv3/MLDv2 ALLOW_NEW_SOURCES report")
    Signed-off-by: default avatarNikolay Aleksandrov <nikolay@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    fac3cb82
br_private.h 59.3 KB