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 060C7237 for ; Fri, 29 Dec 2017 14:13:42 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id B263C2100E; Fri, 29 Dec 2017 08:13:41 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute1.internal (MEProxy); Fri, 29 Dec 2017 08:13:41 -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=fVzgg6qoHmIF// aG2ytHn72dXITACam/mIJ1w6XjfoQ=; b=M7sCTB2AAasx/rSm3NuIOe2CGS/uh/ aoGD0iNdVS9yqkRwmweNC4kb6YwnC2tEyIIUn0VSz70nUBDriTRtAAEr+a+WugHd 45eEn4MvAOCk3QetGP5RV6kHYo/rGr6cpS/BYOrMdMMuUJljp3dNspDIlDoY3cLT vFv6+7cqLJkqo= 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=fVzgg6qoHmIF//aG2ytHn72dXITACam/mIJ1w6XjfoQ=; b=b8CSca4T XkH3M+ysjx/XZJ74iYMO8OUILDTkrXzcysDtowRH55ixF0awq9H7mS1W8p0v4dJ+ Fd5jGyt3nlpIcF1E0OhmuCAi2xijej0byiZ2FAL2N/oaSZraJvFOr9hD9GA7q4Bk PwOjCBQhzAEWCXnxAXYR8NkOt6YpUtIfbLm75qcVzYTbX6VICKcTphj71Jhgr2lD K+89SCj3R9ZEKlkpnqj4rnNzkpLJGMsv5G1U/cFheGrCKwnmpea5xFC2obrS4XK/ vUFu4ELmztQjMdiIwfawayx4xHe62mK/e61lX0wgRFSQ6yuFugSn6WaQPTEQSGC7 sdWJj8/WElmc3w== 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 7FA6E244C7; Fri, 29 Dec 2017 08:13:27 -0500 (EST) From: Thomas Monjalon To: dev@dpdk.org Cc: ferruh.yigit@intel.com Date: Fri, 29 Dec 2017 14:12:34 +0100 Message-Id: <20171229131234.26530-4-thomas@monjalon.net> X-Mailer: git-send-email 2.15.1 In-Reply-To: <20171229131234.26530-1-thomas@monjalon.net> References: <20171128221302.15400-1-thomas@monjalon.net> <20171229131234.26530-1-thomas@monjalon.net> Subject: [dpdk-dev] [PATCH v2 3/3] 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:13:42 -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 --- 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