From patchwork Wed Jun 7 23:59:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Ga=C3=ABtan_Rivet?= X-Patchwork-Id: 25173 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 443467D76; Thu, 8 Jun 2017 02:00:20 +0200 (CEST) Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by dpdk.org (Postfix) with ESMTP id E209B7CAC for ; Thu, 8 Jun 2017 02:00:16 +0200 (CEST) Received: by mail-wm0-f42.google.com with SMTP id d73so20780788wma.0 for ; Wed, 07 Jun 2017 17:00:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=7ACifvyNhPdy/miBhWVfTr+dzZi5UmSesQ6R9HSFoRA=; b=qivaWoORv9gGgqNwZ20oxr9LNAHBqYwhWho/n9O+tGw5FvJfL+GM+Vf2q/4+gbLGwu qYxeBpFOymhgQFXgFdCt0Tcmuv66Of6uTYlGQkFs9TB8EIolWpYZN0KPB0hVL5LKCbhR 5+8GMBAXuVD/BHJGt4V+jm9OQsMHzUVyWvGEMhtRq0u1kUvneXfAaXR19O3jEmPIOrLO /rMMwIOpcNYsvnJ1uTWuHg0+TSNFgQOhsfab4d6m/0QZhNjme8gA1kVRZ4c0D6KHPqaO EYae8lBUKh4Hk7PEGBkRNsqDtdMXGBXrvE+xU1sVZAfJX0yy8pAbDhUewHNVsSAPpxUB D8Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=7ACifvyNhPdy/miBhWVfTr+dzZi5UmSesQ6R9HSFoRA=; b=lOVLgLsaA01uBN5H8dkoIRIui+Vpr2XNfvwkBr/PhNLMD+CMMhI/o0iZdIdnyNMDk9 6DZRzc91y7vLbYtLSPsSw6clNbIAXlcBmcx50B/mts+xCwMU6KF8r5SlCrZcSOkpifzQ lRzstCDCxcg3zxVe85xucPFEW2wIKyGKwsB+0UT+4IxTujwlYknqdhzdE7/PRuQ0P83Z JJSvfjLkZX5XzygN/arcz0f2tRHfOWb7P5E6Mc+RWwLLBGK85IW7vkZSs8P/ggOtWmU6 OEC9P0nbfWv7qRiV0/Kk5XK0RmiEqJ30RlX9a7kUMHbfN87hbX1AFY+vPukJ3QMiAThR eC9w== X-Gm-Message-State: AODbwcCrfdumFV9KHdJLqehmlkisNIOC9VYqOiSNE0+8TGj3V9JLxE3c ftveGZJmH2w/2UQ2Enk= X-Received: by 10.28.68.134 with SMTP id r128mr1444264wma.114.1496880016353; Wed, 07 Jun 2017 17:00:16 -0700 (PDT) Received: from bidouze.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id s10sm4337785wmb.8.2017.06.07.17.00.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 07 Jun 2017 17:00:15 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Thu, 8 Jun 2017 01:59:52 +0200 Message-Id: <484662a7b2946d94935e9bfad437cda2e4c37d62.1496877105.git.gaetan.rivet@6wind.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v5 02/12] ethdev: add deferred intermediate device state X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This device state means that the device is managed externally, by whichever party has set this state (PMD or application). Note: this new device state is only an information. The related device structure and operators are still valid and can be used normally. It is however made private by device management helpers within ethdev, making the device invisible to applications. Signed-off-by: Gaetan Rivet --- lib/librte_ether/rte_ethdev.c | 3 ++- lib/librte_ether/rte_ethdev.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 1922adf..2729fc4 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -287,7 +287,8 @@ int rte_eth_dev_is_valid_port(uint8_t port_id) { if (port_id >= RTE_MAX_ETHPORTS || - rte_eth_devices[port_id].state != RTE_ETH_DEV_ATTACHED) + (rte_eth_devices[port_id].state != RTE_ETH_DEV_ATTACHED && + rte_eth_devices[port_id].state != RTE_ETH_DEV_DEFERRED)) return 0; else return 1; diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 6584842..c09f88e 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1589,6 +1589,7 @@ struct rte_eth_rxtx_callback { enum rte_eth_dev_state { RTE_ETH_DEV_UNUSED = 0, RTE_ETH_DEV_ATTACHED, + RTE_ETH_DEV_DEFERRED, }; /**