All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Ricardo Leitner <mleitner@redhat.com>
To: tuexen@freebsd.org
Cc: Xin Long <lucien.xin@gmail.com>,
	"linux-sctp @ vger . kernel . org" <linux-sctp@vger.kernel.org>
Subject: Re: add SPP_PLPMTUD_ENABLE/DISABLE flag for spp_flags
Date: Thu, 20 May 2021 12:27:28 -0700	[thread overview]
Message-ID: <CALnP8ZYP+Evo4qUkGjRt2eCfHTtDYQaMzO1LTgOg4YfPu4qaLA@mail.gmail.com> (raw)
In-Reply-To: <F3974C05-D740-4FB4-93D2-4FA7E9B1D88D@freebsd.org>

On Thu, May 20, 2021 at 08:59:49AM +0200, tuexen@freebsd.org wrote:
> > On 20. May 2021, at 02:45, Marcelo Ricardo Leitner <mleitner@redhat.com> wrote:
> >
> > On Thu, May 20, 2021 at 01:16:38AM +0200, Michael Tuexen wrote:
> >>> On 20. May 2021, at 00:44, mleitner@redhat.com wrote:
> >>>
> >>> On Wed, May 19, 2021 at 02:44:20PM -0400, Xin Long wrote:
> >>>> On Wed, May 19, 2021 at 2:15 PM Michael Tuexen <tuexen@freebsd.org> wrote:
> >>>>>
> >>>>>> On 19. May 2021, at 18:18, Xin Long <lucien.xin@gmail.com> wrote:
> >>>>>>
> >>>>>> On Tue, May 18, 2021 at 2:33 PM Xin Long <lucien.xin@gmail.com> wrote:
> >>>>>>>
> >>>>>>> On Tue, May 18, 2021 at 1:38 PM Michael Tuexen <tuexen@freebsd.org> wrote:
> >>>>>>>>
> >>>>>>>>> On 18. May 2021, at 18:43, Xin Long <lucien.xin@gmail.com> wrote:
> >>>>>>>>>
> >>>>>>>>> Hi, Michael,
> >>>>>>>>>
> >>>>>>>>> We're implementing RFC8899 (PLPMTUD) on Linux SCTP recently,
> >>>>>>>>> and to make this be controlled by setsockopt with
> >>>>>>>>> SCTP_PEER_ADDR_PARAMS, as in
> >>>>>>>>>
> >>>>>>>>> https://datatracker.ietf.org/doc/html/rfc6458#section-8.1.12:
> >>>>>>>>>
> >>>>>>>>> we need another two flags to add for spp_flags:
> >>>>>>>>>
> >>>>>>>>> SPP_PLPMTUD_ENABLE
> >>>>>>>>> SPP_PLPMTUD_DISABLE
> >>>>>>>>>
> >>>>>>>>> Do you think it makes sense? if yes, does the RFC6458 need to update?
> >>>>>>>>> if not, do you have a better suggestion for it?
> >>>>>>>> It is great new that you want to implement RFC 8899. I plan to do the
> >>>>>>>> same for the FreeBSD stack.
> >>>>>>>>
> >>>>>>>> In my view, RFC 8899 is the right way to implement PMTU discovery.
> >>>>>>>> So I will just use the SPP_PMTUD_ENABLE and SPP_PMTUD_DISABLE. I don't
> >>>>>>>> think that the user needs to control which method is used.
> >>>>>>>> I you want to support multiple versions, I would make that
> >>>>>>>> controllable via a sysctl variable. But I think for FreeBSD, support
> >>>>>>>> for RFC 8899 will be the only way of doing PMTU discovery. There
> >>>>>>>> might be multiple choices for details like how to do the searching,
> >>>>>>>> how long to wait for some events. These will be controllable via
> >>>>>>>> sysctl.
> >>>>>>>>
> >>>>>>>> So in my view, there is no need to extend the socket API. What do you think?
> >>>>>> I just noticed that with multiple versions supported, and without extending
> >>>>>> this API, all applications will have to use the same version as it's
> >>>>>> controlled by
> >>>>>> sysctl. And when switching to another version by sysctl, all
> >>>>>> applications will be
> >>>>>> affected and have to do the switch. that seems not nice.
> >>>>> That is true, but an application can not expect any specific behaviour
> >>>>> right now when they are not disabling PMTUD.
> >>>>>
> >>>>> What about adding a sysctl variable, which defines the default
> >>>>> algorithm and a socket option, which allows to get and set
> >>>>> the algorithm being used.
> >>>> yes, that's also what I'm thinking.
> >>>
> >>> +1
> >>>
> >>>> sysctl is always used for the default value for future sockets.
> >>>> and the socket option should be added for a socket/asoc's setting.
> >>>
> >>> Speaking of inheritance, it should also use the SCTP_FUTURE_ASSOC /
> >>> SCTP_CURRENT_ASSOC / SCTP_ALL_ASSOC mechanism. Like
> >>> SCTP_PEER_ADDR_PARAMS, for example.
> >> Yepp.
> >>>
> >>> The system can provide defaults but if the application requires
> >>> something, it should have a good way of requesting it.
> >>>
> >>> Speaking of SCTP_PEER_ADDR_PARAMS, maybe reuse spp_pathmtu field?
> >>> As in, if SPP_PMTUD_ENABLE is enabled, spp_pathmtu of "1" or "2" bytes
> >>> doesn't make sense, and it could mean the algorithm used. Thing is,
> >>> the field is currently ignored, and it could lead to some unexpected
> >>> behavior change. It's probably safer to just add another sockopt, but
> >>> wanted to share the idea anyway.
> >> I leave it completely up to you what you implement in Linux. But I
> >> would prefer to use a separate socket option instead of overloading
> >> an existing one.
> >
> > Wait. Somehow I thought we were talking about extending the RFC with
> > these new definitions here, no? Or at least agreeing on a common
> > interface. It would be beneficial for the application to be able to
> > use the same API on FreeBSD or Linux.
> Hi Marcelo,

Hi!

>
> sorry for not being clear.
>
> What I wanted to say:
>
> 1. I really appreciate the discussion and I agree that it would be great

+1

>    if we can agree on a common interface allowing to write portable
>    applications.
>
> 2. I don't like the idea of overloading the spp_pathmtu.

Me neither. :D

>
> 3. I'm not in a position to put in a veto to what anyone is implementing
>    in any implementation (except maybe the FreeBSD implementation).
>
> Regarding the extension of the RFC. An RFC can't be changed. One can file
> erratas, but I think we are discussing here an extension of the socket API
> to cope with RFC 8899. So I don't think it is an errata. It would have been
> appropriate to add a socket API section to RFC 8899, but it is too late for
> that, too.
>
> So I guess we can discuss it here and come to an agreement how to extend
> the socket API for RFC 8899. I'm more that happy to do this.

Nice. Okay.

>
> I hope I expressed my view now clearer.

Yep. On the same page now, thanks. :-)

Best regards,
Marcelo

>
> Best regards
> Michael
>
>
> >
> > Thanks,
> > Marcelo
> >
> >>
> >> Best regards
> >> Michael
> >>>
> >>>>
> >>>> SCTP_PTMUD_METHOD?
> >>>
> >>> s/PTMUD/PMTUD/ :-)
> >>>
> >>>> 0: PTB one
> >>>> 1. PLPMTUD
> >>>>
> >>>>>
> >>>>> Best regards
> >>>>> Michael
> >>>>>>
> >>>>>>> OK, that makes sense to me.
> >>>>>>>
> >>>>>>> Another thing I want to know your opinion on is:  do you think the HB
> >>>>>>> should be created
> >>>>>>> separately for PLPMTUD probe, instead of reusing the old HB that
> >>>>>>> checks the link connectivity?
> >>>>>>> As the HB for PLPMTUD probe might get lost, which we don't want to
> >>>>>>> affect the link's
> >>>>>>> connectivity.
> >>>>>>>
> >>>>>>>>
> >>>>>>>> Best regards
> >>>>>>>> Michael
> >>>>>>>>>
> >>>>>>>>> Thanks.
> >>>>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >
>


  reply	other threads:[~2021-05-20 19:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-18 16:43 add SPP_PLPMTUD_ENABLE/DISABLE flag for spp_flags Xin Long
2021-05-18 17:38 ` Michael Tuexen
2021-05-18 18:33   ` Xin Long
2021-05-18 19:19     ` Michael Tuexen
2021-05-19 22:24       ` mleitner
2021-05-20  2:05         ` Xin Long
2021-05-20  7:06           ` tuexen
2021-05-20 15:13             ` Xin Long
2021-05-19 16:18     ` Xin Long
2021-05-19 18:15       ` Michael Tuexen
2021-05-19 18:44         ` Xin Long
2021-05-19 22:44           ` mleitner
2021-05-19 23:16             ` Michael Tuexen
2021-05-20  0:45               ` Marcelo Ricardo Leitner
2021-05-20  6:59                 ` tuexen
2021-05-20 19:27                   ` Marcelo Ricardo Leitner [this message]
2021-05-19 23:10           ` Michael Tuexen

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=CALnP8ZYP+Evo4qUkGjRt2eCfHTtDYQaMzO1LTgOg4YfPu4qaLA@mail.gmail.com \
    --to=mleitner@redhat.com \
    --cc=linux-sctp@vger.kernel.org \
    --cc=lucien.xin@gmail.com \
    --cc=tuexen@freebsd.org \
    /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.