From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by dpdk.org (Postfix) with ESMTP id 8918C592B for ; Fri, 29 Dec 2017 14:37:28 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 3F3B021193; Fri, 29 Dec 2017 08:37:28 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Fri, 29 Dec 2017 08:37:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=mesmtp; bh=fJdhW7JCl8cAbQ xCWh8hebyf/YeQe4/tbAUdmGyYcfo=; b=pry4NOcbGbi11KluOHmw/UMD8Cc60N oMcdGC0jw8mdWjHjd8nDGEXR+44ZJ49lyYyhqsRve14CYTKzQKGZVOQys9trMeZi lqYX3utjU9ANJCXsSAV+RmT2kBfud3BRM4UEal68+p63pTNd5YITHjBJUln33EkX Ds8xTsI1dQKsM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; bh=fJdhW7JCl8cAbQxCWh8hebyf/YeQe4/tbAUdmGyYcfo=; b=D7okdOY+ 1grZa2CZcHi8dD17aCzgCs33vyQLMS3RVoneyik7kz3TPsyGZWCKh0JOzyVAJZxe o6mEYt53v8gzlb47JT6Efc9rIcCv6TY/rR9BLmF+1SHPcJG/ycC2zDq2fXSrRJ50 QX6R4M/8TKiN9GLfG0bZAkQFdWzAbA9SRJ/0rEZrNEp5QkZ87OAr3VyI3bmTTh0x +b1QaXpVd8NqML5Mgf20CIKAgjAaQxA9uNM4QNSXeMDgCNDrQmo96Bnmy8dNmFgo wozMrad8WMGWbANFFV/eDMUbPNgT8POXgIjCS6xLaCv58vLEfhMaSzFhqWksXJ/x 47OVErDDh8mjgg== X-ME-Sender: Received: from xps.monjalon.net (240.16.136.77.rev.sfr.net [77.136.16.240]) by mail.messagingengine.com (Postfix) with ESMTPA id 36D1F7E168; Fri, 29 Dec 2017 08:37:27 -0500 (EST) From: Thomas Monjalon To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Fri, 29 Dec 2017 14:36:57 +0100 Message-Id: <20171229133658.31258-5-thomas@monjalon.net> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171229133658.31258-1-thomas@monjalon.net> References: <20171128221302.15400-1-thomas@monjalon.net> <20171229133658.31258-1-thomas@monjalon.net> Subject: [dpdk-dev] [PATCH v3 4/5] ethdev: add notifications for probing and removal 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: , X-List-Received-Date: Fri, 29 Dec 2017 13:37:28 -0000 When a PMD finishes probing, it creates the new port by calling the function rte_eth_dev_allocate(). A notification of the new port is sent there to the upper layer. When a PMD finishes removal of a port, it calls the function rte_eth_dev_release_port(). A notification of the destroyed port is sent there to the upper layer. Signed-off-by: Thomas Monjalon Reviewed-by: Ferruh Yigit --- v2: no change v3: no change --- lib/librte_ether/rte_ethdev.c | 5 +++++ lib/librte_ether/rte_ethdev.h | 2 ++ 2 files changed, 7 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index f40627fa3..436066889 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -237,6 +237,8 @@ rte_eth_dev_allocate(const char *name) eth_dev->data->port_id = port_id; eth_dev->data->mtu = ETHER_MTU; + _rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_NEW, NULL); + return eth_dev; } @@ -278,6 +280,9 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev) return -EINVAL; eth_dev->state = RTE_ETH_DEV_UNUSED; + + _rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_DESTROY, NULL); + return 0; } diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index c92508cfd..11f97e709 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -3528,6 +3528,8 @@ enum rte_eth_event_type { RTE_ETH_EVENT_VF_MBOX, /**< message from the VF received by PF */ RTE_ETH_EVENT_MACSEC, /**< MACsec offload related event */ RTE_ETH_EVENT_INTR_RMV, /**< device removal event */ + RTE_ETH_EVENT_NEW, /**< port is probed */ + RTE_ETH_EVENT_DESTROY, /**< port is released */ RTE_ETH_EVENT_MAX /**< max value of this enum */ }; -- 2.15.1