On Fri, Jan 16, 2015 at 12:14:17PM +0800, Yidao Liu wrote: > Hi, I want to use a dedicated guest VM to handle I/O request just as > I/O service domain used in xen. > > Specifically, using network I/O as an example, I should directly > assign the NIC to one guest VM (using pci-assign option), after that > all other guest VMs should perform network I/O through that VM rather > than the host OS. > > Is there currently any viable approach to do this? > > If not, I want to implement one. Currently I'm thinking of combining > nahanni shared memory and vhost architecture to implement it, is there > any other suggestions? There are security features like SELinux, seccomp, and file descriptor passing that allow the QEMU userspace process to run unprivileged. Why does it matter if the I/O is happening in an isolated userspace process or another VM? You can of course have appliance VMs that do network I/O on behalf of other guests. Assign the physical NIC to the appliance VM and then use a private bridge on the host so guests can only communicate through the appliance VM. My Xen knowledge is very limited but I think part of why this architecture is attractive there is because there is already a mechanism for granting pages - i.e. secure inter-domain DMA. In QEMU the architecture is different, so I wonder what you're trying to achieve. It will be slower and more convoluted than how it works today. What are you trying to achieve? Stefan
Attachment:
pgpLvJNqPKCeP.pgp
Description: PGP signature