[v1] vhost: add device reset status
Checks
Commit Message
vhost lib now does not have definition of reset status. This patch
adds the reset status definiton and changes related log.
Signed-off-by: Chenbo Xia <chenbo.xia@intel.com>
---
lib/librte_vhost/vhost.h | 1 +
lib/librte_vhost/vhost_user.c | 2 ++
2 files changed, 3 insertions(+)
Comments
On 8/6/20 1:34 PM, Chenbo Xia wrote:
> vhost lib now does not have definition of reset status. This patch
> adds the reset status definiton and changes related log.
>
> Signed-off-by: Chenbo Xia <chenbo.xia@intel.com>
> ---
> lib/librte_vhost/vhost.h | 1 +
> lib/librte_vhost/vhost_user.c | 2 ++
> 2 files changed, 3 insertions(+)
>
> diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
> index 632f66d53..73a1ed889 100644
> --- a/lib/librte_vhost/vhost.h
> +++ b/lib/librte_vhost/vhost.h
> @@ -239,6 +239,7 @@ struct vhost_virtqueue {
> } __rte_cache_aligned;
>
> /* Virtio device status as per Virtio specification */
> +#define VIRTIO_DEVICE_STATUS_RESET 0x00
> #define VIRTIO_DEVICE_STATUS_ACK 0x01
> #define VIRTIO_DEVICE_STATUS_DRIVER 0x02
> #define VIRTIO_DEVICE_STATUS_DRIVER_OK 0x04
> diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c
> index c3c924fae..1b520ead7 100644
> --- a/lib/librte_vhost/vhost_user.c
> +++ b/lib/librte_vhost/vhost_user.c
> @@ -2531,6 +2531,7 @@ vhost_user_set_status(struct virtio_net **pdev, struct VhostUserMsg *msg,
> }
>
> VHOST_LOG_CONFIG(INFO, "New device status(0x%08x):\n"
> + "\t-RESET: %u\n"
> "\t-ACKNOWLEDGE: %u\n"
> "\t-DRIVER: %u\n"
> "\t-FEATURES_OK: %u\n"
> @@ -2538,6 +2539,7 @@ vhost_user_set_status(struct virtio_net **pdev, struct VhostUserMsg *msg,
> "\t-DEVICE_NEED_RESET: %u\n"
> "\t-FAILED: %u\n",
> dev->status,
> + !!(dev->status & VIRTIO_DEVICE_STATUS_RESET),
(dev->status & 0) will always be 0, right?
how about (dev->status == VIRTIO_DEVICE_STATUS_RESET)?
> !!(dev->status & VIRTIO_DEVICE_STATUS_ACK),
> !!(dev->status & VIRTIO_DEVICE_STATUS_DRIVER),
> !!(dev->status & VIRTIO_DEVICE_STATUS_FEATURES_OK),
>
Hi Adrian,
> -----Original Message-----
> From: Adrian Moreno <amorenoz@redhat.com>
> Sent: Thursday, August 6, 2020 7:59 PM
> To: Xia, Chenbo <chenbo.xia@intel.com>; dev@dpdk.org
> Cc: maxime.coquelin@redhat.com; Wang, Zhihong <zhihong.wang@intel.com>
> Subject: Re: [PATCH v1] vhost: add device reset status
>
>
>
> On 8/6/20 1:34 PM, Chenbo Xia wrote:
> > vhost lib now does not have definition of reset status. This patch
> > adds the reset status definiton and changes related log.
> >
> > Signed-off-by: Chenbo Xia <chenbo.xia@intel.com>
> > ---
> > lib/librte_vhost/vhost.h | 1 +
> > lib/librte_vhost/vhost_user.c | 2 ++
> > 2 files changed, 3 insertions(+)
> >
> > diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h
> > index 632f66d53..73a1ed889 100644
> > --- a/lib/librte_vhost/vhost.h
> > +++ b/lib/librte_vhost/vhost.h
> > @@ -239,6 +239,7 @@ struct vhost_virtqueue {
> > } __rte_cache_aligned;
> >
> > /* Virtio device status as per Virtio specification */
> > +#define VIRTIO_DEVICE_STATUS_RESET 0x00
> > #define VIRTIO_DEVICE_STATUS_ACK 0x01
> > #define VIRTIO_DEVICE_STATUS_DRIVER 0x02
> > #define VIRTIO_DEVICE_STATUS_DRIVER_OK 0x04
> > diff --git a/lib/librte_vhost/vhost_user.c
> b/lib/librte_vhost/vhost_user.c
> > index c3c924fae..1b520ead7 100644
> > --- a/lib/librte_vhost/vhost_user.c
> > +++ b/lib/librte_vhost/vhost_user.c
> > @@ -2531,6 +2531,7 @@ vhost_user_set_status(struct virtio_net **pdev,
> struct VhostUserMsg *msg,
> > }
> >
> > VHOST_LOG_CONFIG(INFO, "New device status(0x%08x):\n"
> > + "\t-RESET: %u\n"
> > "\t-ACKNOWLEDGE: %u\n"
> > "\t-DRIVER: %u\n"
> > "\t-FEATURES_OK: %u\n"
> > @@ -2538,6 +2539,7 @@ vhost_user_set_status(struct virtio_net **pdev,
> struct VhostUserMsg *msg,
> > "\t-DEVICE_NEED_RESET: %u\n"
> > "\t-FAILED: %u\n",
> > dev->status,
> > + !!(dev->status & VIRTIO_DEVICE_STATUS_RESET),
>
> (dev->status & 0) will always be 0, right?
> how about (dev->status == VIRTIO_DEVICE_STATUS_RESET)?
Yes. Will correct this in v2.
Thanks!
Chenbo
>
> > !!(dev->status & VIRTIO_DEVICE_STATUS_ACK),
> > !!(dev->status & VIRTIO_DEVICE_STATUS_DRIVER),
> > !!(dev->status & VIRTIO_DEVICE_STATUS_FEATURES_OK),
> >
>
> --
> Adrián Moreno
@@ -239,6 +239,7 @@ struct vhost_virtqueue {
} __rte_cache_aligned;
/* Virtio device status as per Virtio specification */
+#define VIRTIO_DEVICE_STATUS_RESET 0x00
#define VIRTIO_DEVICE_STATUS_ACK 0x01
#define VIRTIO_DEVICE_STATUS_DRIVER 0x02
#define VIRTIO_DEVICE_STATUS_DRIVER_OK 0x04
@@ -2531,6 +2531,7 @@ vhost_user_set_status(struct virtio_net **pdev, struct VhostUserMsg *msg,
}
VHOST_LOG_CONFIG(INFO, "New device status(0x%08x):\n"
+ "\t-RESET: %u\n"
"\t-ACKNOWLEDGE: %u\n"
"\t-DRIVER: %u\n"
"\t-FEATURES_OK: %u\n"
@@ -2538,6 +2539,7 @@ vhost_user_set_status(struct virtio_net **pdev, struct VhostUserMsg *msg,
"\t-DEVICE_NEED_RESET: %u\n"
"\t-FAILED: %u\n",
dev->status,
+ !!(dev->status & VIRTIO_DEVICE_STATUS_RESET),
!!(dev->status & VIRTIO_DEVICE_STATUS_ACK),
!!(dev->status & VIRTIO_DEVICE_STATUS_DRIVER),
!!(dev->status & VIRTIO_DEVICE_STATUS_FEATURES_OK),