From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E1614A0C4C; Tue, 21 Sep 2021 13:54:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A7DEF40683; Tue, 21 Sep 2021 13:54:02 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 1EC934003C for ; Tue, 21 Sep 2021 13:54:00 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10113"; a="222983174" X-IronPort-AV: E=Sophos;i="5.85,311,1624345200"; d="scan'208";a="222983174" Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Sep 2021 04:54:00 -0700 X-IronPort-AV: E=Sophos;i="5.85,311,1624345200"; d="scan'208";a="474042161" Received: from bricha3-mobl.ger.corp.intel.com ([10.252.5.200]) by fmsmga007-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-SHA; 21 Sep 2021 04:53:57 -0700 Date: Tue, 21 Sep 2021 12:53:53 +0100 From: Bruce Richardson To: Jerin Jacob Cc: Gowrishankar Muthukrishnan , dpdk-dev , Ciara Power , Jerin Jacob , Kiran Kumar K , Nithin Dabilpuram , Sunil Kumar Kori , Satha Koteswara Rao Kottidi , Ashwin Sekhar Thalakalath Kottilveetil , Pavan Nikhilesh , Thomas Monjalon , Ferruh Yigit , Andrew Rybchenko , Olivier Matz Message-ID: References: <2eaeef2ece0ff3a5a3fc9323f15a47be617a73a4.1632219073.git.gmuthukrishn@marvell.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [dpdk-dev] [v8, 4/4] net/cnxk: add telemetry endpoing to ethdev 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" On Tue, Sep 21, 2021 at 04:57:52PM +0530, Jerin Jacob wrote: > On Tue, Sep 21, 2021 at 4:23 PM Gowrishankar Muthukrishnan > wrote: > > > > Add telemetry endpoint to ethdev. > > > > Signed-off-by: Gowrishankar Muthukrishnan > > --- > > drivers/net/cnxk/cnxk_ethdev_telemetry.c | 129 +++++++++++++++++++++++ > > drivers/net/cnxk/meson.build | 1 + > > 2 files changed, 130 insertions(+) > > create mode 100644 drivers/net/cnxk/cnxk_ethdev_telemetry.c > > > > diff --git a/drivers/net/cnxk/cnxk_ethdev_telemetry.c b/drivers/net/cnxk/cnxk_ethdev_telemetry.c > > new file mode 100644 > > index 0000000000..de8c468670 > > --- /dev/null > > +++ b/drivers/net/cnxk/cnxk_ethdev_telemetry.c > > @@ -0,0 +1,129 @@ > > +/* SPDX-License-Identifier: BSD-3-Clause > > + * Copyright(C) 2021 Marvell International Ltd. > > + */ > > + > > +#include > > + > > +#include "cnxk_ethdev.h" > > + > > +/* Macro to count no of words in eth_info_s size */ > > +#define ETH_INFO_SZ \ > > + (RTE_ALIGN_CEIL(sizeof(struct eth_info_s), sizeof(uint64_t)) / \ > > + sizeof(uint64_t)) > > +#define MACADDR_LEN 18 > > + > > +static int > > +ethdev_tel_handle_info(const char *cmd __rte_unused, > > + const char *params __rte_unused, struct rte_tel_data *d) > > +{ > > + struct rte_eth_dev *eth_dev; > > + struct rte_tel_data *i_data; > > + struct cnxk_eth_dev *dev; > > + union eth_info_u { > > + struct eth_info_s { > > + /** PF/VF information */ > > + uint16_t pf_func; > > + /** No of rx queues */ > > + uint16_t rx_queues; > > + /** No of tx queues */ > > + uint16_t tx_queues; > > + /** Port ID */ > > + uint16_t port_id; > > + /** MAC entries */ > > + char mac_addr[MACADDR_LEN]; > > + uint8_t max_mac_entries; > > + bool dmac_filter_ena; > > + uint8_t dmac_filter_count; > > + uint16_t flags; > > + uint8_t ptype_disable; > > + bool scalar_ena; > > + bool ptp_ena; > > + /* Offload capabilities */ > > + uint64_t rx_offload_capa; > > + uint64_t tx_offload_capa; > > + uint32_t speed_capa; > > + /* Configured offloads */ > > + uint64_t rx_offloads; > > + uint64_t tx_offloads; > > + /* Platform specific offload flags */ > > + uint16_t rx_offload_flags; > > + uint16_t tx_offload_flags; > > + /* ETHDEV RSS HF bitmask */ > > + uint64_t ethdev_rss_hf; > > + Ethdev, , mempool and telemetry maintainers > > All of the above data except[1] is generic data that can be derived > from ethdev APIs or ethdev data from lib/ethdev itself, > IMO, We should avoid duplicating this in driver and make useful for > other driver/application by adding generic endpoint in ethdev. > Same comment for "[2/4] mempool/cnxk: add telemetry end points" for > mempool subsystem. > > Thoughts from Maintainers? > Not a maintainer of those libs, but +1 to making anything generic that can be, save reimplementing things multiple times in drivers.