[dpdk-dev,09/14] vhost: add virtio 1.1 defines
Checks
Commit Message
This should actually be in the kernel header file, but it isn't
yet. For now let's use our own headers.
Signed-off-by: Jens Freimann <jfreimann@redhat.com>
---
lib/librte_vhost/vhost.h | 4 +++-
lib/librte_vhost/virtio-1.1.h | 20 ++++++++++++++++++++
2 files changed, 23 insertions(+), 1 deletion(-)
create mode 100644 lib/librte_vhost/virtio-1.1.h
Comments
On Mon, Jan 29, 2018 at 03:11:38PM +0100, Jens Freimann wrote:
> This should actually be in the kernel header file, but it isn't
> yet. For now let's use our own headers.
>
> Signed-off-by: Jens Freimann <jfreimann@redhat.com>
> ---
> lib/librte_vhost/vhost.h | 4 +++-
> lib/librte_vhost/virtio-1.1.h | 20 ++++++++++++++++++++
> 2 files changed, 23 insertions(+), 1 deletion(-)
> create mode 100644 lib/librte_vhost/virtio-1.1.h
>
> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
> index e52a9b69c..152e8bce1 100644
> --- a/lib/librte_vhost/vhost.h
> +++ b/lib/librte_vhost/vhost.h
> @@ -167,7 +167,9 @@ struct vhost_msg {
> #ifndef VIRTIO_F_VERSION_1
> #define VIRTIO_F_VERSION_1 32
> #endif
> -
> +#ifndef VIRTIO_F_PACKED
> + #define VIRTIO_F_PACKED 34
> +#endif
> #define VHOST_USER_F_PROTOCOL_FEATURES 30
>
> /* Features supported by this builtin vhost-user net driver. */
> diff --git a/lib/librte_vhost/virtio-1.1.h b/lib/librte_vhost/virtio-1.1.h
> new file mode 100644
> index 000000000..5ca0bc33f
> --- /dev/null
> +++ b/lib/librte_vhost/virtio-1.1.h
> @@ -0,0 +1,20 @@
> +#ifndef __VIRTIO_1_1_H
> +#define __VIRTIO_1_1_H
> +
> +#define VRING_DESC_F_NEXT 1
> +#define VRING_DESC_F_WRITE 2
> +#define VRING_DESC_F_INDIRECT 4
> +
> +#define VIRTQ_DESC_F_AVAIL 7
> +#define VIRTQ_DESC_F_USED 15
> +#define DESC_USED (1ULL << VIRTQ_DESC_F_USED)
> +#define DESC_AVAIL (1ULL << VIRTQ_DESC_F_AVAIL)
> +
> +struct vring_desc_1_1 {
Is it how it's named in the spec? If not, I'm wondering "vring_desc_packed"
might be a better name?
If so, we could rename others, like rename "_dequeue_1_1" to "_dequeue_packed".
--yliu
> + uint64_t addr;
> + uint32_t len;
> + uint16_t index;
> + uint16_t flags;
> +};
> +
> +#endif /* __VIRTIO_1_1_H */
> --
> 2.14.3
On Mon, Jan 29, 2018 at 10:24:49PM +0800, Yuanhan Liu wrote:
>On Mon, Jan 29, 2018 at 03:11:38PM +0100, Jens Freimann wrote:
>> This should actually be in the kernel header file, but it isn't
>> yet. For now let's use our own headers.
>>
>> Signed-off-by: Jens Freimann <jfreimann@redhat.com>
>> ---
>> lib/librte_vhost/vhost.h | 4 +++-
>> lib/librte_vhost/virtio-1.1.h | 20 ++++++++++++++++++++
>> 2 files changed, 23 insertions(+), 1 deletion(-)
>> create mode 100644 lib/librte_vhost/virtio-1.1.h
>>
>> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
>> index e52a9b69c..152e8bce1 100644
>> --- a/lib/librte_vhost/vhost.h
>> +++ b/lib/librte_vhost/vhost.h
>> @@ -167,7 +167,9 @@ struct vhost_msg {
>> #ifndef VIRTIO_F_VERSION_1
>> #define VIRTIO_F_VERSION_1 32
>> #endif
>> -
>> +#ifndef VIRTIO_F_PACKED
>> + #define VIRTIO_F_PACKED 34
>> +#endif
>> #define VHOST_USER_F_PROTOCOL_FEATURES 30
>>
>> /* Features supported by this builtin vhost-user net driver. */
>> diff --git a/lib/librte_vhost/virtio-1.1.h b/lib/librte_vhost/virtio-1.1.h
>> new file mode 100644
>> index 000000000..5ca0bc33f
>> --- /dev/null
>> +++ b/lib/librte_vhost/virtio-1.1.h
>> @@ -0,0 +1,20 @@
>> +#ifndef __VIRTIO_1_1_H
>> +#define __VIRTIO_1_1_H
>> +
>> +#define VRING_DESC_F_NEXT 1
>> +#define VRING_DESC_F_WRITE 2
>> +#define VRING_DESC_F_INDIRECT 4
>> +
>> +#define VIRTQ_DESC_F_AVAIL 7
>> +#define VIRTQ_DESC_F_USED 15
>> +#define DESC_USED (1ULL << VIRTQ_DESC_F_USED)
>> +#define DESC_AVAIL (1ULL << VIRTQ_DESC_F_AVAIL)
>> +
>> +struct vring_desc_1_1 {
>
>Is it how it's named in the spec? If not, I'm wondering "vring_desc_packed"
>might be a better name?
>
>If so, we could rename others, like rename "_dequeue_1_1" to "_dequeue_packed".
I tried to name everything _packed, but obviously missed this one.
Will change it in the next version. Thanks!
regards,
Jens
@@ -167,7 +167,9 @@ struct vhost_msg {
#ifndef VIRTIO_F_VERSION_1
#define VIRTIO_F_VERSION_1 32
#endif
-
+#ifndef VIRTIO_F_PACKED
+ #define VIRTIO_F_PACKED 34
+#endif
#define VHOST_USER_F_PROTOCOL_FEATURES 30
/* Features supported by this builtin vhost-user net driver. */
new file mode 100644
@@ -0,0 +1,20 @@
+#ifndef __VIRTIO_1_1_H
+#define __VIRTIO_1_1_H
+
+#define VRING_DESC_F_NEXT 1
+#define VRING_DESC_F_WRITE 2
+#define VRING_DESC_F_INDIRECT 4
+
+#define VIRTQ_DESC_F_AVAIL 7
+#define VIRTQ_DESC_F_USED 15
+#define DESC_USED (1ULL << VIRTQ_DESC_F_USED)
+#define DESC_AVAIL (1ULL << VIRTQ_DESC_F_AVAIL)
+
+struct vring_desc_1_1 {
+ uint64_t addr;
+ uint32_t len;
+ uint16_t index;
+ uint16_t flags;
+};
+
+#endif /* __VIRTIO_1_1_H */