All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: Chuck Lever III <chuck.lever@oracle.com>
Cc: netdev <netdev@vger.kernel.org>, "hare@suse.com" <hare@suse.com>,
	David Howells <dhowells@redhat.com>,
	Olga Kornievskaia <kolga@netapp.com>,
	"jmeneghi@redhat.com" <jmeneghi@redhat.com>,
	Benjamin Coddington <bcodding@redhat.com>,
	Jeff Layton <jlayton@redhat.com>
Subject: Re: [PATCH v2 2/3] net/handshake: Add support for PF_HANDSHAKE
Date: Tue, 31 Jan 2023 11:30:29 -0800	[thread overview]
Message-ID: <20230131113029.7647e475@kernel.org> (raw)
In-Reply-To: <9B7B66AA-E885-4317-8FE7-C9ABC94E027C@oracle.com>

On Tue, 31 Jan 2023 15:18:02 +0000 Chuck Lever III wrote:
> > On Jan 30, 2023, at 11:35 PM, Jakub Kicinski <kuba@kernel.org> wrote:
> > On Sat, 28 Jan 2023 14:06:49 +0000 Chuck Lever III wrote:  
> >> poll/listen/accept is the simplest and most natural way of
> >> materializing a socket endpoint in a process that I can think
> >> of. It's a well-understood building block. What specifically
> >> is troubling you about it?  
> > 
> > poll/listen/accept yes, but that's not the entire socket interface. 
> > Our overall experience with the TCP ULPs is rather painful, proxying
> > all the other callbacks here may add another dimension.  
> >
> > Also I have a fear (perhaps unjustified) of reusing constructs which are
> > cornerstones of the networking stack and treating them as abstractions.  
> 
> OK, then I take this as a NAK for listen/poll/accept in
> any form. I need some finality here because we need to
> move forward.

To be clear - if Paolo, Eric or someone else who knows the socket layer
better than I do thinks that your current implementation is good then 
I won't stand in the way. 

> >  kernel                          user space
> > 
> >   notification     ---------->
> > (new connection awaits)
> > 
> >                    <----------
> >                                  request (target fd=100)
> >   
> >                    ---------->  
> >   reply
> > (fd 100 is installed;
> >  extra params)  
> 
> What type of notification do you prefer for this? You've
> said in the past that RT signals are not appropriate. It
> would be easy for user space to simply wait on nlm_recvmsg()
> but I worry that netlink is not a reliable message service.

There are various bits and bobs in netlink which are supposed to help.
A socket which subscribed to notifications should get an error if a
delivery fails (netlink_overrun()). The kernel commonly supports a GET
request which the user space can exercise after missing notifications 
to get back in sync.

> And, do you have a preferred mechanism or code sample for
> installing a socket descriptor? 

I must admit - I don't.

  reply	other threads:[~2023-01-31 19:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-26 16:02 [PATCH v2 0/3] Another crack at a handshake upcall mechanism Chuck Lever
2023-01-26 16:02 ` [PATCH v2 1/3] net: Add an AF_HANDSHAKE address family Chuck Lever
2023-01-26 16:02 ` [PATCH v2 2/3] net/handshake: Add support for PF_HANDSHAKE Chuck Lever
2023-01-28  8:32   ` Jakub Kicinski
2023-01-28 14:06     ` Chuck Lever III
2023-01-31  4:35       ` Jakub Kicinski
2023-01-31 15:18         ` Chuck Lever III
2023-01-31 19:30           ` Jakub Kicinski [this message]
2023-01-31 19:34             ` Chuck Lever III
2023-01-31 20:23               ` Marcel Holtmann
2023-01-31 20:26               ` Benjamin Coddington
2023-01-28 17:40     ` Stephen Hemminger
2023-01-29 16:53       ` Chuck Lever III
2023-01-29 16:21     ` Hannes Reinecke
2023-01-30 13:44       ` Marcel Holtmann
2023-01-30 15:00         ` Chuck Lever III
2023-01-31  7:40         ` Hannes Reinecke
2023-01-31 14:17           ` Marcel Holtmann
2023-01-31 14:47             ` Hannes Reinecke
2023-01-31 20:32               ` Marcel Holtmann
2023-02-01  7:09                 ` Hannes Reinecke
2023-02-02 17:13             ` Xin Long
2023-02-02 17:32               ` Hannes Reinecke
2023-01-26 16:02 ` [PATCH v2 3/3] net/tls: Support AF_HANDSHAKE in kTLS Chuck Lever

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=20230131113029.7647e475@kernel.org \
    --to=kuba@kernel.org \
    --cc=bcodding@redhat.com \
    --cc=chuck.lever@oracle.com \
    --cc=dhowells@redhat.com \
    --cc=hare@suse.com \
    --cc=jlayton@redhat.com \
    --cc=jmeneghi@redhat.com \
    --cc=kolga@netapp.com \
    --cc=netdev@vger.kernel.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.