From: Hangbin Liu <liuhang...@gmail.com> Date: Fri, 26 Oct 2018 11:30:35 +0800
> Similiar with ipv6 mcast commit 89225d1ce6af3 ("net: ipv6: mld: fix v1/v2 > switchback timeout to rfc3810, 9.12.") > > i) RFC3376 8.12. Older Version Querier Present Timeout says: > > The Older Version Querier Interval is the time-out for transitioning > a host back to IGMPv3 mode once an older version query is heard. > When an older version query is received, hosts set their Older > Version Querier Present Timer to Older Version Querier Interval. > > This value MUST be ((the Robustness Variable) times (the Query > Interval in the last Query received)) plus (one Query Response > Interval). > > Currently we only use a hardcode value IGMP_V1/v2_ROUTER_PRESENT_TIMEOUT. > Fix it by adding two new items mr_qi(Query Interval) and mr_qri(Query Response > Interval) in struct in_device. > > Now we can calculate the switchback time via (mr_qrv * mr_qi) + mr_qri. > We need update these values when receive IGMPv3 queries. > > Reported-by: Ying Xu <yi...@redhat.com> > Signed-off-by: Hangbin Liu <liuhang...@gmail.com> Applied.