Bug 605587 - RFE: Support AMQP-over-virtio
RFE: Support AMQP-over-virtio
Status: NEW
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
Development
All Linux
medium Severity medium
: ---
: ---
Assigned To: Chuck Rolke
MRG Quality Engineering
: FutureFeature
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-06-18 06:35 EDT by Andrew Beekhof
Modified: 2013-09-20 08:48 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Andrew Beekhof 2010-06-18 06:35:09 EDT
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)
Comment 1 Daniel Berrange 2010-06-18 07:34:21 EDT
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

Note You need to log in before you can comment on or make changes to this bug.