]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
qemu: assume vnet-hdr feature is always available
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 6 Nov 2015 15:48:44 +0000 (15:48 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 10 Nov 2015 10:38:17 +0000 (10:38 +0000)
15 files changed:
src/qemu/qemu_capabilities.c
src/qemu/qemu_capabilities.h
src/qemu/qemu_command.c
src/qemu/qemu_command.h
src/qemu/qemu_hotplug.c
tests/qemucapabilitiesdata/caps_1.2.2-1.caps
tests/qemucapabilitiesdata/caps_1.3.1-1.caps
tests/qemucapabilitiesdata/caps_1.4.2-1.caps
tests/qemucapabilitiesdata/caps_1.5.3-1.caps
tests/qemucapabilitiesdata/caps_1.6.0-1.caps
tests/qemucapabilitiesdata/caps_1.6.50-1.caps
tests/qemucapabilitiesdata/caps_2.1.1-1.caps
tests/qemucaps2xmldata/all_1.6.0-1.caps
tests/qemucaps2xmldata/nodisksnapshot_1.6.0-1.caps
tests/qemuhelptest.c

index 9594e8c71b8d406c312abe6b23f130ea9ba4ae3a..17c952ab4c173c588afbf91523621325875beb56 100644 (file)
@@ -1081,7 +1081,6 @@ virCapsPtr virQEMUCapsInit(virQEMUCapsCachePtr cache)
 static int
 virQEMUCapsComputeCmdFlags(const char *help,
                            unsigned int version,
-                           bool is_kvm,
                            unsigned int kvm_version,
                            virQEMUCapsPtr qemuCaps,
                            bool check_yajl ATTRIBUTE_UNUSED)
@@ -1217,9 +1216,6 @@ virQEMUCapsComputeCmdFlags(const char *help,
         strstr(help, "sockets="))
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_SMP_TOPOLOGY);
 
-    if (is_kvm && (version >= 10000 || kvm_version >= 74))
-        virQEMUCapsSet(qemuCaps, QEMU_CAPS_VNET_HDR);
-
     if (strstr(help, ",vhost="))
         virQEMUCapsSet(qemuCaps, QEMU_CAPS_VHOST_NET);
 
@@ -1448,7 +1444,7 @@ int virQEMUCapsParseHelpStr(const char *qemu,
         goto cleanup;
     }
 
-    if (virQEMUCapsComputeCmdFlags(help, *version, *is_kvm, *kvm_version,
+    if (virQEMUCapsComputeCmdFlags(help, *version, *kvm_version,
                                    qemuCaps, check_yajl) < 0)
         goto cleanup;
 
@@ -3204,7 +3200,6 @@ static qemuMonitorCallbacks callbacks = {
 static void
 virQEMUCapsInitQMPBasic(virQEMUCapsPtr qemuCaps)
 {
-    virQEMUCapsSet(qemuCaps, QEMU_CAPS_VNET_HDR);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_MIGRATE_QEMU_TCP);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_MIGRATE_QEMU_EXEC);
     virQEMUCapsSet(qemuCaps, QEMU_CAPS_DRIVE_CACHE_V2);
index faca5994f2d1ed5e4a4b09bd287e94184b53d01b..45d38a269a7ffd8190870afd155c296875b88b68 100644 (file)
@@ -56,7 +56,7 @@ typedef enum {
     X_QEMU_CAPS_NAME, /* Is the -name flag available */
     X_QEMU_CAPS_UUID, /* Is the -uuid flag available */
     X_QEMU_CAPS_DOMID, /* Xenner: -domid flag available */
-    QEMU_CAPS_VNET_HDR,
+    X_QEMU_CAPS_VNET_HDR,
     QEMU_CAPS_MIGRATE_KVM_STDIO, /* avoid kvm tcp migration bug */
 
     /* 10 */
index c9c86abe281de595b4e7a98157c8469fd6c42d66..906b6e1acd29ab540562b55d11968a879207fe91 100644 (file)
@@ -219,7 +219,6 @@ qemuVirCommandGetDevSet(virCommandPtr cmd, int fd)
  * @def: the definition of the VM (needed by 802.1Qbh and audit)
  * @driver: pointer to the driver instance
  * @net: pointer to the VM's interface description with direct device type
- * @qemuCaps: flags for qemu
  * @vmop: VM operation type
  *
  * Returns a filedescriptor on success or -1 in case of error.
@@ -228,7 +227,6 @@ int
 qemuPhysIfaceConnect(virDomainDefPtr def,
                      virQEMUDriverPtr driver,
                      virDomainNetDefPtr net,
-                     virQEMUCapsPtr qemuCaps,
                      virNetDevVPortProfileOp vmop)
 {
     int rc;
@@ -237,8 +235,7 @@ qemuPhysIfaceConnect(virDomainDefPtr def,
     virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
     unsigned int macvlan_create_flags = VIR_NETDEV_MACVLAN_CREATE_WITH_TAP;
 
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNET_HDR) &&
-        net->model && STREQ(net->model, "virtio"))
+    if (net->model && STREQ(net->model, "virtio"))
         vnet_hdr = 1;
 
     rc = virNetDevMacVLanCreateWithVPortProfile(
@@ -367,7 +364,6 @@ int
 qemuNetworkIfaceConnect(virDomainDefPtr def,
                         virQEMUDriverPtr driver,
                         virDomainNetDefPtr net,
-                        virQEMUCapsPtr qemuCaps,
                         int *tapfd,
                         size_t *tapfdSize)
 {
@@ -402,10 +398,8 @@ qemuNetworkIfaceConnect(virDomainDefPtr def,
         template_ifname = true;
     }
 
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VNET_HDR) &&
-        net->model && STREQ(net->model, "virtio")) {
+    if (net->model && STREQ(net->model, "virtio"))
         tap_create_flags |= VIR_NETDEV_TAP_CREATE_VNET_HDR;
-    }
 
     if (virQEMUDriverIsPrivileged(driver)) {
         if (virNetDevTapCreateInBridgePort(brname, &net->ifname, &net->mac,
@@ -8749,15 +8743,13 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
         memset(tapfd, -1, tapfdSize * sizeof(tapfd[0]));
 
         if (qemuNetworkIfaceConnect(def, driver, net,
-                                    qemuCaps, tapfd,
-                                    &tapfdSize) < 0)
+                                    tapfd, &tapfdSize) < 0)
             goto cleanup;
     } else if (actualType == VIR_DOMAIN_NET_TYPE_DIRECT) {
         if (VIR_ALLOC(tapfd) < 0 || VIR_ALLOC(tapfdName) < 0)
             goto cleanup;
         tapfdSize = 1;
-        tapfd[0] = qemuPhysIfaceConnect(def, driver, net,
-                                        qemuCaps, vmop);
+        tapfd[0] = qemuPhysIfaceConnect(def, driver, net, vmop);
         if (tapfd[0] < 0)
             goto cleanup;
     }
index 4aa7f2d143e316eb867f642ec0878c0b6e6674f0..d1af3b76f94c46609e6d27ff39bc46d720be5e19 100644 (file)
@@ -228,7 +228,6 @@ char *qemuBuildRedirdevDevStr(virDomainDefPtr def,
 int qemuNetworkIfaceConnect(virDomainDefPtr def,
                             virQEMUDriverPtr driver,
                             virDomainNetDefPtr net,
-                            virQEMUCapsPtr qemuCaps,
                             int *tapfd,
                             size_t *tapfdSize)
     ATTRIBUTE_NONNULL(2);
@@ -236,7 +235,6 @@ int qemuNetworkIfaceConnect(virDomainDefPtr def,
 int qemuPhysIfaceConnect(virDomainDefPtr def,
                          virQEMUDriverPtr driver,
                          virDomainNetDefPtr net,
-                         virQEMUCapsPtr qemuCaps,
                          virNetDevVPortProfileOp vmop);
 
 int qemuOpenVhostNet(virDomainDefPtr def,
index 5030dd16b1bf0134548b3d9436c35097cd72d2c0..487d187b78a8892e36180e3c656d6ffcdf415d55 100644 (file)
@@ -947,7 +947,7 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
             goto cleanup;
         memset(vhostfd, -1, sizeof(*vhostfd) * vhostfdSize);
         if (qemuNetworkIfaceConnect(vm->def, driver, net,
-                                    priv->qemuCaps, tapfd, &tapfdSize) < 0)
+                                    tapfd, &tapfdSize) < 0)
             goto cleanup;
         iface_connected = true;
         if (qemuOpenVhostNet(vm->def, net, priv->qemuCaps, vhostfd, &vhostfdSize) < 0)
@@ -961,7 +961,6 @@ int qemuDomainAttachNetDevice(virConnectPtr conn,
             goto cleanup;
         *vhostfd = -1;
         if ((tapfd[0] = qemuPhysIfaceConnect(vm->def, driver, net,
-                                             priv->qemuCaps,
                                              VIR_NETDEV_VPORT_PROFILE_OP_CREATE)) < 0)
             goto cleanup;
         iface_connected = true;
index 36d373203022cdae5a4b283cc78ee4e264f9c133..c149b6c1b5dca5c8faecf1e3706f067b889bdc55 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index d0057d4694d862de9a7ba4273bedb57d214e3501..8425e43610df57a7ba5da0e687236e7f94c1e2f1 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index 79ae61aaa6b8a976e96a2a1d06ccbcd4d61ff512..2b86eba81de910c91ba9f0fed8387ac05ad23d6f 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index 7b8e93da88aedb666d4f3244a6af9320597c2c51..39133a1d129309bc314854d9378016c76b730203 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index fe2ea59d27bfc92bdf0f6dddb64bc258c944f35a..50f5af101a5d9a9953a622bf9b45d16a0f434b0f 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index 80f62a1e369febbe1ed196879845e78843a8993d..c339dae841349dfd444cb205b1424deb2af0fe5f 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index eade5026f7097961dba0ba72592826215f5cbd41..6c5a32c2547d721f5fc3cba1090eb563ed049acb 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index ac6bca93c951ba64879775b7bad1a6b94e6a6831..0f6c22a29ee0ab24a490f4e8a4cc72d64b7f5acd 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index e9414870ebcd266d44e3b6e1901b0b0faf42b5a1..15f67d439080192e0a87d8a81ee63d89788faa05 100644 (file)
@@ -1,5 +1,4 @@
   <qemuCaps>
-    <flag name='vnet-hdr'/>
     <flag name='migrate-qemu-tcp'/>
     <flag name='migrate-qemu-exec'/>
     <flag name='drive-cache-v2'/>
index 414c87460e14ebac0f48ad3c14ca4d8694ca4070..7bc52f1a650e96d4e3bab87e92118da8c9385764 100644 (file)
@@ -183,7 +183,6 @@ mymain(void)
             QEMU_CAPS_VNC);
     DO_TEST("qemu-kvm-0.12.1.2-rhel60", 12001, 1, 0,
             QEMU_CAPS_DRIVE_BOOT,
-            QEMU_CAPS_VNET_HDR,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
             QEMU_CAPS_MIGRATE_QEMU_EXEC,
             QEMU_CAPS_DRIVE_CACHE_V2,
@@ -241,7 +240,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-kvm-0.12.3", 12003, 1, 0,
             QEMU_CAPS_DRIVE_BOOT,
-            QEMU_CAPS_VNET_HDR,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
             QEMU_CAPS_MIGRATE_QEMU_EXEC,
             QEMU_CAPS_DRIVE_CACHE_V2,
@@ -279,7 +277,6 @@ mymain(void)
             QEMU_CAPS_VNC);
     DO_TEST("qemu-kvm-0.13.0", 13000, 1, 0,
             QEMU_CAPS_DRIVE_BOOT,
-            QEMU_CAPS_VNET_HDR,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
             QEMU_CAPS_MIGRATE_QEMU_EXEC,
             QEMU_CAPS_DRIVE_CACHE_V2,
@@ -347,7 +344,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_E1000,
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-kvm-0.12.1.2-rhel61", 12001, 1, 0,
-            QEMU_CAPS_VNET_HDR,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
             QEMU_CAPS_MIGRATE_QEMU_EXEC,
             QEMU_CAPS_DRIVE_CACHE_V2,
@@ -412,7 +408,6 @@ mymain(void)
             QEMU_CAPS_DEVICE_E1000,
             QEMU_CAPS_DEVICE_VIRTIO_NET);
     DO_TEST("qemu-kvm-0.12.1.2-rhel62-beta", 12001, 1, 0,
-            QEMU_CAPS_VNET_HDR,
             QEMU_CAPS_MIGRATE_QEMU_TCP,
             QEMU_CAPS_MIGRATE_QEMU_EXEC,
             QEMU_CAPS_DRIVE_CACHE_V2,