]> xenbits.xensource.com Git - libvirt.git/commitdiff
virNetDevTapCreate: Fail on systems not supporting IFF_MULTI_QUEUE
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 22 May 2013 16:32:27 +0000 (18:32 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Wed, 22 May 2013 16:32:27 +0000 (18:32 +0200)
In my previous patches I enabled the IFF_MULTI_QUEUE flag every
time the user requested multiqueue TAP device. However, this
works only at runtime. During build time the flag may be
undeclared.

src/util/virnetdevtap.c

index aa41b9c85f37fb588d77c928321fb91d131d7eac..e8057f7231bfc25b063906e7fdc2c9448a473cf5 100644 (file)
@@ -178,8 +178,15 @@ int virNetDevTapCreate(char **ifname,
 
         ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
         /* If tapfdSize is greater than one, request multiqueue */
-        if (tapfdSize > 1)
+        if (tapfdSize > 1) {
+# ifdef IFF_MULTI_QUEUE
             ifr.ifr_flags |= IFF_MULTI_QUEUE;
+# else
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("Multiqueue devices are not supported on this system"));
+            goto cleanup;
+# endif
+        }
 
 # ifdef IFF_VNET_HDR
         if ((flags &  VIR_NETDEV_TAP_CREATE_VNET_HDR) &&