From 280ece4af95727eac49baaa48eb1a2fc36fad4ff Mon Sep 17 00:00:00 2001 From: Ján Tomko Date: Jan 21 2015 12:22:36 +0000 Subject: qemu: format server interface without a listen address https://bugzilla.redhat.com/show_bug.cgi?id=1130390 The listen address is not mandatory for but when it's not specified, we've been formatting it as: -netdev socket,listen=(null):5558,id=hostnet0 which failed with: Device 'socket' could not be initialized Omit the address completely and only format the port in the listen attribute. Also fix the schema to allow specifying a model. --- diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index c428ddf..9d6c1ee 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -2207,6 +2207,16 @@ + + + + + [a-zA-Z0-9\-_]+ + + + + + diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index c041ee7..7e1f3d0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4576,7 +4576,8 @@ qemuBuildHostNetStr(virDomainNetDefPtr net, case VIR_DOMAIN_NET_TYPE_SERVER: virBufferAsprintf(&buf, "socket%clisten=%s:%d", type_sep, - net->data.socket.address, + net->data.socket.address ? net->data.socket.address + : "", net->data.socket.port); type_sep = ','; break; diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args index 26daac3..ac43630 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args +++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.args @@ -7,4 +7,6 @@ pc -m 214 -smp 1 -nographic -nodefaults -monitor unix:/tmp/test-monitor,server,n -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:ee:96:6b,bus=pci.0,addr=0x3 \ -chardev socket,id=charnet1,path=/tmp/vhost1.sock \ -netdev type=vhost-user,id=hostnet1,chardev=charnet1 \ --device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:ee:96:6c,bus=pci.0,addr=0x4 +-device virtio-net-pci,netdev=hostnet1,id=net1,mac=52:54:00:ee:96:6c,bus=pci.0,addr=0x4 \ +-netdev socket,listen=:2015,id=hostnet2 \ +-device rtl8139,netdev=hostnet2,id=net2,mac=52:54:00:95:db:c0,bus=pci.0,addr=0x5 diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml index e5b6242..fa09157 100644 --- a/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml +++ b/tests/qemuxml2argvdata/qemuxml2argv-net-vhostuser.xml @@ -33,6 +33,11 @@ + + + + +