From: Xin Long <lucien....@gmail.com>
Date: Sat,  5 Dec 2015 15:35:36 +0800

> when A sends a data to B, then A close() and enter into SHUTDOWN_PENDING
> state, if B neither claim his rwnd is 0 nor send SACK for this data, A
> will keep retransmitting this data until t5 timeout, Max.Retrans times
> can't work anymore, which is bad.
> 
> if B's rwnd is not 0, it should send abort after Max.Retrans times, only
> when B's rwnd == 0 and A's retransmitting beyonds Max.Retrans times, A
> will start t5 timer, which is also commit f8d960524328 ("sctp: Enforce
> retransmission limit during shutdown") means, but it lacks the condition
> peer rwnd == 0.
> 
> so fix it by adding a bit (zero_window_announced) in peer to record if
> the last rwnd is 0. If it was, zero_window_announced will be set. and use
> this bit to decide if start t5 timer when local.state is SHUTDOWN_PENDING.
> 
> Fixes: commit f8d960524328 ("sctp: Enforce retransmission limit during 
> shutdown")
> Signed-off-by: Xin Long <lucien....@gmail.com>
> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leit...@gmail.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to