[libvirt] [PATCH] virNetDevMacVLanTapSetup: Drop @multiqueue argument

Erik Skultety eskultet at redhat.com
Mon Dec 14 14:49:00 UTC 2015


On 13/12/15 08:39, Michal Privoznik wrote:
> Firstly, there's a bug (or typo) in the only place where we call
> this function: @multiqueue is set whenever @tapfdSize is greater
> than zero, while in fact the condition should have been 'greater
> than one'.
> Then, secondly, since the condition depends on just one
> variable, that we are even passing down to the function, we can
> move the condition into the function and drop useless argument.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/util/virnetdevmacvlan.c | 17 ++++++++---------
>  1 file changed, 8 insertions(+), 9 deletions(-)
> 
> diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
> index 8fc71af..496416e 100644
> --- a/src/util/virnetdevmacvlan.c
> +++ b/src/util/virnetdevmacvlan.c
> @@ -289,12 +289,11 @@ virNetDevMacVLanTapOpen(const char *ifname,
>   * @tapfd: array of file descriptors of the macvtap tap
>   * @tapfdSize: number of file descriptors in @tapfd
>   * @vnet_hdr: whether to enable or disable IFF_VNET_HDR
> - * @multiqueue: whether to enable or disable IFF_MULTI_QUEUE
>   *
> - * Turn on the IFF_VNET_HDR flag if requested and available, but make sure it's
> - * off otherwise. Similarly, turn on IFF_MULTI_QUEUE if requested, but if it
> - * can't be set, consider it a fatal error (rather than ignoring as with
> - * @vnet_hdr).
> + * Turn on the IFF_VNET_HDR flag if requested and available, but make sure
> + * it's off otherwise. Similarly, turn on IFF_MULTI_QUEUE if @tapfdSize is
> + * greater than one, but if it can't be set, consider it a fatal error
> + * (rather than ignoring as with @vnet_hdr).
>   *
>   * A fatal error is defined as the VNET_HDR flag being set but it cannot
>   * be turned off for some reason. This is reported with -1. Other fatal
> @@ -304,7 +303,7 @@ virNetDevMacVLanTapOpen(const char *ifname,
>   * Returns 0 on success, -1 in case of fatal error.
>   */
>  static int
> -virNetDevMacVLanTapSetup(int *tapfd, size_t tapfdSize, bool vnet_hdr, bool multiqueue)
> +virNetDevMacVLanTapSetup(int *tapfd, size_t tapfdSize, bool vnet_hdr)
>  {
>      unsigned int features;
>      struct ifreq ifreq;
> @@ -335,12 +334,12 @@ virNetDevMacVLanTapSetup(int *tapfd, size_t tapfdSize, bool vnet_hdr, bool multi
>          }
>  
>  # ifdef IFF_MULTI_QUEUE
> -        if (multiqueue)
> +        if (tapfdSize > 1)
>              new_flags |= IFF_MULTI_QUEUE;
>          else
>              new_flags &= ~IFF_MULTI_QUEUE;
>  # else
> -        if (multiqueue) {
> +        if (tapfdSize > 1) {
>              virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>                             _("Multiqueue devices are not supported on this system"));
>              return -1;
> @@ -870,7 +869,7 @@ int virNetDevMacVLanCreateWithVPortProfile(const char *tgifname,
>          if (virNetDevMacVLanTapOpen(cr_ifname, tapfd, tapfdSize, 10) < 0)
>              goto disassociate_exit;
>  
> -        if (virNetDevMacVLanTapSetup(tapfd, tapfdSize, vnet_hdr, tapfdSize > 0) < 0) {
> +        if (virNetDevMacVLanTapSetup(tapfd, tapfdSize, vnet_hdr) < 0) {
>              VIR_FORCE_CLOSE(rc); /* sets rc to -1 */
>              goto disassociate_exit;
>          }
> 

ACK

Erik




More information about the libvir-list mailing list