From 697e26fac66d9b1458ad67261014284c249ecd2d Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 9 Nov 2022 18:12:12 +0100 Subject: [PATCH] qemu: capabilities: Detect support for JSON args for -netdev JSON args for -netdev were added as precursor for adding the 'dgram' network backend type. Enable the detection and update test cases using DO_TEST_CAPS_LATEST. Enabling the capability also ensures that the -netdev argument is validated against the QAPI schema of 'netdev_add' which was already implemented but not enabled. The parser supporting JSON was added by qemu commit f3eedcddba3 and enabled when adding stream/dgram netdevs in commit 5166fe0ae46. Signed-off-by: Peter Krempa Reviewed-by: Michal Privoznik --- src/qemu/qemu_capabilities.c | 2 ++ tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml | 1 + tests/qemuxml2argvdata/boot-complex.x86_64-latest.args | 4 ++-- tests/qemuxml2argvdata/boot-order.x86_64-latest.args | 2 +- .../channel-unix-guestfwd.x86_64-latest.args | 4 ++-- .../qemuxml2argvdata/devices-acpi-index.x86_64-latest.args | 6 +++--- tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/event_idx.x86_64-latest.args | 2 +- .../graphics-spice-timeout.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/name-escape.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/net-user.x86_64-latest.args | 2 +- .../qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args | 6 +++--- tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args | 6 +++--- tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args | 4 ++-- tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args | 4 ++-- .../q35-virt-manager-basic.x86_64-latest.args | 2 +- tests/qemuxml2argvdata/user-aliases.x86_64-latest.args | 6 +++--- tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args | 2 +- .../virtio-non-transitional.x86_64-latest.args | 2 +- .../virtio-options-net-ats.x86_64-latest.args | 4 ++-- .../virtio-options-net-iommu.x86_64-latest.args | 4 ++-- .../virtio-options-net-packed.x86_64-latest.args | 4 ++-- tests/qemuxml2argvdata/virtio-options.x86_64-latest.args | 2 +- .../qemuxml2argvdata/virtio-transitional.x86_64-latest.args | 2 +- .../qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args | 2 +- .../qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args | 2 +- .../qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args | 2 +- .../qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args | 2 +- 30 files changed, 46 insertions(+), 43 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 4c301c3638..a2031e9aaa 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -1539,6 +1539,8 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = { { "nbd-server-start/arg-type/tls-creds", QEMU_CAPS_NBD_TLS }, { "nbd-server-add/arg-type/bitmap", QEMU_CAPS_NBD_BITMAP }, { "netdev_add/arg-type/+vhost-vdpa", QEMU_CAPS_NETDEV_VHOST_VDPA }, + /* JSON support for -netdev was introduced for the 'dgram' netdev type */ + { "netdev_add/arg-type/type/^dgram", QEMU_CAPS_NETDEV_JSON }, { "object-add/arg-type/qom-type/^secret", QEMU_CAPS_OBJECT_JSON }, { "query-display-options/ret-type/+egl-headless/rendernode", QEMU_CAPS_EGL_HEADLESS_RENDERNODE }, { "query-display-options/ret-type/+sdl", QEMU_CAPS_SDL }, diff --git a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml index 56d1ff5fa9..6a861eea24 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0.x86_64.xml @@ -178,6 +178,7 @@ + diff --git a/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args b/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args index b3b301b602..f7c0c2420b 100644 --- a/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args +++ b/tests/qemuxml2argvdata/boot-complex.x86_64-latest.args @@ -50,9 +50,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -blockdev '{"driver":"host_device","filename":"/dev/fd1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"floppy","unit":1,"drive":"libvirt-1-format","id":"fdc0-0-1"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:11","bootindex":2,"bus":"pci.0","addr":"0x2"}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:22","bus":"pci.0","addr":"0x3"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/boot-order.x86_64-latest.args b/tests/qemuxml2argvdata/boot-order.x86_64-latest.args index bbb27d6831..e3ff8da1af 100644 --- a/tests/qemuxml2argvdata/boot-order.x86_64-latest.args +++ b/tests/qemuxml2argvdata/boot-order.x86_64-latest.args @@ -41,7 +41,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -blockdev '{"driver":"file","filename":"/dev/null","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"floppy","unit":1,"drive":"libvirt-1-format","id":"fdc0-0-1"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bootindex":2,"bus":"pci.0","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \ diff --git a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args index 6d34fa71bf..bac33b80ed 100644 --- a/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/channel-unix-guestfwd.x86_64-latest.args @@ -29,9 +29,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -boot strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -chardev socket,id=charchannel0,fd=1729,server=on,wait=off \ --netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=channel0 \ +-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4600-chardev:charchannel0"}],"id":"channel0"}' \ -chardev socket,id=charchannel1,path=/tmp/guestfwd-connect.socket \ --netdev user,guestfwd=tcp:10.0.2.1:4601-chardev:charchannel1,id=channel1 \ +-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4601-chardev:charchannel1"}],"id":"channel1"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x2"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args b/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args index 41136d7d49..f2c3294f9c 100644 --- a/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args +++ b/tests/qemuxml2argvdata/devices-acpi-index.x86_64-latest.args @@ -33,11 +33,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-fdr-br/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/test1.img","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x4","acpi-index":42,"drive":"libvirt-1-format","id":"virtio-disk1"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x5","acpi-index":100}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x7","acpi-index":200}' \ --netdev user,id=hostnet2 \ +-netdev '{"type":"user","id":"hostnet2"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet2","id":"net2","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x8","acpi-index":300}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"cirrus-vga","id":"video0","bus":"pci.0","addr":"0x2","acpi-index":1729}' \ diff --git a/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args b/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args index 0715c1fb43..ba7f58a9a3 100644 --- a/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/disk-ioeventfd.x86_64-latest.args @@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"ide-cd","bus":"ide.1","unit":0,"drive":"libvirt-1-format","id":"ide0-1-0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","tx":"bh","ioeventfd":false,"netdev":"hostnet0","id":"net0","mac":"52:54:00:e5:48:58","bus":"pci.0","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \ diff --git a/tests/qemuxml2argvdata/event_idx.x86_64-latest.args b/tests/qemuxml2argvdata/event_idx.x86_64-latest.args index afdde09e8a..eb3ee51140 100644 --- a/tests/qemuxml2argvdata/event_idx.x86_64-latest.args +++ b/tests/qemuxml2argvdata/event_idx.x86_64-latest.args @@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/Fedora-14-x86_64-Live-KDE.iso","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":true,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"ide-cd","bus":"ide.1","unit":0,"drive":"libvirt-1-format","id":"ide0-1-0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","event_idx":false,"netdev":"hostnet0","id":"net0","mac":"52:54:00:e5:48:58","bus":"pci.0","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \ diff --git a/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args b/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args index 13c4c08e6f..4df15cd124 100644 --- a/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args +++ b/tests/qemuxml2argvdata/graphics-spice-timeout.x86_64-latest.args @@ -27,7 +27,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-f14/.config \ -boot menu=on,strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.0","addr":"0x6"}' \ --netdev tap,fd=3,id=hostnet0 \ +-netdev '{"type":"tap","fd":"3","id":"hostnet0"}' \ -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"52:54:00:71:70:89","bus":"pci.0","addr":"0x7"}' \ -device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \ -audiodev '{"id":"audio1","driver":"spice"}' \ diff --git a/tests/qemuxml2argvdata/name-escape.x86_64-latest.args b/tests/qemuxml2argvdata/name-escape.x86_64-latest.args index 42b0ad3230..b09083eadb 100644 --- a/tests/qemuxml2argvdata/name-escape.x86_64-latest.args +++ b/tests/qemuxml2argvdata/name-escape.x86_64-latest.args @@ -39,7 +39,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-foo=1,bar=2/.config \ -chardev file,id=charserial1,path=/dev/fdset/0,append=on \ -device '{"driver":"isa-serial","chardev":"charserial1","id":"serial1","index":0}' \ -chardev pipe,id=charchannel0,path=/tmp/guestfwd,,foo \ --netdev user,guestfwd=tcp:10.0.2.1:4600-chardev:charchannel0,id=channel0 \ +-netdev '{"type":"user","guestfwd":[{"str":"tcp:10.0.2.1:4600-chardev:charchannel0"}],"id":"channel0"}' \ -audiodev '{"id":"audio1","driver":"spice"}' \ -vnc vnc=unix:/tmp/lib/domain--1-foo=1,,bar=2/vnc.sock,audiodev=audio1 \ -spice unix,addr=/tmp/lib/domain--1-foo=1,,bar=2/spice.sock,gl=on,rendernode=/dev/dri/foo,,bar,seamless-migration=on \ diff --git a/tests/qemuxml2argvdata/net-user.x86_64-latest.args b/tests/qemuxml2argvdata/net-user.x86_64-latest.args index 87423d4cad..d8cf677423 100644 --- a/tests/qemuxml2argvdata/net-user.x86_64-latest.args +++ b/tests/qemuxml2argvdata/net-user.x86_64-latest.args @@ -31,7 +31,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-format","id":"ide0-0-0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"rtl8139","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args b/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args index 4cb805451a..347573041b 100644 --- a/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args +++ b/tests/qemuxml2argvdata/net-vdpa-multiqueue.x86_64-latest.args @@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -boot strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -add-fd set=0,fd=1732,opaque=net0-vdpa \ --netdev vhost-vdpa,vhostdev=/dev/fdset/0,queues=2,id=hostnet0 \ +-netdev '{"type":"vhost-vdpa","vhostdev":"/dev/fdset/0","queues":2,"id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","mq":true,"vectors":6,"netdev":"hostnet0","id":"net0","mac":"52:54:00:95:db:c0","bus":"pci.0","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args index 93fe8fb444..be4f7c4ae2 100644 --- a/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args +++ b/tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args @@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -boot strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -add-fd set=0,fd=1732,opaque=net0-vdpa \ --netdev vhost-vdpa,vhostdev=/dev/fdset/0,id=hostnet0 \ +-netdev '{"type":"vhost-vdpa","vhostdev":"/dev/fdset/0","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:95:db:c0","bus":"pci.0","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args index 1309c28c95..17d9715814 100644 --- a/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args +++ b/tests/qemuxml2argvdata/net-vhostuser.x86_64-latest.args @@ -29,12 +29,12 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -boot strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -chardev socket,id=charnet0,path=/tmp/vhost0.sock,server=on \ --netdev vhost-user,chardev=charnet0,id=hostnet0 \ +-netdev '{"type":"vhost-user","chardev":"charnet0","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:ee:96:6b","bus":"pci.0","addr":"0x2"}' \ -chardev socket,id=charnet1,path=/tmp/vhost1.sock \ --netdev vhost-user,chardev=charnet1,id=hostnet1 \ +-netdev '{"type":"vhost-user","chardev":"charnet1","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"52:54:00:ee:96:6c","bus":"pci.0","addr":"0x3"}' \ --netdev socket,listen=:2015,id=hostnet2 \ +-netdev '{"type":"socket","listen":":2015","id":"hostnet2"}' \ -device '{"driver":"rtl8139","netdev":"hostnet2","id":"net2","mac":"52:54:00:95:db:c0","bus":"pci.0","addr":"0x4"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ diff --git a/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args b/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args index cabea93ba9..2d3f15ecd4 100644 --- a/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args +++ b/tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args @@ -31,11 +31,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-format","id":"ide0-0-0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","rss":true,"netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x2"}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","hash":true,"netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.0","addr":"0x3"}' \ --netdev user,id=hostnet2 \ +-netdev '{"type":"user","id":"hostnet2"}' \ -device '{"driver":"virtio-net-pci","rss":false,"hash":true,"netdev":"hostnet2","id":"net2","mac":"00:11:22:33:44:77","bus":"pci.0","addr":"0x4"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x5"}' \ diff --git a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args index 7992c33ace..fcb9e9e43f 100644 --- a/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args +++ b/tests/qemuxml2argvdata/q35-pcie-autoadd.x86_64-latest.args @@ -49,9 +49,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \ -device '{"driver":"virtio-blk-pci","bus":"pci.7","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}' \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \ -device '{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.1","addr":"0x0"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x0"}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.3","addr":"0x0"}' \ -device '{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.10","addr":"0x0"}' \ -device '{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.11","addr":"0x0"}' \ diff --git a/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args b/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args index 4a84c2e621..08afee14a4 100644 --- a/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args +++ b/tests/qemuxml2argvdata/q35-pcie.x86_64-latest.args @@ -50,9 +50,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-q35-test/.config \ -device '{"driver":"virtio-blk-pci","bus":"pci.9","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk1","bootindex":1}' \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/to/guest \ -device '{"driver":"virtio-9p-pci","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"/import/from/host","bus":"pci.3","addr":"0x0"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.4","addr":"0x0"}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"e1000e","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:66","bus":"pci.5","addr":"0x0"}' \ -device '{"driver":"virtio-input-host-pci","id":"input0","evdev":"/dev/input/event1234","bus":"pci.12","addr":"0x0"}' \ -device '{"driver":"virtio-mouse-pci","id":"input1","bus":"pci.13","addr":"0x0"}' \ diff --git a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args index 77a7cf5e4f..2f75d79739 100644 --- a/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args +++ b/tests/qemuxml2argvdata/q35-virt-manager-basic.x86_64-latest.args @@ -40,7 +40,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-virt-manager-basic/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/basic.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:9a:e6:c6","bus":"pci.1","addr":"0x0"}' \ -chardev pty,id=charserial0 \ -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \ diff --git a/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args b/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args index d1a3f4af07..1a21437f06 100644 --- a/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args +++ b/tests/qemuxml2argvdata/user-aliases.x86_64-latest.args @@ -51,11 +51,11 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-gentoo/.config \ -blockdev '{"driver":"file","filename":"/home/zippy/tmp/install-amd64-minimal-20140619.iso","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":true,"cache":{"direct":true,"no-flush":false},"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"ide-cd","bus":"ide.1","unit":0,"share-rw":true,"drive":"libvirt-1-format","id":"ua-WhatAnAwesomeCDROM","bootindex":2,"write-cache":"on"}' \ --netdev tap,fd=3,vhost=on,vhostfd=44,id=hostua-CheckoutThisNIC \ +-netdev '{"type":"tap","fd":"3","vhost":true,"vhostfd":"44","id":"hostua-CheckoutThisNIC"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostua-CheckoutThisNIC","id":"ua-CheckoutThisNIC","mac":"52:54:00:d6:c0:0b","bus":"pci.0","addr":"0x3"}' \ --netdev socket,listen=127.0.0.1:1234,id=hostua-WeCanAlsoDoServerMode \ +-netdev '{"type":"socket","listen":"127.0.0.1:1234","id":"hostua-WeCanAlsoDoServerMode"}' \ -device '{"driver":"rtl8139","netdev":"hostua-WeCanAlsoDoServerMode","id":"ua-WeCanAlsoDoServerMode","mac":"52:54:00:22:c9:42","bus":"pci.0","addr":"0x9"}' \ --netdev socket,connect=127.0.0.1:1234,id=hostua-AndAlsoClientMode \ +-netdev '{"type":"socket","connect":"127.0.0.1:1234","id":"hostua-AndAlsoClientMode"}' \ -device '{"driver":"rtl8139","netdev":"hostua-AndAlsoClientMode","id":"ua-AndAlsoClientMode","mac":"52:54:00:8c:b1:f8","bus":"pci.0","addr":"0xa"}' \ -device '{"driver":"ccid-card-emulated","backend":"nss-emulated","id":"smartcard0","bus":"ua-myCCID.0"}' \ -chardev pty,id=charserial0 \ diff --git a/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args index c6c9a98ffe..85193a4fe1 100644 --- a/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-lun.x86_64-latest.args @@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-test/.config \ -blockdev '{"driver":"host_device","filename":"/dev/sdfake2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw","file":"libvirt-1-storage"}' \ -device '{"driver":"virtio-blk-pci","scsi":true,"bus":"pci.0","addr":"0x5","drive":"libvirt-1-format","id":"virtio-disk1"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","event_idx":false,"netdev":"hostnet0","id":"net0","mac":"52:54:00:e5:48:58","bus":"pci.0","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x3"}' \ diff --git a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args index 541c074871..2eafeca9f3 100644 --- a/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-non-transitional.x86_64-latest.args @@ -44,7 +44,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -device '{"driver":"virtio-blk-pci-non-transitional","bus":"pci.5","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \ -device '{"driver":"virtio-9p-pci-non-transitional","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.1","addr":"0x0"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci-non-transitional","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x0"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"vhost-scsi-pci-non-transitional","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.6","addr":"0x0"}' \ diff --git a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args index c35e26b21f..bb0c1991b0 100644 --- a/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-options-net-ats.x86_64-latest.args @@ -28,9 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -no-acpi \ -boot strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","ats":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x2"}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","ats":false,"netdev":"hostnet1","id":"net1","mac":"62:64:66:68:6a:6c","bus":"pci.0","addr":"0x3"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \ diff --git a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args index ec0247f42e..a2645f9d4f 100644 --- a/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-options-net-iommu.x86_64-latest.args @@ -28,9 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -no-acpi \ -boot strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","iommu_platform":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x2"}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","iommu_platform":false,"netdev":"hostnet1","id":"net1","mac":"62:64:66:68:6a:6c","bus":"pci.0","addr":"0x3"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \ diff --git a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args index 7aad3173f9..3e06320eee 100644 --- a/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-options-net-packed.x86_64-latest.args @@ -28,9 +28,9 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -no-acpi \ -boot strict=on \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","packed":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x2"}' \ --netdev user,id=hostnet1 \ +-netdev '{"type":"user","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","packed":false,"netdev":"hostnet1","id":"net1","mac":"62:64:66:68:6a:6c","bus":"pci.0","addr":"0x3"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.0","addr":"0x4"}' \ diff --git a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args index ff21b4bf4a..3ff0a53fbf 100644 --- a/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-options.x86_64-latest.args @@ -37,7 +37,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -device '{"driver":"virtio-9p-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.0","addr":"0x3"}' \ -fsdev local,security_model=mapped,writeout=immediate,id=fsdev-fs1,path=/export/fs2 \ -device '{"driver":"virtio-9p-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"fs1","fsdev":"fsdev-fs1","mount_tag":"fs2","bus":"pci.0","addr":"0x4"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"rss":true,"hash":true,"netdev":"hostnet0","id":"net0","mac":"52:54:56:58:5a:5c","bus":"pci.0","addr":"0x6"}' \ -device '{"driver":"virtio-mouse-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"input0","bus":"pci.0","addr":"0xe"}' \ -device '{"driver":"virtio-keyboard-pci","iommu_platform":true,"ats":true,"packed":true,"page-per-vq":true,"id":"input1","bus":"pci.0","addr":"0x10"}' \ diff --git a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args index 6d18698ec7..3cf3959528 100644 --- a/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args +++ b/tests/qemuxml2argvdata/virtio-transitional.x86_64-latest.args @@ -37,7 +37,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \ -device '{"driver":"virtio-blk-pci-transitional","bus":"pci.2","addr":"0x5","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ -fsdev local,security_model=passthrough,id=fsdev-fs0,path=/export/fs1 \ -device '{"driver":"virtio-9p-pci-transitional","id":"fs0","fsdev":"fsdev-fs0","mount_tag":"fs1","bus":"pci.2","addr":"0x1"}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci-transitional","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.2","addr":"0x2"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ -device '{"driver":"vhost-scsi-pci-transitional","wwpn":"naa.5123456789abcde0","vhostfd":"3","id":"hostdev0","bus":"pci.2","addr":"0x6"}' \ diff --git a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args index 56226138bf..ef0b9c620c 100644 --- a/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-pc-graphics.x86_64-latest.args @@ -34,7 +34,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x6","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:4c:e3:86","bus":"pci.0","addr":"0x3"}' \ -chardev pty,id=charserial0 \ -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \ diff --git a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args index 3c4688a89e..aee3161a75 100644 --- a/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-pc-headless.x86_64-latest.args @@ -35,7 +35,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.0","addr":"0x5","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.0","addr":"0x2"}' \ -chardev pty,id=charserial0 \ -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \ diff --git a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args index 37a1afb897..337103d722 100644 --- a/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-q35-graphics.x86_64-latest.args @@ -41,7 +41,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:d2:70:0b","bus":"pci.1","addr":"0x0"}' \ -chardev pty,id=charserial0 \ -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \ diff --git a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args index b4d90dff5e..bf8a2f3af9 100644 --- a/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args +++ b/tests/qemuxml2argvdata/x86_64-q35-headless.x86_64-latest.args @@ -42,7 +42,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-guest/.config \ -blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ --netdev user,id=hostnet0 \ +-netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \ -chardev pty,id=charserial0 \ -device '{"driver":"isa-serial","chardev":"charserial0","id":"serial0","index":0}' \