Bug 605587 - RFE: Support AMQP-over-virtio
Summary: RFE: Support AMQP-over-virtio
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: Development
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Chuck Rolke
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-06-18 10:35 UTC by Andrew Beekhof
Modified: 2020-05-22 14:35 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-22 14:35:05 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Andrew Beekhof 2010-06-18 10:35:09 UTC
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 Berrangé 2010-06-18 11:34:21 UTC
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.