]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu_command.c: move QEMU_CAPS_VIRTIO_TX_ALG check to qemu_validate.c
authorDaniel Henrique Barboza <danielhb413@gmail.com>
Fri, 9 Oct 2020 13:56:34 +0000 (10:56 -0300)
committerDaniel Henrique Barboza <danielhb413@gmail.com>
Thu, 15 Oct 2020 13:01:49 +0000 (10:01 -0300)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/qemu/qemu_command.c
src/qemu/qemu_validate.c
tests/qemuxml2xmltest.c

index 06ac175b67c8722a39378a443e1ff43e77f49fea..1629fac65913e98523a5e0193849e2c1289b44b6 100644 (file)
@@ -3330,10 +3330,6 @@ qemuBuildNicDevStr(virDomainDefPtr def,
                                             net->driver.virtio.txmode);
                     return NULL;
             }
-        } else {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("virtio-net-pci 'tx' option not supported in this QEMU binary"));
-            return NULL;
         }
     }
     if (usingVirtio) {
index 81b505fc1b3864a8b363a7ea8c44f276799dcac2..bdfb501e235f4aaea3cafe8420950a049db920e3 100644 (file)
@@ -1253,6 +1253,14 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net,
     }
 
     if (virDomainNetIsVirtioModel(net)) {
+        if (net->driver.virtio.txmode &&
+            !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_TX_ALG)) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("virtio-net-pci 'tx' option not supported in "
+                             "this QEMU binary"));
+            return -1;
+        }
+
         if (net->driver.virtio.rx_queue_size & (net->driver.virtio.rx_queue_size - 1)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
                            _("rx_queue_size has to be a power of two"));
index f4a5aa18f7053e73b3440b77bc4980979554e306..c1b70025b14517462c6f923cfac5e1aa3ef864fe 100644 (file)
@@ -467,7 +467,7 @@ mymain(void)
     DO_TEST("net-user", NONE);
     DO_TEST("net-user-addr", NONE);
     DO_TEST("net-virtio", NONE);
-    DO_TEST("net-virtio-device", NONE);
+    DO_TEST("net-virtio-device", QEMU_CAPS_VIRTIO_TX_ALG);
     DO_TEST("net-virtio-disable-offloads", NONE);
     DO_TEST("net-eth", NONE);
     DO_TEST("net-eth-ifname", NONE);
@@ -795,7 +795,7 @@ mymain(void)
     DO_TEST("numad-auto-memory-vcpu-no-cpuset-and-placement", NONE);
     DO_TEST("numad-auto-memory-vcpu-cpuset", NONE);
     DO_TEST("usb-ich9-ehci-addr", NONE);
-    DO_TEST("disk-copy_on_read", NONE);
+    DO_TEST("disk-copy_on_read", QEMU_CAPS_VIRTIO_TX_ALG);
     DO_TEST_CAPS_LATEST("tpm-passthrough");
     DO_TEST_CAPS_LATEST("tpm-passthrough-crb");
     DO_TEST_CAPS_LATEST("tpm-emulator");