From patchwork Tue Jul 18 12:48:12 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: 27021 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 C58165398; Tue, 18 Jul 2017 14:48:43 +0200 (CEST) Received: from mail-wr0-f177.google.com (mail-wr0-f177.google.com [209.85.128.177]) by dpdk.org (Postfix) with ESMTP id A5E652FDD for ; Tue, 18 Jul 2017 14:48:39 +0200 (CEST) Received: by mail-wr0-f177.google.com with SMTP id w4so27376438wrb.2 for ; Tue, 18 Jul 2017 05:48:39 -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=Nzcwzy3ciY3QsVY9TTZPYJuvcFGfIaQs4ilFL8668HI=; b=q5165ef4zbPexGqslHQF8sY94/NhxXqz4/zvwr78X3dz0KScTQ2PTuuuJRDqyNBi8z CtWIT+HYrpwvLmupqikTWiPCwPMrSNDzZvBBNkwMTagsSrQF/S9dgbYSYSzmRTip6435 YyuXvJbMCEsDShNJE22s1D+09oLvAz2LEJ87d2GZ/tzi/bKQV6Gtbq0dlivnBE7EUEWt ruKKY0z3hq6zVLmvLVpwiy7vetrup93gLKvA7SlvTH9P213Dd9fFWb2DNMeNC8vyU+xa 3mBpiEy+hhe06Oh+Lb7GJsaEij3GCCHuqhp0GmhDuoIfz+YazfFQ0e5lVT3Hk6vZLjV+ 6CYw== 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=Nzcwzy3ciY3QsVY9TTZPYJuvcFGfIaQs4ilFL8668HI=; b=Qys6ux9wzKlTeKlEINoEygAXuXiRxKS4OdauSweEcvvjj3f5O3Fc576Q3KjC9/sr9g iQfQLpI2ZR/P3BL1xj+f0/CkVvEBOCtRVXQekUXKP9/3seX3Y6oR1FtJfIZhRsKb/g2R Yew975pCAOZzXJhFrEUeY0vmEqkOVkijTnqWKSxtW4S00AtVFrycySW8KROum4NVrSjn j8KbZTAP22MnHze6ieJWJrZEmyUFJEG+uPTVrvBYwsNWeWpEFsj0/Q66V9mQZw6hXiV+ btwnsupRPJzuvM/6jWgOVNGl3MqwTZx1In7AdxY4kZXYeeC9Pw/y09cS+pu+6g7xr2yi vXWA== X-Gm-Message-State: AIVw11305yIbATRc6pmvwbxYEJYuCtq1rIZDQmBOVSQPKvTXyCSt8ZtB AIsHrQyVj+RUgD5hGLw= X-Received: by 10.223.139.24 with SMTP id n24mr1162594wra.116.1500382118964; Tue, 18 Jul 2017 05:48:38 -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 j8sm1033960wrj.10.2017.07.18.05.48.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 18 Jul 2017 05:48:38 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Tue, 18 Jul 2017 14:48:12 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v11 01/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 Acked-by: Thomas Monjalon --- 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 a1b7447..81b398d 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -291,7 +291,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 224f485..7b69ddf 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1611,6 +1611,7 @@ struct rte_eth_rxtx_callback { enum rte_eth_dev_state { RTE_ETH_DEV_UNUSED = 0, RTE_ETH_DEV_ATTACHED, + RTE_ETH_DEV_DEFERRED, }; /**