[libvirt] [PATCH 30/34] Convert guestfwd to -device, and add -sdl explicit args

Daniel Veillard veillard at redhat.com
Fri Jan 15 19:59:16 UTC 2010


On Fri, Jan 08, 2010 at 05:23:26PM +0000, Daniel P. Berrange wrote:
> The old syntax was
> 
>    -chardev SOMECONFIG
>    -nic user,guestfwd=tcp:IP:PORT-chardev:CHARDEV
> 
> The new syntax is
> 
>    -chardev SOMECONFIG
>    -netdev user,guestfwd=tcp:IP:PORT,chardev=ID,id=user-ID
> ---
>  src/qemu/qemu_conf.c                               |   11 ++++++-----
>  .../qemuxml2argv-channel-guestfwd.args             |    2 +-
>  2 files changed, 7 insertions(+), 6 deletions(-)
> 
> diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
> index a09fb62..9cd53f9 100644
> --- a/src/qemu/qemu_conf.c
> +++ b/src/qemu/qemu_conf.c
> @@ -3283,9 +3283,10 @@ int qemudBuildCommandLine(virConnectPtr conn,
>  
>          switch(channel->targetType) {
>          case VIR_DOMAIN_CHR_TARGET_TYPE_GUESTFWD:
> -            if (!(qemuCmdFlags & QEMUD_CMD_FLAG_CHARDEV)) {
> +            if (!(qemuCmdFlags & QEMUD_CMD_FLAG_CHARDEV) ||
> +                !(qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE)) {
>                  qemudReportError(conn, NULL, NULL, VIR_ERR_NO_SUPPORT,
> -                     "%s", _("guestfwd requires QEMU to support -chardev"));
> +                     "%s", _("guestfwd requires QEMU to support -chardev & -device"));
>                  goto error;
>              }
>  
> @@ -3301,8 +3302,9 @@ int qemudBuildCommandLine(virConnectPtr conn,
>              const char *addr = virSocketFormatAddr(channel->target.addr);
>              int port = virSocketGetPort(channel->target.addr);
>  
> -            virBufferVSprintf(&buf, "user,guestfwd=tcp:%s:%i-chardev:%s",
> -                              addr, port, channel->info.alias);
> +            ADD_ARG_LIT("-netdev");
> +            virBufferVSprintf(&buf, "user,guestfwd=tcp:%s:%i,chardev=%s,id=user-%s",
> +                              addr, port, channel->info.alias, channel->info.alias);
>  
>              VIR_FREE(addr);
>  
> @@ -3311,7 +3313,6 @@ int qemudBuildCommandLine(virConnectPtr conn,
>                  goto no_memory;
>              }
>  
> -            ADD_ARG_LIT("-net");
>              ADD_ARG(virBufferContentAndReset(&buf));
>          }
>      }
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
> index c3148df..e93e934 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-channel-guestfwd.args
> @@ -1 +1 @@
> -LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -nodefaults -chardev socket,id=monitor,path=/tmp/test-monitor,server,nowait -mon chardev=monitor,mode=readline -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -chardev pipe,id=channel0,path=/tmp/guestfwd -net user,guestfwd=tcp:10.0.2.1:4600-chardev:channel0 -usb
> +LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M pc -m 214 -smp 1 -nographic -nodefaults -chardev socket,id=monitor,path=/tmp/test-monitor,server,nowait -mon chardev=monitor,mode=readline -no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -chardev pipe,id=channel0,path=/tmp/guestfwd -netdev user,guestfwd=tcp:10.0.2.1:4600,chardev=channel0,id=user-channel0 -usb
> -- 
> 1.6.5.2

ACK

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list