[PATCH] util: remove compile time tests for IFF_VNET_HDR/IFF_MULTI_QUEUE

Daniel P. Berrangé posted 1 patch 3 years, 6 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20200924122027.2140044-1-berrange@redhat.com
src/util/virnetdevtap.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
[PATCH] util: remove compile time tests for IFF_VNET_HDR/IFF_MULTI_QUEUE
Posted by Daniel P. Berrangé 3 years, 6 months ago
The former has been present since

  commit f43798c27684ab925adde7d8acc34c78c6e50df8
  Author: Rusty Russell <rusty@rustcorp.com.au>
  Date:   Thu Jul 3 03:48:02 2008 -0700

    tun: Allow GSO using virtio_net_hdr

and the latter since

  commit bbb009941efaece3898910a862f6d23aa55d6ba8
  Author: Jason Wang <jasowang@redhat.com>
  Date:   Wed Oct 31 19:45:59 2012 +0000

    tuntap: introduce multiqueue flags

these are old enough that they can be assumed present in all Linux
platforms we support. The tap device creation code changed is specific
to Linux, with a separate impl for non-Linux platforms.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 src/util/virnetdevtap.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/src/util/virnetdevtap.c b/src/util/virnetdevtap.c
index 77c4d1c52c..1738f48a5f 100644
--- a/src/util/virnetdevtap.c
+++ b/src/util/virnetdevtap.c
@@ -292,20 +292,11 @@ int virNetDevTapCreate(char **ifname,
 
         ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
         /* If tapfdSize is greater than one, request multiqueue */
-        if (tapfdSize > 1) {
-# ifdef IFF_MULTI_QUEUE
+        if (tapfdSize > 1)
             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)
             ifr.ifr_flags |= IFF_VNET_HDR;
-# endif
 
         if (virStrcpyStatic(ifr.ifr_name, *ifname) < 0) {
             virReportSystemError(ERANGE,
-- 
2.26.2

Re: [PATCH] util: remove compile time tests for IFF_VNET_HDR/IFF_MULTI_QUEUE
Posted by Michal Prívozník 3 years, 5 months ago
On 9/24/20 2:20 PM, Daniel P. Berrangé wrote:
> The former has been present since
> 
>    commit f43798c27684ab925adde7d8acc34c78c6e50df8
>    Author: Rusty Russell <rusty@rustcorp.com.au>
>    Date:   Thu Jul 3 03:48:02 2008 -0700
> 
>      tun: Allow GSO using virtio_net_hdr
> 
> and the latter since
> 
>    commit bbb009941efaece3898910a862f6d23aa55d6ba8
>    Author: Jason Wang <jasowang@redhat.com>
>    Date:   Wed Oct 31 19:45:59 2012 +0000
> 
>      tuntap: introduce multiqueue flags
> 
> these are old enough that they can be assumed present in all Linux
> platforms we support. The tap device creation code changed is specific
> to Linux, with a separate impl for non-Linux platforms.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   src/util/virnetdevtap.c | 11 +----------
>   1 file changed, 1 insertion(+), 10 deletions(-)
> 

diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index 143e1ab98c..c2bcd6d224 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -380,18 +380,10 @@ virNetDevMacVLanTapSetup(int *tapfd, size_t 
tapfdSize, bool vnet_hdr)
              new_flags &= ~IFF_VNET_HDR;
          }

-# ifdef IFF_MULTI_QUEUE
          if (tapfdSize > 1)
              new_flags |= IFF_MULTI_QUEUE;
          else
              new_flags &= ~IFF_MULTI_QUEUE;
-# else
-        if (tapfdSize > 1) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("Multiqueue devices are not supported on 
this system"));
-            return -1;
-        }
-# endif


I think this should be squashed in.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

Michal