From: Ying Xue <ying.xue@windriver.com>
To: Jon Maloy <jon.maloy@ericsson.com>, <davem@davemloft.net>,
<netdev@vger.kernel.org>
Cc: tipc-discussion@lists.sourceforge.net
Subject: Re: [net 1/1] tipc: initialize broadcast link stale counter correctly
Date: Fri, 12 Oct 2018 08:41:24 +0800 [thread overview]
Message-ID: <e76d155c-5325-6dd6-158f-79c3bc6db08f@windriver.com> (raw)
In-Reply-To: <1539288149-24122-1-git-send-email-jon.maloy@ericsson.com>
On 10/12/2018 04:02 AM, Jon Maloy wrote:
> In the commit referred to below we added link tolerance as an additional
> criteria for declaring broadcast transmission "stale" and resetting the
> unicast links to the affected node.
>
> Unfortunately, this 'improvement' introduced two bugs, which each and
> one alone cause only limited problems, but combined lead to seemingly
> stochastic unicast link resets, depending on the amount of broadcast
> traffic transmitted.
>
> The first issue, a missing initialization of the 'tolerance' field of
> the receiver broadcast link, was recently fixed by commit 047491ea334a
> ("tipc: set link tolerance correctly in broadcast link").
>
> Ths second issue, where we omit to reset the 'stale_cnt' field of
> the same link after a 'stale' period is over, leads to this counter
> accumulating over time, and in the absence of the 'tolerance' criteria
> leads to the above described symptoms. This commit adds the missing
> initialization.
>
> Fixes: a4dc70d46cf1 ("tipc: extend link reset criteria for stale packet
> retransmission")
>
> Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Acked-by: Ying Xue <ying.xue@windriver.com>
> ---
> net/tipc/link.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/net/tipc/link.c b/net/tipc/link.c
> index f6552e4..201c3b5 100644
> --- a/net/tipc/link.c
> +++ b/net/tipc/link.c
> @@ -1041,6 +1041,7 @@ static int tipc_link_retrans(struct tipc_link *l, struct tipc_link *r,
> if (r->last_retransm != buf_seqno(skb)) {
> r->last_retransm = buf_seqno(skb);
> r->stale_limit = jiffies + msecs_to_jiffies(r->tolerance);
> + r->stale_cnt = 0;
> } else if (++r->stale_cnt > 99 && time_after(jiffies, r->stale_limit)) {
> link_retransmit_failure(l, skb);
> if (link_is_bc_sndlink(l))
>
next prev parent reply other threads:[~2018-10-12 0:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-11 20:02 [net 1/1] tipc: initialize broadcast link stale counter correctly Jon Maloy
2018-10-12 0:41 ` Ying Xue [this message]
2018-10-16 5:04 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=e76d155c-5325-6dd6-158f-79c3bc6db08f@windriver.com \
--to=ying.xue@windriver.com \
--cc=davem@davemloft.net \
--cc=jon.maloy@ericsson.com \
--cc=netdev@vger.kernel.org \
--cc=tipc-discussion@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox