From patchwork Wed May 24 15:20:00 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: 24527 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 4D68D90F3; Wed, 24 May 2017 17:20:33 +0200 (CEST) Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by dpdk.org (Postfix) with ESMTP id DBD467D47 for ; Wed, 24 May 2017 17:20:24 +0200 (CEST) Received: by mail-wm0-f45.google.com with SMTP id 7so67461994wmo.1 for ; Wed, 24 May 2017 08:20:24 -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=gFBXBCDqMW8+oXoPt5k8jvZrPH37wnsD1NiFZeGN4zI=; b=YjJCWHAUpCUt2eHIPtkYuqSi9p1A0RATcix8TtrrYNIqwMODIPWrruIgSxHhee/fgz XAWQjy2EUL1r8OjJs9RQ+VrpKJqheaa0RK381abBFbKHlkByz3mnDs174BakRgXFm74A /GzlTS5tD4nwhK8XAL4NkNneu8TCF3cHTfusUH32jqCcGY78ZZStdLFYU+heKDr8pd8A SN6q3oRFC3a1w8sbknPaKUyaDTh0fW5AqpfmSnuvFPBZpSuZZKBx3EAd/paXJ1i1OeO2 eJg3OcsYrOxUzMfmBKorZE3RUlM82RjvQLNFIAeTAglPyd/hAZtgUme928HhuQIJGH3S 0LFw== 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=gFBXBCDqMW8+oXoPt5k8jvZrPH37wnsD1NiFZeGN4zI=; b=JD3kys2Du20GUazo1i9mrmcZA5rq0PidqqDNVvSvcqbvFU0BRtdLwhGus5Dywkjn0r fRwhaFIXUuZKaDgr5bYehDKZNkR9A+e5OOLO9CE6eXwlrMgQnGYlXk1rPc4zQ7bnUVMk tO6YHorbR1noU1zoILPPtZyiy+Utgmdae7Nsxjik+rs/uIKYkerUalZEknx131Rtj/sl dan+8Z6/XZMNYci9X7j7UOENGRd0gpGGCyt8f8dQKKcyasyjdkeNOrVTXF6GPnWyV/KL 31zuvZ78jzezOnVVCT4rETledBOuHr6anroctQ8Qfq1ywW21WQn3XehmbFlKkV0gIPIx iU5Q== X-Gm-Message-State: AODbwcAvZCTi6j5Qnz9kHp0y7E8Ok5LWV9yTQQw5cVvVR2CCX3wSQDjJ NiJC1z/qHktM44ZnQTc= X-Received: by 10.28.154.198 with SMTP id c189mr6138988wme.117.1495639223161; Wed, 24 May 2017 08:20:23 -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 t85sm5444271wmt.23.2017.05.24.08.20.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 24 May 2017 08:20:22 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Wed, 24 May 2017 17:20:00 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 02/11] 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 c8c5e73..f592643 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -288,7 +288,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 33cc48c..161b0ff 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1652,6 +1652,7 @@ struct rte_eth_rxtx_callback { enum rte_eth_dev_state { RTE_ETH_DEV_UNUSED = 0, RTE_ETH_DEV_ATTACHED, + RTE_ETH_DEV_DEFERRED, }; /**