All of lore.kernel.org
 help / color / mirror / Atom feed
* PATCH RFC: possible implementation of a low-bandwidth private 'channel'
@ 2014-06-11 20:24 David Scott
  2014-06-11 20:24 ` [PATCH RFC 1/4] libxl: add a list of abstract 'channels' to the domain config David Scott
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: David Scott @ 2014-06-11 20:24 UTC (permalink / raw)
  To: xen-devel; +Cc: David Scott, Ian Jackson, Ian Campbell, Stefano Stabellini

Several libvirt applications (e.g. oVirt, CloudStack) make use of 'channels':
low-bandwidth private host <-> guest communication links which resemble serial
ports. Typical uses include:

  * initial VM configuration without using the network: read the config data
    directly from the channel on boot

  * controlling a guest agent: signal shutdown reqests, exchange clipboard data,
    trigger resolution changes

This patch set re-uses the existing PV console protocol implemented by qemu
to provide this service.

If you declare a channel in your .xl file as follows:

  channel = [ "type=socket,path=/tmp/mysock,name=guest-agent" ]

then an extra PV console will be added to your guest. This console has the
extra key in the frontend

  name = guest-agent

which allows udev scripts in the VM to create a named device in a well-known
location (e.g. /dev/xen-channels/guest-agent, similar to the KVM /dev/vports).
The qemu process in the backend domain will proxy the data to/from the named
Unix domain socket (in this case /tmp/mysock).

Note this mechanism is intended for low-bandwidth communication only. If an
application requires a high-bandwith connection then it should use a direct
vchan connection (and not proxy it via a qemu).

Signed-off-by: David Scott <dave.scott@citrix.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-06-12 13:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-11 20:24 PATCH RFC: possible implementation of a low-bandwidth private 'channel' David Scott
2014-06-11 20:24 ` [PATCH RFC 1/4] libxl: add a list of abstract 'channels' to the domain config David Scott
2014-06-12 11:44   ` Wei Liu
2014-06-11 20:24 ` [PATCH RFC 2/4] xl: add support for channels David Scott
2014-06-12 11:48   ` Wei Liu
2014-06-11 20:24 ` [PATCH RFC 3/4] libxl: implement channels via PV console rings attached to qemu David Scott
2014-06-12 11:56   ` Wei Liu
2014-06-11 20:24 ` [PATCH RFC 4/4] libxl: spawn a qemu to implement channels David Scott
2014-06-12 12:11   ` Wei Liu
2014-06-12 13:52     ` Dave Scott

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.