Re: [RFC v1] nvme-tcp: enable linger socket option on shutdown
From: Daniel Wagner
Date: Tue Sep 14 2021 - 04:46:19 EST
On Mon, Sep 06, 2021 at 08:58:20AM +0100, Christoph Hellwig wrote:
> On Fri, Sep 03, 2021 at 02:17:57PM +0200, Daniel Wagner wrote:
> > When the no linger is set, the networking stack sends FIN followed by
> > RST immediately when shutting down the socket. By enabling linger when
> > shutting down we have a proper shutdown sequence on the wire.
> >
> > Signed-off-by: Daniel Wagner <dwagner@xxxxxxx>
> > ---
> > The current shutdown sequence on the wire is a bit harsh and
> > doesn't let the remote host to react. I suppose we should
> > introduce a short (how long?) linger pause when shutting down
> > the connection. Thoughs?
>
> Why? I'm not really a TCP expert, but why is this different from
> say iSCSI or NBD?
I am also no TCP expert. Adding netdev to Cc.
During testing the nvme-tcp subsystem by one of our partners we observed
this. Maybe this is perfectly fine. Just as I said it looks a bit weird
that a proper shutdown of the connection a RST is send out right after
the FIN.
No idea how iSCSI or NBD handles this. I'll check.