linux-sctp.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: tuexen@freebsd.org
To: Xin Long <lucien.xin@gmail.com>
Cc: "linux-sctp @ vger . kernel . org" <linux-sctp@vger.kernel.org>,
	Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Subject: Re: The new sysctl and socket option added for PLPMTUD (RFC8899)
Date: Sat, 12 Jun 2021 23:28:21 +0200	[thread overview]
Message-ID: <3455F74D-614D-4596-9F74-DF23335BD238@freebsd.org> (raw)
In-Reply-To: <CADvbK_de_SNVsTmeCUTOVZoD7A9-sB4cAiqv=0rnvgoGfhErOA@mail.gmail.com>



> On 12. Jun 2021, at 19:32, Xin Long <lucien.xin@gmail.com> wrote:
> 
> On Fri, Jun 11, 2021 at 4:42 PM <tuexen@freebsd.org> wrote:
>> 
>>> On 11. Jun 2021, at 22:20, Xin Long <lucien.xin@gmail.com> wrote:
>>> 
>>> Hi, Michael,
>>> 
>>> In the linux implementation of RFC8899, we decided to introduce one
>>> sysctl and one socket option for users to set up the PLPMUTD probe:
>>> 
>>> 1. sysctl -w net.sctp.plpmtud_probe_interval=1
>>> 
>>> plpmtud_probe_interval - INTEGER
>>>       The interval (in milliseconds) between PLPMTUD probe chunks. These
>>>       chunks are sent at the specified interval with a variable size to
>>>       probe the mtu of a given path between 2 associations. PLPMTUD will
>> I guess you mean "between 2 end points" instead of "between 2 associations".
>> 
>> I'm not sure what it means:
>> 
>> I assume, you have candidate 1400, 1420, 1460, 1480, and 1500.
>> 
>> Assume you sent a probe packet for 1400. Aren't you sending the
>> probe packet for 1420 as soon as you get an ACK for the probe packet
>> of size 1400? Or are you waiting for plpmtud_probe_interval ms?
> It will wait for "plpmtud_probe_interval" ms in searching state, but in
> searching complete it will be "plpmtud_probe_interval * 30" ms.
> 
> The step we are using is 32, when it fails, we turn the step to 4. For example:
> 1400, 1432, 1464, 1496, 1528 (failed), 1500(1496 + 4), 1504(failed,
> 1500 is the PMTU).
> 
> Sorry, "sysctl -w net.sctp.plpmtud_probe_interval=1" won't work.
> As plpmtud_probe_interval is the probe interval TIME for the timer.
> Apart from 0, the minimal value is 5000ms.
> 
> So it should be:
> 
> plpmtud_probe_interval - INTEGER
>        The time interval (in milliseconds) for sending PLPMTUD probe chunks.
>        These chunks are sent at the specified interval with a variable size
>        to probe the mtu of a given path between 2 endpoints. PLPMTUD will
>        be disabled when 0 is set.
> 
>        Default: 0
> 
> Thanks.
OK. Thanks for the clarification.

Best regards
Michael
>>>       be disabled when 0 is set.
>>> 
>>>       Default: 0
>>> 
>>> 2. a socket option that can be used per socket, assoc or transport
>>> 
>>> /* PLPMTUD Probe Interval socket option */
>>> struct sctp_probeinterval {
>>>       sctp_assoc_t spi_assoc_id;
>>>       struct sockaddr_storage spi_address;
>>>       __u32 spi_interval;
>>> };
>>> 
>>> #define SCTP_PLPMTUD_PROBE_INTERVAL    133
>>> 
>>> 
>>> The value above will enable/disable the PLPMUTD probe by setting up the probe
>>> interval for the timer. When it's 0, the timer will also stop and
>>> PLPMUTD is disabled.
>>> By this way, we don't need to introduce more options.
>> OK.
>>> 
>>> We're expecting to keep consistent with BSD on this, pls check and
>>> share your thoughts.
>> Looks good to me.
>> 
>> Best regards
>> Michael
>>> 
>>> Thanks.
>> 


  reply	other threads:[~2021-06-12 21:28 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-11 20:20 The new sysctl and socket option added for PLPMTUD (RFC8899) Xin Long
2021-06-11 20:42 ` tuexen
2021-06-12 17:32   ` Xin Long
2021-06-12 21:28     ` tuexen [this message]
     [not found]     ` <FEF068AA-C660-4A25-ABFE-D559B1136B58@fh-muenster.de>
2021-07-06  9:12       ` Timo Völker
2021-07-06 16:01         ` Xin Long
2021-07-07 12:36           ` Timo Völker
2021-07-07 16:30             ` Xin Long
2021-07-08 14:18               ` Timo Völker
2021-07-08 15:54                 ` Xin Long
2021-07-12  8:09                   ` Timo Völker
2021-07-19 16:55                     ` Xin Long

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=3455F74D-614D-4596-9F74-DF23335BD238@freebsd.org \
    --to=tuexen@freebsd.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=lucien.xin@gmail.com \
    --cc=marcelo.leitner@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).