This patch series improves the way how different listen types can be specified and also introduce a new listen types for graphics devices. First improvement is to move ports auto of graphics element into listen element with type address or network. This is a first step to make the code listen-driven. Second step is to create a new listen type socket to improve the current vnc configuration and to print only socket path witout any other listen types. With the new socket type now we can add support also to spice graphics. The last improvement is to introduce new listen type none for spice graphics to specify that the spice graphics shouldn't listen anywhere by default. In case of spice graphics the new listen types socket or none are required to start a guest with OpenGL support. Pavel Hrdina (17): graphics: use enums instead of int qemu_process: move listen code out of qemuProcessSetupGraphics qemu_process: handle port allocation for VNC the same way as for Spice graphics: generate fake ports also for tests qemu_hotplug: cleanup qemuDomainChangeGraphics genericxml2xml: add several graphics tests qemu_hotplug: fix checking graphics ports graphics: don't parse listens if socket attribute is present domain_conf: parse listen attr from graphics while parsing listen elements graphics: make address attribute for listen type='address' optional domain_conf: cleanup virDomainGraphicsListenDefParseXML graphics: move port definition to listen element qemu.conf: remove vnc_auto_unix_socket vnc: use listen type=socket instead of socket attribute qemu_capabilites: add QEMU_CAPS_SPICE_UNIX spice: add support for listen type socket spice: introduce listen type none docs/formatdomain.html.in | 138 +++-- docs/schemas/domaincommon.rng | 63 ++- src/conf/domain_conf.c | 604 ++++++++++++++------- src/conf/domain_conf.h | 45 +- src/libvirt_private.syms | 1 + src/libxl/libxl_conf.c | 61 ++- src/libxl/libxl_domain.c | 17 +- src/qemu/libvirtd_qemu.aug | 1 - src/qemu/qemu.conf | 10 - src/qemu/qemu_capabilities.c | 2 + src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 239 ++++---- src/qemu/qemu_conf.c | 1 - src/qemu/qemu_conf.h | 1 - src/qemu/qemu_domain.c | 19 +- src/qemu/qemu_driver.c | 12 - src/qemu/qemu_hotplug.c | 76 +-- src/qemu/qemu_migration.c | 41 +- src/qemu/qemu_parse_command.c | 41 +- src/qemu/qemu_process.c | 386 ++++++++----- src/qemu/qemu_process.h | 3 + src/qemu/test_libvirtd_qemu.aug.in | 1 - src/security/virt-aa-helper.c | 15 +- src/vbox/vbox_common.c | 30 +- src/vbox/vbox_tmpl.c | 34 +- src/vbox/vbox_uniformed_api.h | 4 +- src/vmx/vmx.c | 54 +- src/vz/vz_sdk.c | 30 +- src/xenconfig/xen_common.c | 74 +-- src/xenconfig/xen_sxpr.c | 71 +-- src/xenconfig/xen_xl.c | 45 +- .../generic-graphics-listen-back-compat-ports.xml | 30 + .../generic-graphics-vnc-listen-attr-only.xml | 28 + ...generic-graphics-vnc-listen-element-minimal.xml | 30 + ...aphics-vnc-listen-element-with-address-port.xml | 30 + ...ic-graphics-vnc-listen-element-with-address.xml | 30 + .../generic-graphics-vnc-manual-port.xml | 28 + .../generic-graphics-vnc-minimal.xml | 28 + .../generic-graphics-vnc-socket-listen.xml | 30 + .../generic-graphics-vnc-socket.xml | 28 + .../generic-graphics-listen-back-compat-ports.xml | 30 + .../generic-graphics-listen-back-compat.xml | 2 +- .../generic-graphics-vnc-listen-attr-only.xml | 30 + ...generic-graphics-vnc-listen-element-minimal.xml | 30 + ...aphics-vnc-listen-element-with-address-port.xml | 30 + ...ic-graphics-vnc-listen-element-with-address.xml | 30 + .../generic-graphics-vnc-manual-port.xml | 30 + .../generic-graphics-vnc-minimal.xml | 30 + .../generic-graphics-vnc-socket-listen.xml | 30 + .../generic-graphics-vnc-socket.xml | 30 + tests/genericxml2xmltest.c | 10 + .../qemuargv2xml-graphics-vnc-policy.xml | 2 +- .../qemuargv2xml-graphics-vnc-sasl.xml | 2 +- .../qemuargv2xml-graphics-vnc-socket.xml | 4 +- .../qemuargv2xml-graphics-vnc-tls.xml | 2 +- .../qemuargv2xml-graphics-vnc-websocket.xml | 2 +- .../qemuargv2xmldata/qemuargv2xml-graphics-vnc.xml | 2 +- ...qemuhotplug-console-compat-2+console-virtio.xml | 2 +- .../qemuhotplug-graphics-spice-listen-network.xml | 2 +- .../qemuxml2argv-console-compat-2.xml | 2 +- .../qemuxml2argv-controller-order.args | 2 +- ...muxml2argv-graphics-spice-auto-unix-socket.args | 21 + ...emuxml2argv-graphics-spice-auto-unix-socket.xml | 30 + .../qemuxml2argv-graphics-spice-unix-socket.args | 20 + .../qemuxml2argv-graphics-spice-unix-socket.xml | 30 + ...qemuxml2argv-graphics-vnc-auto-unix-socket.args | 20 + .../qemuxml2argv-graphics-vnc-auto-unix-socket.xml | 30 + .../qemuxml2argv-graphics-vnc-autosocket.args | 22 - .../qemuxml2argv-graphics-vnc-autosocket.xml | 34 -- .../qemuxml2argv-graphics-vnc-unix-socket.args | 20 + .../qemuxml2argv-graphics-vnc-unix-socket.xml | 30 + .../qemuxml2argv-hugepages-numa.args | 2 +- .../qemuxml2argv-video-device-pciaddr-default.args | 2 +- .../qemuxml2argv-video-virtio-gpu-spice-gl.args | 2 +- tests/qemuxml2argvtest.c | 8 + .../qemuxml2xmlout-graphics-listen-network.xml | 2 +- .../qemuxml2xmlout-graphics-listen-network2.xml | 4 +- ...uxml2xmlout-graphics-spice-auto-unix-socket.xml | 35 ++ .../qemuxml2xmlout-graphics-spice-compression.xml | 2 +- .../qemuxml2xmlout-graphics-spice-qxl-vga.xml | 2 +- .../qemuxml2xmlout-graphics-spice-timeout.xml | 4 +- .../qemuxml2xmlout-graphics-spice-unix-socket.xml | 35 ++ .../qemuxml2xmlout-graphics-spice.xml | 2 +- ...emuxml2xmlout-graphics-vnc-auto-unix-socket.xml | 35 ++ .../qemuxml2xmlout-graphics-vnc-autosocket.xml | 39 -- .../qemuxml2xmlout-graphics-vnc-no-listen-attr.xml | 2 +- .../qemuxml2xmlout-graphics-vnc-sasl.xml | 2 +- .../qemuxml2xmlout-graphics-vnc-tls.xml | 2 +- .../qemuxml2xmlout-graphics-vnc-unix-socket.xml | 35 ++ .../qemuxml2xmlout-graphics-vnc-websocket.xml | 2 +- .../qemuxml2xmlout-graphics-vnc.xml | 2 +- .../qemuxml2xmlout-interface-server.xml | 4 +- .../qemuxml2xmlout-net-bandwidth.xml | 4 +- .../qemuxml2xmlout-net-bandwidth2.xml | 4 +- .../qemuxml2xmlout-pci-bridge.xml | 2 +- ...emuxml2xmlout-seclabel-dynamic-none-relabel.xml | 2 +- .../qemuxml2xmlout-serial-spiceport.xml | 2 +- .../qemuxml2xmlout-video-virtio-gpu-spice-gl.xml | 3 +- tests/qemuxml2xmltest.c | 11 +- tests/sexpr2xmldata/sexpr2xml-curmem.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml | 4 +- .../sexpr2xml-fv-serial-dev-2-ports.xml | 4 +- .../sexpr2xml-fv-serial-dev-2nd-port.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml | 4 +- .../sexpr2xml-fv-serial-tcp-telnet.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-sound.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-utc.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv-v2.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-fv.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml | 4 +- .../sexpr2xml-pv-vfb-new-vncdisplay.xml | 2 +- tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml | 2 +- .../sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml | 4 +- tests/sexpr2xmldata/sexpr2xml-vif-rate.xml | 4 +- tests/vmx2xmldata/vmx2xml-graphics-vnc.xml | 4 +- .../test-disk-positional-parms-full.xml | 2 +- .../test-disk-positional-parms-partial.xml | 2 +- ...est-fullvirt-direct-kernel-boot-bogus-extra.xml | 2 +- .../test-fullvirt-direct-kernel-boot-extra.xml | 2 +- .../test-fullvirt-direct-kernel-boot.xml | 2 +- tests/xlconfigdata/test-fullvirt-multiusb.xml | 2 +- tests/xlconfigdata/test-fullvirt-nohap.xml | 2 +- tests/xlconfigdata/test-new-disk.xml | 2 +- tests/xlconfigdata/test-rbd-multihost-noauth.xml | 2 +- tests/xlconfigdata/test-spice-features.xml | 2 +- tests/xlconfigdata/test-spice.xml | 2 +- tests/xlconfigdata/test-vif-rate.xml | 2 +- tests/xmconfigdata/test-escape-paths.xml | 2 +- .../xmconfigdata/test-fullvirt-default-feature.xml | 2 +- tests/xmconfigdata/test-fullvirt-force-hpet.xml | 2 +- tests/xmconfigdata/test-fullvirt-force-nohpet.xml | 2 +- tests/xmconfigdata/test-fullvirt-localtime.xml | 2 +- tests/xmconfigdata/test-fullvirt-net-netfront.xml | 2 +- tests/xmconfigdata/test-fullvirt-new-cdrom.xml | 2 +- tests/xmconfigdata/test-fullvirt-nohap.xml | 2 +- tests/xmconfigdata/test-fullvirt-parallel-tcp.xml | 2 +- .../test-fullvirt-serial-dev-2-ports.xml | 2 +- .../test-fullvirt-serial-dev-2nd-port.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-file.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-null.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-pipe.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-pty.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-stdio.xml | 2 +- .../test-fullvirt-serial-tcp-telnet.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-tcp.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-udp.xml | 2 +- tests/xmconfigdata/test-fullvirt-serial-unix.xml | 2 +- tests/xmconfigdata/test-fullvirt-sound.xml | 2 +- tests/xmconfigdata/test-fullvirt-usbmouse.xml | 2 +- tests/xmconfigdata/test-fullvirt-usbtablet.xml | 2 +- tests/xmconfigdata/test-fullvirt-utc.xml | 2 +- tests/xmconfigdata/test-no-source-cdrom.xml | 4 +- tests/xmconfigdata/test-paravirt-net-e1000.xml | 2 +- tests/xmconfigdata/test-paravirt-net-vifname.xml | 2 +- .../test-paravirt-new-pvfb-vncdisplay.xml | 2 +- tests/xmconfigdata/test-paravirt-new-pvfb.xml | 2 +- tests/xmconfigdata/test-pci-devs.xml | 4 +- 173 files changed, 2392 insertions(+), 1014 deletions(-) create mode 100644 tests/genericxml2xmlindata/generic-graphics-listen-back-compat-ports.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-listen-attr-only.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-listen-element-minimal.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-listen-element-with-address-port.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-listen-element-with-address.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-manual-port.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-minimal.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-socket-listen.xml create mode 100644 tests/genericxml2xmlindata/generic-graphics-vnc-socket.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-listen-back-compat-ports.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-listen-attr-only.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-listen-element-minimal.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-listen-element-with-address-port.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-listen-element-with-address.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-manual-port.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-minimal.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-socket-listen.xml create mode 100644 tests/genericxml2xmloutdata/generic-graphics-vnc-socket.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-unix-socket.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-auto-unix-socket.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-unix-socket.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-unix-socket.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-auto-unix-socket.xml delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-autosocket.args delete mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-autosocket.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-unix-socket.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-unix-socket.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-auto-unix-socket.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-spice-unix-socket.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-auto-unix-socket.xml delete mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-autosocket.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-graphics-vnc-unix-socket.xml -- 2.8.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list