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@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list