[dpdk-dev] [PATCH 20.02] net/virtio-user: do not close tap when disabling queue pairs

Tiwei Bie tiwei.bie at intel.com
Wed Nov 20 03:46:42 CET 2019


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.bie at 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


More information about the dev mailing list