[v3,0/6] net/virtio-user: fix server mode
mbox series

Message ID 20201026163930.94032-1-amorenoz@redhat.com
Headers show
Series
  • net/virtio-user: fix server mode
Related show

Message

Adrian Moreno Oct. 26, 2020, 4:39 p.m. UTC
A number of issues have been detected that currently break virtio-user
server mode.
This series addresses such issues.
Note that virtio-user server mode is broken by design and many of the
problems that it currently has should be fixed by a bigger rework.

--
v2->v3:
Fix potential concurrency problem on get/set state
Handle STATUS protocol feature flag
Fix undefined behaviour if STATUS feature is not supported
Ensure packed virtqueues are reset on reconnection


v1->v2:
Added patch 2 and 3 addressing additional issues
Check errno to select vhost-user backend and log the detected backend
type

Adrian Moreno (6):
  net/virtio-user: fix backend selection if stat fails
  net/virtio-user: don't set/get_status until FEATURES_OK
  net/virtio-user: ignore result if STATUS is unsupported
  net/virtio-user: lock-protect status updates
  net/virtio-user: don't assume vhost status feature
  net/virtio-user: set status on socket reconnect

 drivers/net/virtio/virtio_user/vhost_user.c   | 14 ++---
 .../net/virtio/virtio_user/virtio_user_dev.c  | 53 +++++++++++++------
 .../net/virtio/virtio_user/virtio_user_dev.h  |  5 +-
 drivers/net/virtio/virtio_user_ethdev.c       | 40 ++++++++++----
 4 files changed, 78 insertions(+), 34 deletions(-)

Comments

Jiang, YuX Oct. 27, 2020, 3:09 a.m. UTC | #1
Tested-by: JiangYuX <yux.jiang@intel.com>

    Best Regards
    Jiang yu


> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Adrian Moreno
> Sent: Tuesday, October 27, 2020 12:39 AM
> To: dev@dpdk.org
> Cc: Wang, Yinan <yinan.wang@intel.com>; Fu, Patrick
> <patrick.fu@intel.com>; Xia, Chenbo <chenbo.xia@intel.com>; Wang,
> Zhihong <zhihong.wang@intel.com>; maxime.coquelin@redhat.com; Adrian
> Moreno <amorenoz@redhat.com>
> Subject: [dpdk-dev] [PATCH v3 0/6] net/virtio-user: fix server mode
> 
> A number of issues have been detected that currently break virtio-user
> server mode.
> This series addresses such issues.
> Note that virtio-user server mode is broken by design and many of the
> problems that it currently has should be fixed by a bigger rework.
> 
> --
> v2->v3:
> Fix potential concurrency problem on get/set state Handle STATUS protocol
> feature flag Fix undefined behaviour if STATUS feature is not supported
> Ensure packed virtqueues are reset on reconnection
> 
> 
> v1->v2:
> Added patch 2 and 3 addressing additional issues Check errno to select vhost-
> user backend and log the detected backend type
> 
> Adrian Moreno (6):
>   net/virtio-user: fix backend selection if stat fails
>   net/virtio-user: don't set/get_status until FEATURES_OK
>   net/virtio-user: ignore result if STATUS is unsupported
>   net/virtio-user: lock-protect status updates
>   net/virtio-user: don't assume vhost status feature
>   net/virtio-user: set status on socket reconnect
> 
>  drivers/net/virtio/virtio_user/vhost_user.c   | 14 ++---
>  .../net/virtio/virtio_user/virtio_user_dev.c  | 53 +++++++++++++------
>   .../net/virtio/virtio_user/virtio_user_dev.h  |  5 +-
>  drivers/net/virtio/virtio_user_ethdev.c       | 40 ++++++++++----
>  4 files changed, 78 insertions(+), 34 deletions(-)
> 
> --
> 2.26.2
Maxime Coquelin Oct. 29, 2020, 8:27 a.m. UTC | #2
On 10/26/20 5:39 PM, Adrian Moreno wrote:
> A number of issues have been detected that currently break virtio-user
> server mode.
> This series addresses such issues.
> Note that virtio-user server mode is broken by design and many of the
> problems that it currently has should be fixed by a bigger rework.
> 
> --
> v2->v3:
> Fix potential concurrency problem on get/set state
> Handle STATUS protocol feature flag
> Fix undefined behaviour if STATUS feature is not supported
> Ensure packed virtqueues are reset on reconnection
> 
> 
> v1->v2:
> Added patch 2 and 3 addressing additional issues
> Check errno to select vhost-user backend and log the detected backend
> type
> 
> Adrian Moreno (6):
>   net/virtio-user: fix backend selection if stat fails
>   net/virtio-user: don't set/get_status until FEATURES_OK
>   net/virtio-user: ignore result if STATUS is unsupported
>   net/virtio-user: lock-protect status updates
>   net/virtio-user: don't assume vhost status feature
>   net/virtio-user: set status on socket reconnect
> 
>  drivers/net/virtio/virtio_user/vhost_user.c   | 14 ++---
>  .../net/virtio/virtio_user/virtio_user_dev.c  | 53 +++++++++++++------
>  .../net/virtio/virtio_user/virtio_user_dev.h  |  5 +-
>  drivers/net/virtio/virtio_user_ethdev.c       | 40 ++++++++++----
>  4 files changed, 78 insertions(+), 34 deletions(-)
> 

Applied to dpdk-next-virtio/main.

Thanks!
Maxime