[dpdk-dev,09/14] vhost: add virtio 1.1 defines

Message ID 20180129141143.13437-10-jfreimann@redhat.com (mailing list archive)
State Superseded, archived
Delegated to: Maxime Coquelin
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Jens Freimann Jan. 29, 2018, 2:11 p.m. UTC
  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

Yuanhan Liu Jan. 29, 2018, 2:24 p.m. UTC | #1
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
  
Jens Freimann Jan. 29, 2018, 2:28 p.m. UTC | #2
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
  

Patch

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 {
+	uint64_t addr;
+	uint32_t len;
+	uint16_t index;
+	uint16_t flags;
+};
+
+#endif /* __VIRTIO_1_1_H */