From: Vlad Yasevich <vyasevich@gmail.com>
To: Daniel Borkmann <dborkman@redhat.com>
Cc: Wang Weidong <wangweidong1@huawei.com>,
nhorman@tuxdriver.com, davem@davemloft.net,
netdev@vger.kernel.org, linux-sctp@vger.kernel.org
Subject: Re: [PATCH v5 1/2] sctp: check the rto_min and rto_max
Date: Mon, 09 Dec 2013 02:31:08 +0000 [thread overview]
Message-ID: <52A52B6C.7030305@gmail.com> (raw)
In-Reply-To: <52A38F36.8080609@redhat.com>
On 12/07/2013 04:12 PM, Daniel Borkmann wrote:
> On 12/07/2013 08:01 PM, Vlad Yasevich wrote:
>> On 12/07/2013 07:43 AM, Daniel Borkmann wrote:
>>> On 12/07/2013 08:17 AM, Wang Weidong wrote:
>>>> rto_min should be smaller than rto_max while rto_max should be larger
>>>> than rto_min. Add two proc_handler for the checking. Add the check in
>>>> sctp_setsockopt_rtoinfo.
>>>>
>>>> Suggested-by: Vlad Yasevich <vyasevich@gmail.com>
>>>> Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
>>>> ---
>>>
>>> Thanks Wang, also for your second patch.
>>>
>>> Second one looks good to me, thanks for the cleanup!
>>>
>>> I was wondering where 86400000 comes from? Looking through the git
>>> history didn't give much clues and the RFC4960 neither. Clearly,
>>> section 15 of RFC4960 *recommends* as initial values ...
>>>
>>> RTO.Initial - 3 seconds
>>> RTO.Min - 1 second
>>> RTO.Max - 60 seconds
>>>
>>> ... which we have as constants in [1] and are assigned to globals
>>> initially in [2,3] with those recommended values. That's all good.
>>>
>>> But still [not *directly* related to your patch though], where does
>>> 86400000 come from? I expect that's for the max SCTP heartbeat
>>> interval or max cookie lifetime?
>>
>> No, initially it was defined as rto_timer_max and was the upper bound
>> for the rto timer. When you think about it, it's a bit ridiculous
>> really. What you are saying is that your rto timer is allowed to
>> grow as long as 1 day, so you would at an absolute maximum retransmit
>> one packet per day :)
>
> Exactly, maybe initial SCTP implementors already took into account
> we could have SCTP connections to other galaxies, but clearly untested
> so far? :)
>
> I think we should be absolutely fine with a max configurable upper
> limit of twice the recommended RTO.Max value from the RFC.
That would only put at at 2 min... That may not be enough in certain
deployments. Yes, they always have the option to set it per socket,
but that becomes a pain and harder to tune the same app to different
links. I think 2 hours might be a safer maximum RTO.Max, but I find
it hard to justify shrinking this value. It isn't really broken
and if someone does set it to 6 hours, they really are shooting
themselves in the foot :)
-vlad
>
>> I don't think this limit is specified anywhere as is though. It
>> was something that's been there since the 2.5 days.
>>
>> -vlad
WARNING: multiple messages have this Message-ID (diff)
From: Vlad Yasevich <vyasevich@gmail.com>
To: Daniel Borkmann <dborkman@redhat.com>
Cc: Wang Weidong <wangweidong1@huawei.com>,
nhorman@tuxdriver.com, davem@davemloft.net,
netdev@vger.kernel.org, linux-sctp@vger.kernel.org
Subject: Re: [PATCH v5 1/2] sctp: check the rto_min and rto_max
Date: Sun, 08 Dec 2013 21:31:08 -0500 [thread overview]
Message-ID: <52A52B6C.7030305@gmail.com> (raw)
In-Reply-To: <52A38F36.8080609@redhat.com>
On 12/07/2013 04:12 PM, Daniel Borkmann wrote:
> On 12/07/2013 08:01 PM, Vlad Yasevich wrote:
>> On 12/07/2013 07:43 AM, Daniel Borkmann wrote:
>>> On 12/07/2013 08:17 AM, Wang Weidong wrote:
>>>> rto_min should be smaller than rto_max while rto_max should be larger
>>>> than rto_min. Add two proc_handler for the checking. Add the check in
>>>> sctp_setsockopt_rtoinfo.
>>>>
>>>> Suggested-by: Vlad Yasevich <vyasevich@gmail.com>
>>>> Signed-off-by: Wang Weidong <wangweidong1@huawei.com>
>>>> ---
>>>
>>> Thanks Wang, also for your second patch.
>>>
>>> Second one looks good to me, thanks for the cleanup!
>>>
>>> I was wondering where 86400000 comes from? Looking through the git
>>> history didn't give much clues and the RFC4960 neither. Clearly,
>>> section 15 of RFC4960 *recommends* as initial values ...
>>>
>>> RTO.Initial - 3 seconds
>>> RTO.Min - 1 second
>>> RTO.Max - 60 seconds
>>>
>>> ... which we have as constants in [1] and are assigned to globals
>>> initially in [2,3] with those recommended values. That's all good.
>>>
>>> But still [not *directly* related to your patch though], where does
>>> 86400000 come from? I expect that's for the max SCTP heartbeat
>>> interval or max cookie lifetime?
>>
>> No, initially it was defined as rto_timer_max and was the upper bound
>> for the rto timer. When you think about it, it's a bit ridiculous
>> really. What you are saying is that your rto timer is allowed to
>> grow as long as 1 day, so you would at an absolute maximum retransmit
>> one packet per day :)
>
> Exactly, maybe initial SCTP implementors already took into account
> we could have SCTP connections to other galaxies, but clearly untested
> so far? :)
>
> I think we should be absolutely fine with a max configurable upper
> limit of twice the recommended RTO.Max value from the RFC.
That would only put at at 2 min... That may not be enough in certain
deployments. Yes, they always have the option to set it per socket,
but that becomes a pain and harder to tune the same app to different
links. I think 2 hours might be a safer maximum RTO.Max, but I find
it hard to justify shrinking this value. It isn't really broken
and if someone does set it to 6 hours, they really are shooting
themselves in the foot :)
-vlad
>
>> I don't think this limit is specified anywhere as is though. It
>> was something that's been there since the 2.5 days.
>>
>> -vlad
next prev parent reply other threads:[~2013-12-09 2:31 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-07 7:17 [PATCH v5 0/2] sctp: check the rto_min and rto_max Wang Weidong
2013-12-07 7:17 ` Wang Weidong
2013-12-07 7:17 ` [PATCH v5 1/2] " Wang Weidong
2013-12-07 7:17 ` Wang Weidong
2013-12-07 12:43 ` Daniel Borkmann
2013-12-07 12:43 ` Daniel Borkmann
2013-12-07 13:13 ` Wang Weidong
2013-12-07 13:13 ` Wang Weidong
2013-12-07 19:01 ` Vlad Yasevich
2013-12-07 19:01 ` Vlad Yasevich
2013-12-07 21:12 ` Daniel Borkmann
2013-12-07 21:12 ` Daniel Borkmann
2013-12-09 2:31 ` Vlad Yasevich [this message]
2013-12-09 2:31 ` Vlad Yasevich
2013-12-07 18:54 ` Vlad Yasevich
2013-12-07 18:54 ` Vlad Yasevich
2013-12-09 1:53 ` Wang Weidong
2013-12-09 1:53 ` Wang Weidong
2013-12-09 2:19 ` Vlad Yasevich
2013-12-09 2:19 ` Vlad Yasevich
2013-12-09 2:28 ` Wang Weidong
2013-12-09 2:28 ` Wang Weidong
2013-12-09 2:40 ` Vlad Yasevich
2013-12-09 2:40 ` Vlad Yasevich
2013-12-09 2:51 ` Wang Weidong
2013-12-09 2:51 ` Wang Weidong
2013-12-09 3:28 ` Wang Weidong
2013-12-09 3:28 ` Wang Weidong
2013-12-09 14:55 ` Vlad Yasevich
2013-12-09 14:55 ` Vlad Yasevich
2013-12-09 15:40 ` Wang Weidong
2013-12-09 15:40 ` Wang Weidong
2013-12-07 7:17 ` [PATCH v5 2/2] sctp: fix up a spacing Wang Weidong
2013-12-07 7:17 ` Wang Weidong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=52A52B6C.7030305@gmail.com \
--to=vyasevich@gmail.com \
--cc=davem@davemloft.net \
--cc=dborkman@redhat.com \
--cc=linux-sctp@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nhorman@tuxdriver.com \
--cc=wangweidong1@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.