[libvirt] [PATCHv2] qemu: Do fake auto-allocation of ports when generating native command

Eric Blake eblake at redhat.com
Mon May 6 17:09:19 UTC 2013


On 05/02/2013 03:16 AM, Peter Krempa wrote:
> When attempting to generate the native command line from an XML file
> that uses graphics port auto allocation, the generated commandline
> wouldn't be valid.
> 
> This patch adds fake autoallocation of ports as done when starting the
> actual machine.
> ---
> 
> Notes:
>     Version 2:
>     - rebased after context-conflict with 11fc1beab6e018a88182f80056d35217c150b3de
> 
>  src/qemu/qemu_driver.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 52 insertions(+)

ACK.

> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index 9492850..45fcf05 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -5274,6 +5274,58 @@ static char *qemuConnectDomainXMLToNative(virConnectPtr conn,
>      if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
>          goto cleanup;
> 
> +    /* do fake auto-alloc of graphics ports, if such config is used */
> +    for (i = 0 ; i < def->ngraphics; ++i) {
> +        virDomainGraphicsDefPtr graphics = def->graphics[i];
> +        if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC &&
> +            !graphics->data.vnc.socket && graphics->data.vnc.autoport) {
> +            graphics->data.vnc.port = 5900;

I don't know if using QEMU_REMOTE_PORT_MIN instead of hard-coding the
magic number is any better, but we already discussed that for purposes
of command-line generation, ANY port number will do, so it doesn't
really invalidate your patch.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130506/9e897df7/attachment-0001.sig>


More information about the libvir-list mailing list