diff options
author | Pavel Emelyanov <xemul@parallels.com> | 2013-08-21 14:32:00 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-21 12:21:45 -0700 |
commit | 3d407a80b62fc5891b41fe9045f23aba4437fc33 (patch) | |
tree | bdc3ffa6f8ad278de357e289b585fcb683c52ebb /drivers/net/tun.c | |
parent | fb7589a162162223e6bb6422dde3fb1ce07d9a78 (diff) | |
download | linux-3d407a80b62fc5891b41fe9045f23aba4437fc33.tar.gz linux-3d407a80b62fc5891b41fe9045f23aba4437fc33.tar.bz2 linux-3d407a80b62fc5891b41fe9045f23aba4437fc33.zip |
tun: Report whether the queue is attached or not
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>
Diffstat (limited to 'drivers/net/tun.c')
-rw-r--r-- | drivers/net/tun.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 4b65fbcc490f..db43a2409733 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -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; |