diff mbox series

[RFC,v6,17/22] virtio/vsock: SEQPACKET feature bit support

Message ID 20210307180404.3466602-1-arseny.krasnov@kaspersky.com
State Superseded
Headers show
Series virtio/vsock: introduce SOCK_SEQPACKET support | expand

Commit Message

Arseny Krasnov March 7, 2021, 6:04 p.m. UTC
This adds handling of SEQPACKET bit: guest tries to negotiate it
with vhost.

Signed-off-by: Arseny Krasnov <arseny.krasnov@kaspersky.com>
---
 net/vmw_vsock/virtio_transport.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Stefano Garzarella March 15, 2021, 11:29 a.m. UTC | #1
On Sun, Mar 07, 2021 at 09:04:01PM +0300, Arseny Krasnov wrote:
>This adds handling of SEQPACKET bit: guest tries to negotiate it

>with vhost.

>

>Signed-off-by: Arseny Krasnov <arseny.krasnov@kaspersky.com>

>---

> net/vmw_vsock/virtio_transport.c | 5 +++++

> 1 file changed, 5 insertions(+)


Also for this patch I think is better to move after we set the 
seqpackets ops.

>

>diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c

>index 2700a63ab095..41c5d0a31e08 100644

>--- a/net/vmw_vsock/virtio_transport.c

>+++ b/net/vmw_vsock/virtio_transport.c

>@@ -612,6 +612,10 @@ static int virtio_vsock_probe(struct virtio_device *vdev)

> 	rcu_assign_pointer(the_virtio_vsock, vsock);

>

> 	mutex_unlock(&the_virtio_vsock_mutex);

>+

>+	if (vdev->features & (1ULL << VIRTIO_VSOCK_F_SEQPACKET))

>+		virtio_transport.seqpacket_allow = true;

>+

> 	return 0;

>

> out:

>@@ -695,6 +699,7 @@ static struct virtio_device_id id_table[] = {

> };

>

> static unsigned int features[] = {

>+	VIRTIO_VSOCK_F_SEQPACKET

> };

>

> static struct virtio_driver virtio_vsock_driver = {

>-- 

>2.25.1

>
diff mbox series

Patch

diff --git a/net/vmw_vsock/virtio_transport.c b/net/vmw_vsock/virtio_transport.c
index 2700a63ab095..41c5d0a31e08 100644
--- a/net/vmw_vsock/virtio_transport.c
+++ b/net/vmw_vsock/virtio_transport.c
@@ -612,6 +612,10 @@  static int virtio_vsock_probe(struct virtio_device *vdev)
 	rcu_assign_pointer(the_virtio_vsock, vsock);
 
 	mutex_unlock(&the_virtio_vsock_mutex);
+
+	if (vdev->features & (1ULL << VIRTIO_VSOCK_F_SEQPACKET))
+		virtio_transport.seqpacket_allow = true;
+
 	return 0;
 
 out:
@@ -695,6 +699,7 @@  static struct virtio_device_id id_table[] = {
 };
 
 static unsigned int features[] = {
+	VIRTIO_VSOCK_F_SEQPACKET
 };
 
 static struct virtio_driver virtio_vsock_driver = {