Subject: Re: [PATCH] sctp: make the max_burst min value to 1

From: Vlad Yasevich <[email-masked]>
Date: Mon, 02 Dec 2013 09:51:43 -0500

On 12/02/2013 07:03 AM, Wang Weidong wrote:
> On 2013/12/2 19:56, Neil Horman wrote:
>> On Mon, Dec 02, 2013 at 02:51:45PM +0800, Wang Weidong wrote:
>>> From: Wang Weidong <[email-masked]>
>>>
>>> when I setted the max_burst to 0, do the lksctp-tools I got hang.
>>> I found sctp_transport_burst_limited would make the cwnd to 0.
>>> so I make the max_burst min value to 1.
>>> Signed-off-by: Wang Weidong <[email-masked]>
>>> ---
>>>  net/sctp/sysctl.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
>>> index 7637e8e..46832d3 100644
>>> --- a/net/sctp/sysctl.c
>>> +++ b/net/sctp/sysctl.c
>>> @@ -135,7 +135,7 @@ static struct ctl_table sctp_net_table[] = {
>>>  		.maxlen		= sizeof(int),
>>>  		.mode		= 0644,
>>>  		.proc_handler	= proc_dointvec_minmax,
>>> -		.extra1		= &zero,
>>> +		.extra1		= &one,
>>>  		.extra2		= &int_max
>>>  	},
>>>  	{
>>> -- 
>>> 1.7.12
>>>
>>>
>>
>>
>> This seems like a band-aid to me.  There are a few things wrong:
>>
>> 1) You can also set the the max_burst via setsockopt, and so this would need to
>> be checked in that path as well.
>>
>> 2) I don't see how having a cwnd of zero would cause a hang.  It looks like a
>> cwnd of zero would perpetually place the association in a slow start state,
>> which is silly but not illegal.  
>>
> 
> Hm, Good suggestions. Ok, I will try it again and find the root cause.
> Thanks!

It's really simple.  sctp_transport_burst_limited() should simply do
nothing if max_burst is 0, essentially allowing unlimited bursts.

-vlad

> 
>> Please investigate the acutally root cause of the problem before just avoiding
>> it like this.
>>
>> Thanks!
>> Neil
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
>> the body of a message to [email-masked]
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>>
> 
>