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).
The guest side sees a socket, whereas the host side sees a file descriptor.
Eventual list of desired target platforms is:
Red Hat Enterprise Linux:
Version 6.x (x86/x86_64)
Version 5.x (x86/x86_64)
Version 14 (x86/x86_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
<target type='virtio' name='org.linux-kvm.port.wizz'/>
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:
On the guest side, a character device will appear in the filesystem at
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: