ping On Sat, Jun 4, 2016 at 11:05 PM, <marcandre.lur...@redhat.com> wrote: > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > Hi > > vhost-user & virtio are not so simple and evolve regularly. There > isn't a reference code that would help you get started either. And > the 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 > qemu/contrib. > > Comments welcome! > > rfc->v1: > - add vu_gpa_to_va() > - fix indirect descriptors handling > - fix notification > - more error handling > - disable debugging > > 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 | 1 + > Makefile.objs | 1 + > contrib/libvhost-user/Makefile.objs | 1 + > contrib/libvhost-user/libvhost-user.c | 1429 > +++++++++++++++++++++++++++++++++ > contrib/libvhost-user/libvhost-user.h | 270 +++++++ > tests/Makefile | 2 +- > tests/vhost-user-bridge.c | 1173 +++++---------------------- > 7 files changed, 1926 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 > > -- > 2.7.4 >
-- Marc-André Lureau