[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20171103.154955.386281473222499622.davem@davemloft.net>
Date: Fri, 03 Nov 2017 15:49:55 +0900 (KST)
From: David Miller <davem@...emloft.net>
To: jon.maloy@...csson.com
Cc: netdev@...r.kernel.org, parthasarathy.bhuvaragan@...csson.com,
ying.xue@...driver.com, tipc-discussion@...ts.sourceforge.net
Subject: Re: [net-next 1/1] tipc: eliminate unnecessary probing
From: Jon Maloy <jon.maloy@...csson.com>
Date: Thu, 2 Nov 2017 15:44:15 +0100
> The neighbor monitor employs a threshold, default set to 32 peer nodes,
> where it activates the "Overlapping Neighbor Monitoring" algorithm.
> Below that threshold, monitoring is full-mesh, and no "domain records"
> are passed between the nodes.
>
> Because of this, a node never received a peer's ack that it has received
> the most recent update of the own domain. Hence, the field 'acked_gen'
> in struct tipc_monitor_state remains permamently at zero, whereas the
> own domain generation is incremented for each added or removed peer.
>
> This has the effect that the function tipc_mon_get_state() always sets
> the field 'probing' in struct tipc_monitor_state true, again leading the
> tipc_link_timeout() of the link in question to always send out a probe,
> even when link->silent_intv_count is zero.
>
> This is functionally harmless, but leads to some unncessary probing,
> which can easily be eliminated by setting the 'probing' field of the
> said struct correctly in such cases.
>
> At the same time, we explictly invalidate the sent domain records when
> the algorithm is not activated. This will eliminate any risk that an
> invalid domain record might be inadverently accepted by the peer.
>
> Signed-off-by: Jon Maloy <jon.maloy@...csson.com>
Applied.
Powered by blists - more mailing lists