Description of problem: The Matahari project has a need/desire to use QMF in situations without a host-guest network connectivity. This would require an AMQP transport be written for virtio (similar to the one written for serial links). Additional info: The guest side sees a socket, whereas the host side sees a file descriptor. Eventual list of desired target platforms is: Linux Red Hat Enterprise Linux: Version 6.x (x86/x86_64) Version 5.x (x86/x86_64) Fedora Version 14 (x86/x86_64) Windows Server: 2003 (32/64) 2008 (32/64) 2008R2 (32/64) XP (32) Vista (32/64) Windows 7 (32/64)
FYI, virtio-serial is only available to KVM guests running on RHEL6 currently, and soon for Fedora 14. Currently there are guest drivers for RHEL6 guests. Further guests support, including windows, is being worked on To configure a virtio-serial port in a KVM guest running on a RHEL6 host, use 'virsh edit $GUESTNAME' to change the XML <devices> config and add an element like <channel type='pty'> <target type='virtio' name='org.linux-kvm.port.wizz'/> </channel> This says that on the host side allocate a psuedo-PTY for the virtio serial port. The actual path of the PTY will be shown in the XML when the guest is running. There are many more options for configuring the host side: http://libvirt.org/formatdomain.html#elementsConsole On the guest side, a character device will appear in the filesystem at /dev/virtio-serial/org.linux-kvm.port.wizz You can add many <channel> elements, each with a unique name and they will appear as you would epect VirtIO serial ports are not really like physical serial ports - this was a bad choice of naming. The provide a reliable datastream, with no need for flow control, data rate negotiation, etc that a physical serial port would need. They should be thought of as more like UNIX domain sockets in their behaviour. If the guest is migrated, the socket will be closed and a guest should see poll() return SIGHUP on the /dev/virtio-serial/ device. This is a sign that they should re-open the device to connect to the new host running the guest. There is further information here: http://fedoraproject.org/wiki/Features/VirtioSerial