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

From: Stefano Garzarella
Date: Thu Mar 02 2023 - 04:22:02 EST


On Sat, Feb 18, 2023 at 07:25:41AM +0000, Bobby Eshleman wrote:
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.

I agree, since I had the same doubt in previous versions, I think it's worth putting a comment in the code to explain why.

Since there may be a v4, I'll leave some small comments in a separate email.

Thanks,
Stefano


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.