From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Miller Subject: Re: [PATCH net] ipv4/igmp: fix v1/v2 switchback timeout based on rfc3376, 8.12 Date: Mon, 29 Oct 2018 20:26:59 -0700 (PDT) Message-ID: <20181029.202659.2050767645662192126.davem@davemloft.net> References: <1540524635-18667-1-git-send-email-liuhangbin@gmail.com> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, daniel@iogearbox.net, hannes@stressinduktion.org, xiyou.wangcong@gmail.com To: liuhangbin@gmail.com Return-path: Received: from shards.monkeyblade.net ([23.128.96.9]:45078 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726090AbeJ3MSk (ORCPT ); Tue, 30 Oct 2018 08:18:40 -0400 In-Reply-To: <1540524635-18667-1-git-send-email-liuhangbin@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Hangbin Liu 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 > Signed-off-by: Hangbin Liu Applied.