[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC 0/6] Start a contrib/libvhost-user

From: marcandre . lureau
Subject: [Qemu-devel] [RFC 0/6] Start a contrib/libvhost-user
Date: Sat, 9 Apr 2016 16:19:01 +0200

From: Marc-André Lureau <address@hidden>


vhost-user & virtio are not so simple and evolve regularly. There
isn't a reference code that would help you get started either. And
backends duplicate most of the effort.

Furthermore, due to usage of ancillary data, shared memory, eventfd,
atomics, it is not so simple to implement in other languages than C
either (even rust still lacks socket ancillary data support). Having a
library doing the low-level parts could eventually help to reach other
languages (this guided some decisions, such as being able to override
message handling)

I found it would help me to experiment with new usages of
libvhost-user (with other devices than network for example) if qemu
would provide such "reference" library. vhost-user-bridge was the most
complete attempt in qemu, but it lacked some abstraction and efficient
handling of the virt queues.

I propose to provide such library based on virtio.c implementation and
vhost-user-bridge socket handling. My hope is that at some point the
library would be complete and stable enough that it could become a
standalone project, but for now it makes more sense to propose it in

Comments welcome!

Marc-André Lureau (6):
  vubr: remove false comment
  vubr: remove unnecessary dispatcher_remove
  vubr: indicate peer disconnected
  vubr: do not accept more than one connection
  contrib: add libvhost-user
  test/vubr: use contrib/libvhost-user

 Makefile.objs                         |    1 +
 contrib/libvhost-user/Makefile.objs   |    1 +
 contrib/libvhost-user/libvhost-user.c | 1401 +++++++++++++++++++++++++++++++++
 contrib/libvhost-user/libvhost-user.h |  264 +++++++
 tests/Makefile                        |    2 +-
 tests/vhost-user-bridge.c             | 1173 ++++++---------------------
 6 files changed, 1891 insertions(+), 951 deletions(-)
 create mode 100644 contrib/libvhost-user/Makefile.objs
 create mode 100644 contrib/libvhost-user/libvhost-user.c
 create mode 100644 contrib/libvhost-user/libvhost-user.h


reply via email to

[Prev in Thread] Current Thread [Next in Thread]