On Tue, Nov 19, 2019 at 08:36:38AM -0800, Stephen Hemminger wrote:
> On Tue, 19 Nov 2019 14:29:48 +0800
> Tiwei Bie <tiwei....@intel.com> wrote:
> 
> > -static int
> > +int
> > +vhost_kernel_tap_attach_queue(int fd)
> > +{
> > +   struct ifreq ifr;
> > +
> > +   memset(&ifr, 0, sizeof(ifr));
> > +   ifr.ifr_flags = IFF_ATTACH_QUEUE;
> > +   return ioctl(fd, TUNSETQUEUE, (void *)&ifr);
> > +}
> > +
> > +int
> > +vhost_kernel_tap_detach_queue(int fd)
> > +{
> > +   struct ifreq ifr;
> > +
> > +   memset(&ifr, 0, sizeof(ifr));
> > +   ifr.ifr_flags = IFF_DETACH_QUEUE;
> > +   return ioctl(fd, TUNSETQUEUE, (void *)&ifr);
> > +}
> > +
> 
> These both could be squashed into one routine.
> 
> int
> vhost_kernel_tap_set_queue(int fd, bool attach)
> {
>       struct ifreq ifr = {
>               .ifr_flags = attach ? IFF_ATTACH_QUEUE : IFF_DETACH_QUEUE
>       };
> 
>       return ioctl(fd, TUNSETQUEUE, &ifr);
> }
> 
> 1. Use initializer instead of memset
> 2. Cast to void * is unnecessary

Thanks! Will do it in v2.

Regards,
Tiwei

Reply via email to