From patchwork Wed Aug 21 10:32:00 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavel Emelyanov X-Patchwork-Id: 268775 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 677072C00A2 for ; Wed, 21 Aug 2013 20:32:07 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751475Ab3HUKcD (ORCPT ); Wed, 21 Aug 2013 06:32:03 -0400 Received: from relay.parallels.com ([195.214.232.42]:50090 "EHLO relay.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751220Ab3HUKcB (ORCPT ); Wed, 21 Aug 2013 06:32:01 -0400 Received: from [10.30.3.11] (helo=mail.sw.ru) by relay.parallels.com with esmtps (TLSv1:AES128-SHA:128) (Exim 4.80.1) (envelope-from ) id 1VC5ho-0003kz-RU; Wed, 21 Aug 2013 14:32:00 +0400 Received: from [10.30.16.114] (10.30.16.114) by mail.sw.ru (10.30.3.11) with Microsoft SMTP Server (TLS) id 14.2.342.3; Wed, 21 Aug 2013 14:32:00 +0400 Message-ID: <52149720.7070306@parallels.com> Date: Wed, 21 Aug 2013 14:32:00 +0400 From: Pavel Emelyanov User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120605 Thunderbird/13.0 MIME-Version: 1.0 To: David Miller , Linux Netdev List Subject: [PATCH 2/4] tun: Report whether the queue is attached or not References: <521496EF.8090909@parallels.com> In-Reply-To: <521496EF.8090909@parallels.com> X-Originating-IP: [10.30.16.114] Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- 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 4b65fbc..db43a24 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;