[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH] qapi: allow blockdev-add for ssh
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-block] [PATCH] qapi: allow blockdev-add for ssh |
Date: |
Mon, 10 Oct 2016 11:15:52 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
Am 08.10.2016 um 12:44 hat Ashijeet Acharya geschrieben:
> Introduce new object 'BlockdevOptionsSsh' in qapi/block-core.json to
> support blockdev-add for SSH network protocol driver. Use only 'struct
> InetSocketAddress' since SSH only supports connection over TCP.
>
> Signed-off-by: Ashijeet Acharya <address@hidden>
> ---
> qapi/block-core.json | 24 ++++++++++++++++++++++--
> 1 file changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 9d797b8..237ec6b 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -1716,7 +1716,8 @@
> 'dmg', 'file', 'ftp', 'ftps', 'gluster', 'host_cdrom',
> 'host_device', 'http', 'https', 'luks', 'null-aio', 'null-co',
> 'parallels', 'qcow', 'qcow2', 'qed', 'quorum', 'raw',
> - 'replication', 'tftp', 'vdi', 'vhdx', 'vmdk', 'vpc', 'vvfat' ] }
> + 'replication', 'ssh', 'tftp', 'vdi', 'vhdx', 'vmdk', 'vpc',
> + 'vvfat' ] }
>
> ##
> # @BlockdevOptionsFile
> @@ -1953,6 +1954,25 @@
> '*vport': 'int',
> '*segment': 'str' } }
>
> +##
> +# @BlockdevoptionsSsh
> +#
> +# @server: host address and port number
> +#
> +# @path: path to the image on the host
> +#
> +# @user: user as which to connect
> +#
> +# @host_key_check defines how and what to check the host key against
> +#
> +# Since 2.8
> +##
> +{ 'struct': 'BlockdevoptionsSsh',
> + 'data': { 'server': 'InetSocketAddress',
> + 'path': 'str',
> + 'user': 'str',
> + 'host_key_check': 'str' } }
Did you test this? The ssh driver currently takes a separate 'host'
string and 'port' integer, not a 'server' InetSocketAddress, so I think
the C code needs an update, too.
As for how to use a SocketAddress in order to establish a connection,
you can look at block/nbd.c for reference.
Kevin