2024-05-17 14:50:01

by Xuewei Niu

[permalink] [raw]
Subject: [RFC PATCH 1/5] vsock/virtio: Extend virtio-vsock spec with an "order" field

The "order" field determines the location of the device in the linked list,
the device with CID 4, having a smallest order, is in the first place, and
so forth.

Rules:

* It doesn’t have to be continuous;
* It cannot exist conflicts;
* It is optional for the mode of a single device, but is required for the
mode of multiple devices.

Signed-off-by: Xuewei Niu <[email protected]>
---
include/uapi/linux/virtio_vsock.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/include/uapi/linux/virtio_vsock.h b/include/uapi/linux/virtio_vsock.h
index 64738838bee5..b62ec7d2ab1e 100644
--- a/include/uapi/linux/virtio_vsock.h
+++ b/include/uapi/linux/virtio_vsock.h
@@ -43,6 +43,7 @@

struct virtio_vsock_config {
__le64 guest_cid;
+ __le64 order;
} __attribute__((packed));

enum virtio_vsock_event_id {
--
2.34.1



2024-05-23 07:43:57

by Alyssa Ross

[permalink] [raw]
Subject: Re: [RFC PATCH 1/5] vsock/virtio: Extend virtio-vsock spec with an "order" field

(CCing virtio-comment, since this proposes adding a field to a struct
that is standardized[1] in the VIRTIO spec, so changes to the Linux
implementation should presumably be coordinated with changes to the
spec.)

[1]: https://docs.oasis-open.org/virtio/virtio/v1.3/csd01/virtio-v1.3-csd01.html#x1-4780004

On Fri, May 17, 2024 at 10:46:03PM +0800, Xuewei Niu wrote:
> The "order" field determines the location of the device in the linked list,
> the device with CID 4, having a smallest order, is in the first place, and
> so forth.
>
> Rules:
>
> * It doesn’t have to be continuous;
> * It cannot exist conflicts;
> * It is optional for the mode of a single device, but is required for the
> mode of multiple devices.
>
> Signed-off-by: Xuewei Niu <[email protected]>
> ---
> include/uapi/linux/virtio_vsock.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/uapi/linux/virtio_vsock.h b/include/uapi/linux/virtio_vsock.h
> index 64738838bee5..b62ec7d2ab1e 100644
> --- a/include/uapi/linux/virtio_vsock.h
> +++ b/include/uapi/linux/virtio_vsock.h
> @@ -43,6 +43,7 @@
>
> struct virtio_vsock_config {
> __le64 guest_cid;
> + __le64 order;
> } __attribute__((packed));
>
> enum virtio_vsock_event_id {
> --
> 2.34.1
>


Attachments:
(No filename) (1.26 kB)
signature.asc (849.00 B)
Download all attachments

2024-05-23 10:43:52

by Stefano Garzarella

[permalink] [raw]
Subject: Re: [RFC PATCH 1/5] vsock/virtio: Extend virtio-vsock spec with an "order" field

As Alyssa suggested, we should discuss spec changes in the virtio ML.
BTW as long as this is an RFC, it's fine. Just be sure, though, to
remember to merge the change in the specification first versus the
patches in Linux.
So I recommend that you don't send a non-RFC set into Linux until you
have agreed on the changes to the specification.

On Fri, May 17, 2024 at 10:46:03PM GMT, Xuewei Niu wrote:
>The "order" field determines the location of the device in the linked list,
>the device with CID 4, having a smallest order, is in the first place, and
>so forth.

Do we really need an order, or would it suffice to just indicate the
device to be used by default? (as the default gateway in networking)

>
>Rules:
>
>* It doesn’t have to be continuous;
>* It cannot exist conflicts;
>* It is optional for the mode of a single device, but is required for the
> mode of multiple devices.

We should also add a feature to support this new field.

>
>Signed-off-by: Xuewei Niu <[email protected]>
>---
> include/uapi/linux/virtio_vsock.h | 1 +
> 1 file changed, 1 insertion(+)
>
>diff --git a/include/uapi/linux/virtio_vsock.h b/include/uapi/linux/virtio_vsock.h
>index 64738838bee5..b62ec7d2ab1e 100644
>--- a/include/uapi/linux/virtio_vsock.h
>+++ b/include/uapi/linux/virtio_vsock.h
>@@ -43,6 +43,7 @@
>
> struct virtio_vsock_config {
> __le64 guest_cid;
>+ __le64 order;

Do we really need 64 bits for the order?

> } __attribute__((packed));
>
> enum virtio_vsock_event_id {
>--
>2.34.1
>