public inbox for linux-nvme@lists.infradead.org
 help / color / mirror / Atom feed
* nvme-tls and TCP window full
@ 2023-07-06 18:42 Hannes Reinecke
  2023-07-06 23:18 ` Sagi Grimberg
  0 siblings, 1 reply; 11+ messages in thread
From: Hannes Reinecke @ 2023-07-06 18:42 UTC (permalink / raw)
  To: Sagi Grimberg, linux-nvme@lists.infradead.org

Hi Sagi,

I'm currently debugging my nvme-tls patches; with the rebase to latest 
linus' head things started to behave erratically as occasionally a CQE 
was never received, triggering a reset.

Originally I thought it's my read_sock() implementation which is to 
blame, but then I fixed wireshark to do a proper frame dissecting 
(wireshark merge req #11359), and found that it's rather an issue with 
TCP window becoming full.
While this is arguably an issue with the sender (which is trying to send 
32k worth of data in one packet), the connection never recovers from the 
window full state; the command is dropped, never to reappear again.

I would have thought/hoped that we (from the NVMe side) would
be able to handle it better; in particular I'm surprised that we can 
send large chunks of data at all. And that the packet is dropped due to 
a protocol error without us notifying.
So question really is: do we check for the TCP window size somewhere?
If so, where? Or is it something the lower layers have to do for us?

Full packet dissection available on request.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                Kernel Storage Architect
hare@suse.de                              +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
Myers, Andrew McDonald, Martje Boudien Moerman


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

end of thread, other threads:[~2023-07-19 11:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-06 18:42 nvme-tls and TCP window full Hannes Reinecke
2023-07-06 23:18 ` Sagi Grimberg
2023-07-11  9:28   ` Sagi Grimberg
2023-07-11 10:31     ` Hannes Reinecke
2023-07-11 12:05       ` Sagi Grimberg
2023-07-13  9:48         ` Hannes Reinecke
2023-07-13 10:11           ` Sagi Grimberg
2023-07-13 10:16             ` Hannes Reinecke
2023-07-18 18:59               ` Jakub Kicinski
2023-07-19  7:27                 ` Hannes Reinecke
2023-07-19 11:54                   ` Sagi Grimberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox