[libvirt] ivshmem server

Andrew Jones drjones at redhat.com
Tue Nov 20 18:16:56 UTC 2012

This mail is meant to get a discussion started. Please keep me on cc
for the discussion, as I'm not subscribed to libvir-list.

ivshmem is an implementation of an inter-VM communication channel.
Support for this has been in qemu since v0.14.0 and libvirt patches
have been recently posted[1]. What's still missing is the ivshmem
server. The ivshmem server is needed when one would like to use
interrupts with ivshmem. The server manages a set of eventfds
to send/recv those interrupts. There is currently only one
implementation of this server that I'm aware of, which is available
from this git repo [2] in the ivshmem-server directory. My suggestion
for libvirt is that this code be integrated into libvirt, rather
than managed by libvirt, for the following reasons

1. libvirt should keep track of the socket path in order to build
   ivshmem's command line anyway.
2. the current ivshmem server code is ~300 lines, so it shouldn't be
   a large integration effort.
3. keeping ivhsmem server separate increases the package management
   that distributions need to do. afaik, it isn't currently packaged
   for any distribution.

One concern I have with the git repo [2] is that I don't see any
license for ivshmem-server. I've cc'ed Cam for his input.


[1] http://www.redhat.com/archives/libvir-list/2012-November/msg00731.html
[2] git://gitorious.org/nahanni/guest-code.git

More information about the libvir-list mailing list