Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-27 Thread lucien xin
No, these are 2 distinct instances. In one instance, the peer is reachable and is able to communication 0 rwnd state to us. Thus we are being nice and granting the peer more time to exit the 0 window state. In the other state, the peer is unreachable and we just happen to hit the

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-27 Thread Vlad Yasevich
On 08/27/2015 09:19 AM, lucien xin wrote: No, these are 2 distinct instances. In one instance, the peer is reachable and is able to communication 0 rwnd state to us. Thus we are being nice and granting the peer more time to exit the 0 window state. In the other state, the peer is

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-27 Thread Vlad Yasevich
On 08/27/2015 10:49 AM, lucien xin wrote: So one potential way is to have peer.rwnd and peer.a_rwnd, where peer.a_rwnd is the window advertised by peer and peer.rwnd and our estimation based on peer.a_rwnd. This way we will always know where we stand. Although I am not sure yet if we

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-27 Thread lucien xin
So one potential way is to have peer.rwnd and peer.a_rwnd, where peer.a_rwnd is the window advertised by peer and peer.rwnd and our estimation based on peer.a_rwnd. This way we will always know where we stand. Although I am not sure yet if we want to grow the peer structure any more.

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-27 Thread lucien xin
So one potential way is to have peer.rwnd and peer.a_rwnd, where peer.a_rwnd is the window advertised by peer and peer.rwnd and our estimation based on peer.a_rwnd. This way we will always know where we stand. Although I am not sure yet if we want to grow the peer structure any more.

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-24 Thread Marcelo Ricardo Leitner
On Sun, Aug 23, 2015 at 07:30:40PM +0800, Xin Long wrote: 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 util t5 timeout, Max.Retrans times can't work anymore,

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-24 Thread Vlad Yasevich
On 08/24/2015 02:31 PM, Marcelo Ricardo Leitner wrote: On Mon, Aug 24, 2015 at 02:13:38PM -0400, Vlad Yasevich wrote: On 08/23/2015 07:30 AM, Xin Long wrote: 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

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-24 Thread Marcelo Ricardo Leitner
On Mon, Aug 24, 2015 at 02:13:38PM -0400, Vlad Yasevich wrote: On 08/23/2015 07:30 AM, Xin Long wrote: 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 util

Re: [PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-24 Thread Marcelo Ricardo Leitner
On Mon, Aug 24, 2015 at 02:36:59PM -0400, Vlad Yasevich wrote: On 08/24/2015 02:31 PM, Marcelo Ricardo Leitner wrote: On Mon, Aug 24, 2015 at 02:13:38PM -0400, Vlad Yasevich wrote: On 08/23/2015 07:30 AM, Xin Long wrote: when A sends a data to B, then A close() and enter into

[PATCH net v2] sctp: start t5 timer only when peer.rwnd is 0 and local.state is SHUTDOWN_PENDING

2015-08-23 Thread Xin Long
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 util t5 timeout, Max.Retrans times can't work anymore, which is bad. if B's rwnd is not 0, it should send abord after