All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: David Scott <dave.scott@citrix.com>
Cc: xen-devel@lists.xenproject.org, stefano.stabellini@eu.citrix.com,
	ian.jackson@eu.citrix.com, wei.liu2@citrix.com,
	ian.campbell@citrix.com
Subject: Re: [PATCH v2] implement libvirt-like 'channels' via PV consoles
Date: Mon, 16 Jun 2014 09:34:07 -0400	[thread overview]
Message-ID: <20140616133407.GA8696@laptop.dumpdata.com> (raw)
In-Reply-To: <1402912195-24732-1-git-send-email-dave.scott@citrix.com>

On Mon, Jun 16, 2014 at 10:49:49AM +0100, David Scott wrote:
> 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).

Are these udev scripts somewhere implemented?

Thanks!

> 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).
> 
> Changes since v1:
> 
>   * extend xl.cfg(5)
>   * add docs/misc/channel.txt
>   * libxl_types.idl: omit unnecessary init_val = 0
>   * xl_cmdimpl.c: fixed over-long lines
>   * xl_cmdimpl.c: use xrealloc (via ARRAY_EXTEND_INIT)
>   * xl_cmdimpl.c: exit() on parse failure rather than ignore configuration
>   * libxl_create.c: use libxl__device_console_init instead of memset
>   * libxl_create.c: use libxl__strdup(NOGC rather than raw strdup
>   * libxl.c: add name=<name> to console frontend
>   * libxl.c: resolve the backend_domid from backend_domname
>   * libxl_dm.c: channels[i].devid rather than i
>   * libxl_dm.c: fix indentation
>   * libxl_dm.c: use GCSPRINTF convenience macro
> 
> Signed-off-by: David Scott <dave.scott@citrix.com>
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel

  parent reply	other threads:[~2014-06-16 13:34 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-16  9:49 [PATCH v2] implement libvirt-like 'channels' via PV consoles David Scott
2014-06-16  9:49 ` [PATCH v2 1/6] libxl: add a list of abstract 'channels' to the domain config David Scott
2014-06-18 13:27   ` Ian Campbell
2014-06-18 14:05     ` Dave Scott
2014-06-18 14:38       ` Ian Campbell
2014-06-16  9:49 ` [PATCH v2 2/6] xl: add support for channels David Scott
2014-06-16  9:49 ` [PATCH v2 3/6] libxl: implement channels via PV console rings David Scott
2014-06-18 13:31   ` Ian Campbell
2014-06-16  9:49 ` [PATCH v2 4/6] libxl: spawn a qemu to implement channels David Scott
2014-06-18 13:32   ` Ian Campbell
2014-06-16  9:49 ` [PATCH v2 5/6] Add a section in xl.cfg(5) describing 'channels' David Scott
2014-06-18 13:38   ` Ian Campbell
2014-06-16  9:49 ` [PATCH v2 6/6] Add a general description of the channel mechanism to docs/misc/ David Scott
2014-06-18 13:41   ` Ian Campbell
2014-06-18 14:37     ` Dave Scott
2014-06-18 14:43       ` Ian Campbell
2014-06-18 15:00         ` Dave Scott
2014-06-16 13:34 ` Konrad Rzeszutek Wilk [this message]
2014-06-16 13:49   ` [PATCH v2] implement libvirt-like 'channels' via PV consoles Dave Scott
2014-06-16 13:52     ` Konrad Rzeszutek Wilk
2014-06-18 13:43       ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140616133407.GA8696@laptop.dumpdata.com \
    --to=konrad.wilk@oracle.com \
    --cc=dave.scott@citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.