tun: Report whether the queue is attached or not
authorPavel Emelyanov <xemul@parallels.com>
Wed, 21 Aug 2013 10:32:00 +0000 (14:32 +0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 21 Aug 2013 19:21:45 +0000 (12:21 -0700)
Multiqueue tun devices allow to attach and detach from its queues
while keeping the interface itself set on file.

Knowing this is critical for the checkpoint part of criu project.

Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tun.c

index 4b65fbcc490f3da34f981b2dff763ffeb682954f..db43a2409733f05f8703a599efbd2a79cdcb94d7 100644 (file)
@@ -1881,6 +1881,9 @@ static long __tun_chr_ioctl(struct file *file, unsigned int cmd,
        case TUNGETIFF:
                tun_get_iff(current->nsproxy->net_ns, tun, &ifr);
 
+               if (tfile->detached)
+                       ifr.ifr_flags |= IFF_DETACH_QUEUE;
+
                if (copy_to_user(argp, &ifr, ifreq_len))
                        ret = -EFAULT;
                break;