netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* RPC-with-TLS client does not receive traffic
@ 2025-05-15 14:35 Chuck Lever
  2025-05-15 14:44 ` Chuck Lever
  0 siblings, 1 reply; 7+ messages in thread
From: Chuck Lever @ 2025-05-15 14:35 UTC (permalink / raw)
  To: Jakub Kicinski, Sabrina Dubroca; +Cc: netdev, Steve Sears, Thomas Haynes

Hi -

I'm troubleshooting an issue where, after a successful handshake, the
kernel TLS socket's data_ready callback is never invoked. I'm able to
reproduce this 100% on an Atom-based system with a Realtek Ethernet
device. But on many other systems, the problem is intermittent or not
reproducible.

The problem seems to be that strp->msg_ready is already set when
tls_data_ready is called, and that prevents any further processing. I
see that msg_ready is set when the handshake daemon sets the ktls
security parameters, and is then never cleared.

function:             tls_setsockopt
function:                do_tls_setsockopt_conf
function:                   tls_set_device_offload_rx
function:                   tls_set_sw_offload
function:                      init_prot_info
function:                      tls_strp_init
function:                   tls_sw_strparser_arm
function:                   tls_strp_check_rcv
function:                      tls_strp_read_sock
function:                         tls_strp_load_anchor_with_queue
function:                         tls_rx_msg_size
function:                            tls_device_rx_resync_new_rec
function:                         tls_rx_msg_ready

For a working system (a VMware guest using a VMXNet device), setsockopt
leaves msg_ready set to zero:

function:             tls_setsockopt
function:                do_tls_setsockopt_conf
function:                   tls_set_device_offload_rx
function:                   tls_set_sw_offload
function:                      init_prot_info
function:                      tls_strp_init
function:                   tls_sw_strparser_arm
function:                   tls_strp_check_rcv

The first tls_data_ready call then handles the waiting ingress data as
expected.

Any advice is appreciated.

-- 
Chuck Lever


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2025-05-19 23:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-05-15 14:35 RPC-with-TLS client does not receive traffic Chuck Lever
2025-05-15 14:44 ` Chuck Lever
2025-05-15 15:02   ` Hannes Reinecke
2025-05-15 15:05     ` Chuck Lever
2025-05-16 23:27       ` Jakub Kicinski
     [not found]         ` <8ABF3663-1BDD-4B87-8DA5-AB39774B1B89@oracle.com>
     [not found]           ` <20250516165355.6efb470e@kernel.org>
2025-05-17 16:39             ` Chuck Lever
2025-05-19 23:01               ` Jakub Kicinski

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).