From: Tuong Lien <tuong.t.l...@dektech.com.au> Date: Tue, 16 Apr 2019 10:48:07 +0700
> According to the link FSM, when a link endpoint got RESET_MSG (- a > traditional one without the stopping bit) from its peer, it moves to > PEER_RESET state and raises a LINK_DOWN event which then resets the > link itself. Its state will become ESTABLISHING after the reset event > and the link will be re-established soon after this endpoint starts to > send ACTIVATE_MSG to the peer. > > There is no problem with this mechanism, however the link resetting has > cleared the link 'in_session' flag (along with the other important link > data such as: the link 'mtu') that was correctly set up at the 1st step > (i.e. when this endpoint received the peer RESET_MSG). As a result, the > link will become ESTABLISHED, but the 'in_session' flag is not set, and > all STATE_MSG from its peer will be dropped at the link_validate_msg(). > It means the link not synced and will sooner or later face a failure. > > Since the link reset action is obviously needed for a new link session > (this is also true in the other situations), the problem here is that > the link is re-established a bit too early when the link endpoints are > not really in-sync yet. The commit forces a resync as already done in > the previous commit 91986ee166cf ("tipc: fix link session and > re-establish issues") by simply varying the link 'peer_session' value > at the link_reset(). > > Acked-by: Jon Maloy <jon.ma...@ericsson.com> > Signed-off-by: Tuong Lien <tuong.t.l...@dektech.com.au> Applied. _______________________________________________ tipc-discussion mailing list tipc-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tipc-discussion