Re: [PATCH net-next v3 1/3] vsock: support sockmap

From: Bobby Eshleman
Date: Tue Feb 28 2023 - 17:40:42 EST


On Tue, Feb 28, 2023 at 04:36:22PM -0500, Michael S. Tsirkin wrote:
> On Tue, Feb 28, 2023 at 07:04:34PM +0000, Bobby Eshleman wrote:
> > @@ -1241,19 +1252,34 @@ static int vsock_dgram_connect(struct socket *sock,
> >
> > memcpy(&vsk->remote_addr, remote_addr, sizeof(vsk->remote_addr));
> > sock->state = SS_CONNECTED;
> > + sk->sk_state = TCP_ESTABLISHED;
> >
> > out:
> > release_sock(sk);
> > return err;
> > }
>
>
> How is this related? Maybe add a comment to explain? Does
> TCP_ESTABLISHED make sense for all types of sockets?
>

Hey Michael, definitely, I can leave a comment.

The real reason is due to this piece of logic in sockmap:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/core/sock_map.c?h=v6.2#n531

And because of it, you see the same thing in (for example)
unix_dgram_connect():
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/net/unix/af_unix.c?h=v6.2#n1394

I believe it makes sense for these other socket types.