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

Message ID 20201026163930.94032-1-amorenoz@redhat.com (mailing list archive)


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.

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

Added patch 2 and 3 addressing additional issues
Check errno to select vhost-user backend and log the detected backend

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(-)