From patchwork Fri Jul 16 14:27:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ferruh Yigit X-Patchwork-Id: 95991 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F10A7A0C50; Fri, 16 Jul 2021 16:28:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 86EF841385; Fri, 16 Jul 2021 16:28:11 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id BE26E4068E for ; Fri, 16 Jul 2021 16:28:09 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10046"; a="191107303" X-IronPort-AV: E=Sophos;i="5.84,245,1620716400"; d="scan'208";a="191107303" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jul 2021 07:28:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,245,1620716400"; d="scan'208";a="460769755" Received: from silpixa00399752.ir.intel.com (HELO silpixa00399752.ger.corp.intel.com) ([10.237.222.27]) by orsmga008.jf.intel.com with ESMTP; 16 Jul 2021 07:28:08 -0700 From: Ferruh Yigit To: Andrew Rybchenko , Thomas Monjalon Cc: Ferruh Yigit , dev@dpdk.org Date: Fri, 16 Jul 2021 15:27:54 +0100 Message-Id: <20210716142800.3853651-2-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210716142800.3853651-1-ferruh.yigit@intel.com> References: <20210617081449.2045195-1-ferruh.yigit@intel.com> <20210716142800.3853651-1-ferruh.yigit@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [RFC v2 2/8] test/virtual_pmd: enable getting device operations X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 will be used to overwrite the dev_ops for various tests. Signed-off-by: Ferruh Yigit --- app/test/virtual_pmd.c | 14 ++++++++++++-- app/test/virtual_pmd.h | 6 ++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c index 6098e633f35a..17f28c5a304c 100644 --- a/app/test/virtual_pmd.c +++ b/app/test/virtual_pmd.c @@ -355,8 +355,8 @@ virtual_ethdev_rx_burst_success(void *queue __rte_unused, static uint16_t virtual_ethdev_rx_burst_fail(void *queue __rte_unused, - struct rte_mbuf **bufs __rte_unused, - uint16_t nb_pkts __rte_unused) + struct rte_mbuf **bufs __rte_unused, + uint16_t nb_pkts __rte_unused) { return 0; } @@ -619,3 +619,13 @@ virtual_ethdev_create(const char *name, struct rte_ether_addr *mac_addr, return -1; } + +struct eth_dev_ops * +virtual_ethdev_ops_get(uint16_t port_id) +{ + struct rte_eth_dev *dev = &rte_eth_devices[port_id]; + struct virtual_ethdev_private *dev_private = dev->data->dev_private; + struct eth_dev_ops *dev_ops = &dev_private->dev_ops; + + return dev_ops; +} diff --git a/app/test/virtual_pmd.h b/app/test/virtual_pmd.h index 120b58b27395..517dd0d2efa6 100644 --- a/app/test/virtual_pmd.h +++ b/app/test/virtual_pmd.h @@ -70,6 +70,12 @@ void virtual_ethdev_tx_burst_fn_set_tx_pkt_fail_count(uint16_t port_id, uint8_t packet_fail_count); +/* Let application get dev_ops to be able to overwrite some operations + * per the specific test needs. + */ +struct eth_dev_ops * +virtual_ethdev_ops_get(uint16_t port_id); + #ifdef __cplusplus } #endif