[libvirt] [PATCH 0/5] Add API to tunnel channels

Michal Privoznik mprivozn at redhat.com
Fri Dec 14 11:05:31 UTC 2012


On 13.12.2012 17:24, John Eckersberg wrote:
> This series enables the qemu driver to tunnel a virtio channel.  This
> is useful for a remote session to communicate with a guest channel via
> the streaming API.
> 
> This was originally fleshed out a while back in this thread:
> https://www.redhat.com/archives/libvir-list/2011-September/msg01049.html
> 
> This implements only item (3) in that list.
> 
> The new API is nearly identical to the existing virDomainOpenConsole
> API, except it works on channels, and supports UNIX sockets in
> addition to PTYs for channel source type.
> 
> This is my first libvirt patch, please be gentle :)
> 
> John Eckersberg (5):
>   api: Add API to tunnel a guest channel via stream
>   conf: Rename virconsole.* to virchrdev.*
>   conf: Rename console-specific identifiers to be more generic
>   conf: Add unix socket support to virChrdevOpen
>   qemu: Implement virDomainOpenChannel API
> 
>  configure.ac                 |  48 ++---
>  include/libvirt/libvirt.h.in |  16 ++
>  po/POTFILES.in               |   2 +-
>  src/Makefile.am              |   8 +-
>  src/conf/virchrdev.c         | 442 +++++++++++++++++++++++++++++++++++++++++++
>  src/conf/virchrdev.h         |  37 ++++
>  src/conf/virconsole.c        | 414 ----------------------------------------
>  src/conf/virconsole.h        |  36 ----
>  src/driver.h                 |   7 +
>  src/libvirt.c                |  61 ++++++
>  src/libvirt_private.syms     |   8 +-
>  src/libvirt_public.syms      |   5 +
>  src/qemu/qemu_domain.c       |   4 +-
>  src/qemu/qemu_domain.h       |   4 +-
>  src/qemu/qemu_driver.c       |  81 +++++++-
>  src/remote/remote_driver.c   |   1 +
>  src/remote/remote_protocol.x |   9 +-
>  src/remote_protocol-structs  |   6 +
>  18 files changed, 697 insertions(+), 492 deletions(-)
>  create mode 100644 src/conf/virchrdev.c
>  create mode 100644 src/conf/virchrdev.h
>  delete mode 100644 src/conf/virconsole.c
>  delete mode 100644 src/conf/virconsole.h
> 

I am not hesitant to this approach. In fact, I think it can be combined
with Peter's patch set for tunneling a TCP stream (which you omit in
your patch set). Thus we will have an API which will be able to tunnel
unix socket, PTY and TCP. Or do we want to keep these two split?

Michal




More information about the libvir-list mailing list