[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250516162716.340fb97c@kernel.org>
Date: Fri, 16 May 2025 16:27:16 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Chuck Lever <chuck.lever@...cle.com>
Cc: Hannes Reinecke <hare@...e.de>, Sabrina Dubroca <sd@...asysnail.net>,
netdev@...r.kernel.org, Steve Sears <sjs@...merspace.com>, Thomas Haynes
<loghyr@...merspace.com>, Linux NFS Mailing List
<linux-nfs@...r.kernel.org>, kernel-tls-handshake
<kernel-tls-handshake@...ts.linux.dev>
Subject: Re: RPC-with-TLS client does not receive traffic
On Thu, 15 May 2025 11:05:21 -0400 Chuck Lever wrote:
> >>> The first tls_data_ready call then handles the waiting ingress data as
> >>> expected.
> >
> > I _think_ you are expected to set the callbacks prior to do the tls
> > handshake upcall (at least, that's what I'm doing).
> > It's not that you can (nor should) receive anything on the socket
> > while the handshake is active.
> > If it fails you can always reset them to the original callbacks.
>
> It looks to me like the socket callbacks are set up correctly. If I
> apply a patch to remove the msg_ready optimization from tls_data_ready,
> everything works as expected.
The thinking is that we can stop reporting "data ready" once we have
a data record, because reader must check for pre-existing data when
starting to monitor the socket. I suspect when you say "everything
works as expected" you mean that the next chunk of data coming in
wakes the reader and reader catches up?
Could you point me to the exact code path that handles the callback
installation? Does it handle a socket with data in rcvq already?
Powered by blists - more mailing lists