From 25a2d944df35c6641b5fd4a316ca7bcbe1341bd9 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Wed, 22 May 2013 18:32:27 +0200 Subject: [PATCH] virNetDevTapCreate: Fail on systems not supporting IFF_MULTI_QUEUE 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 | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/util/virnetdevtap.c b/src/util/virnetdevtap.c index aa41b9c85f..e8057f7231 100644 --- a/src/util/virnetdevtap.c +++ b/src/util/virnetdevtap.c @@ -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) && -- GitLab