All of lore.kernel.org
 help / color / mirror / Atom feed
From: Florian Westphal <fw@strlen.de>
To: Paolo Abeni <pabeni@redhat.com>
Cc: Florian Westphal <fw@strlen.de>,
	mptcp@lists.linux.dev, mptcp@lists.01.org
Subject: Re: [MPTCP] [RFC PATCH mptcp-next v2 1/8] mptcp: add skeleton to sync msk socket options to subflows
Date: Thu, 25 Mar 2021 15:06:03 +0100	[thread overview]
Message-ID: <20210325140603.GA8998@breakpoint.cc> (raw)
In-Reply-To: <205a6dd33129312123ca863a8bab4aca23dad96b.camel@redhat.com>

Paolo Abeni <pabeni@redhat.com> wrote:
> > Ok, so you propose to init ssk->sockopt_seq to msk->sockopt_seq in
> > mptcp_accept()?
> 
> in subflow_syn_recv_sock(), but only if we can avoid incrementing  msk-
> >sockopt_seq on per setsockopt basis, otherwise things will be
> crippled:
> 
> socket(s1)
> setsockopt(s1)   // s1->seq 1
> listen(s1)
> 
> s2 = accept() s2->seq == s1->seq == ssk->seq
> 
> setsockopt(s2)   s2->seq = 2
> setsockopt(s1, <a different sockopt from the above>) s1->seq = 2
> 
> At this point, if we increment sockopt_seq after everu sockopt, s1-
> >sockopt_seq and s2->sockopt_seq will be equal (and we will not sync
> any mpj subflow accepted later if propagate sockopt_seq to ssk). 

Sorry, I am not following.

The ssk (s2 msk->first) has ssk->seq 1, s2 msk has 2, so this would be
synced again on completion.

I don't understand how s1 and s2 are related.
This is too complicated for me :(

> Instead, if we set sockopt_seq to some socket status related value
> after every setsockopt(), s2->sockopt_seq and s1->sockopt_seq will be
> different and we will sync later MPJ subflows.

What is a 'socket status related value'?

> Perhaps we can keep the things as-is to and ev change/improve in a
> second time?

I am confused, you mean leave it as-is, i.e. scratch this patch set
and retry (new per-subflow sockopt api for instance)?

Or leave this RFC v2 as-is and see if we can improve the sync strategy
later?

  reply	other threads:[~2021-03-25 14:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-24 13:15 [RFC PATCH mptcp-next v2 0/8] initial SOL_SOCKET support Florian Westphal
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 1/8] mptcp: add skeleton to sync msk socket options to subflows Florian Westphal
2021-03-24 17:38   ` [MPTCP] " Paolo Abeni
2021-03-24 20:01     ` Florian Westphal
2021-03-25  9:51       ` Paolo Abeni
2021-03-25 12:49         ` Florian Westphal
2021-03-25 13:12           ` Paolo Abeni
2021-03-25 14:06             ` Florian Westphal [this message]
2021-03-25 14:33               ` Paolo Abeni
2021-03-25 14:45                 ` Florian Westphal
2021-03-26  9:59                   ` Paolo Abeni
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 2/8] mptcp: setsockopt: handle SO_KEEPALIVE and SO_PRIORITY Florian Westphal
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 3/8] mptcp: setsockopt: handle receive/send buffer and device bind Florian Westphal
2021-03-24 16:34   ` [MPTCP] " Paolo Abeni
2021-03-24 17:15     ` Florian Westphal
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 4/8] mptcp: setsockopt: support SO_LINGER Florian Westphal
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 5/8] mptcp: setsockopt: add SO_MARK support Florian Westphal
2021-03-25  1:22   ` Mat Martineau
2021-03-25  9:32     ` Florian Westphal
2021-03-26  0:14       ` Mat Martineau
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 6/8] mptcp: setsockopt: add SO_INCOMING_CPU Florian Westphal
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 7/8] mptcp: setsockopt: SO_DEBUG and no-op options Florian Westphal
2021-03-24 13:15 ` [RFC PATCH mptcp-next v2 8/8] mptcp: sockopt: add TCP_CONGESTION and TCP_INFO Florian Westphal

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=20210325140603.GA8998@breakpoint.cc \
    --to=fw@strlen.de \
    --cc=mptcp@lists.01.org \
    --cc=mptcp@lists.linux.dev \
    --cc=pabeni@redhat.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.