From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0A31DA052A; Wed, 23 Dec 2020 10:44:05 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 8AC96CCAC; Wed, 23 Dec 2020 10:42:04 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id F381ACC79 for ; Wed, 23 Dec 2020 10:42:03 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 0BN9Uonm002445 for ; Wed, 23 Dec 2020 01:42:02 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0220; bh=A9tCj266HhbYSP0ON7gQpRKW1ohKmqPTUbsZsyy/rtc=; b=AA7zxSDHAWLpOQvWzU0efEjX4nRlbtX2lGGa1y50/cwO/IM7KPO+s9GJY14V+mpDb565 mttqzjpMUVnAyt97WvoVHom8cSME/BfLXu0DgpGRhpFg975crBGkQ8CqfSNh3e5QpdUh ZTrQi/Zb97xKFjUka+JbvLOS6CrKIPy/fexIsiGk5oxWczaAfI+3Z0FtMa7+adUtQxyP W0btU7TlQLV0CNL9WURIeKoPyVYLBTcuQlftH7t3WdgH01bqOuml/1D3eWDST1XVDifg AQ481idO2a4lWj1TkeDG5UhpfjPrCZNX+6NSjE3vX3XJpvItBO4UCdZnB1pv+zXk2vI2 MA== Received: from sc-exch02.marvell.com ([199.233.58.182]) by mx0b-0016f401.pphosted.com with ESMTP id 35k0hx5n8p-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 23 Dec 2020 01:42:02 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 01:42:00 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 01:42:00 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hXKG/y6sJDmhVcg87pLYyxoNoBiObY3epI/J9gpGdC+KxOYaoViGSsSmnu+miZELr2xzer/0daIglcyJDnCzqUNLZhdeMexwksA9Qfy8bCSdXl5r7utoWGRrJv8nodoLjoKm9hiLzdfOO+DjKZe0ks4MUji3LQVFwq8tG8Mz5L0Pfr74zdH+KUtcPInMTAPM2euLWbwrphXnVKgZFEU5ajWORhHuprO9mXvC6vVYc+iWhZ6lXh6RfQ0KoeAV+JojRQiGFXgQudD8+rf16SRvpFjqj1RjxAZW4bL4LcmsBukbCQahsmr+e/ArRSzKvc+bhAthIbddbm6AiSedKEcXyg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A9tCj266HhbYSP0ON7gQpRKW1ohKmqPTUbsZsyy/rtc=; b=oYqyB1S79CQMSDAwYGqxHSciXk4RAQwlmu2quLu/k0UTmmlpn/E6Tg8YfmTboHnMp4WPFiX/NwTNz4lWonGaYd41U76YHWJY9cozqZEaqDfNtpYuil1bq/q+GwnN8NeHFNg7DhwuZikIacspXPQZONI0wkQD2LyBUrgNvopCtTNaqewNiLC8yCWrdTnPJmSVq6Td59SmnlF7P2EyOyBhAolE5wycH20iI3kRNmozo62zD6qsb7muU1Dmj5KFF6QphTxdDmoJROFrGZdEVWcP8DoRipMTX9fDmE33S4m6M4ks2ITxIUPm/azoj68apGTwJBr/L25FDYtRoMJPYt+zfw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=A9tCj266HhbYSP0ON7gQpRKW1ohKmqPTUbsZsyy/rtc=; b=s4u/u4IHbddhtG8IJsozLMVFlKPI7yiJi+iideKj4VsDerIUmBu7+8TEl/A6In2tA7lUZGQ0t3FZvN/n7oEZFKMPvDNx0Wm7tHp8uDv2wyLFpThZy53QB09gu1GsCHgJEXLGpwJggtJ39fHBYlcs4nMfOSk36n4NPFFNaK23xDY= Received: from DM5PR1801MB2058.namprd18.prod.outlook.com (2603:10b6:4:67::31) by DM6PR18MB3603.namprd18.prod.outlook.com (2603:10b6:5:2a5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27; Wed, 23 Dec 2020 09:42:00 +0000 Received: from DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432]) by DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432%7]) with mapi id 15.20.3676.033; Wed, 23 Dec 2020 09:42:00 +0000 From: Michael Shamis To: Liron Himi , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , Yuri Chipchev , "Liron Himi" Thread-Topic: [dpdk-dev] [PATCH v1 09/38] net/mvpp2: extend xstats support Thread-Index: AQHWyJQmlA3sduiClk2Bit3CtFgpc6oEjogQ Date: Wed, 23 Dec 2020 09:41:59 +0000 Message-ID: References: <20201202101212.4717-1-lironh@marvell.com> <20201202101212.4717-10-lironh@marvell.com> In-Reply-To: <20201202101212.4717-10-lironh@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [83.130.154.133] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8bd64f5d-ace3-4de4-81ef-08d8a726feeb x-ms-traffictypediagnostic: DM6PR18MB3603: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:4502; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: FjDdkTAOIydF0AoTMSB7ez6OR+BCWtWKdOraMkKF8SYAbXhfP+IrILqLbVf/rTylIEW8XRT8ZQe7LvWx6XqEQ/dXzhiCdjHUi08fqABJy8ux4EDUZp98cVM2KWnBJpxrivqC8alzV+0UV0q/V30zEvMnOMZICaWzQWoKkwYQDGn31108+dnmVhCf/Von+UbrSK5I9IYA1pUIyqyIvEaiqR+HPp6WCZD4F97xMxVGsueQlqLoUbbDcujUxjted5SF1Tt+rqcJodiOUSzONZcOUbJzhPWeBQaCKsud5jUHyKK3OP7BgOBsqZYndzNU856WSOs2XURNh+G+6VOLLsO2jdflGPMYI57joe5f35YXhU24QvPYe7IHh90qZTKhKYi0 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR1801MB2058.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(66446008)(53546011)(54906003)(66556008)(52536014)(66476007)(66946007)(4326008)(5660300002)(64756008)(107886003)(33656002)(8676002)(9686003)(6506007)(76116006)(55016002)(6636002)(86362001)(71200400001)(478600001)(7696005)(186003)(2906002)(110136005)(316002)(83380400001)(26005)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?MIIIWYiAu7JkdGe8b6VDgO/i2qjQMEXSOgV6XzftkwdhRuhfx7aR17e5kTA6?= =?us-ascii?Q?1l50gr+5k+s4PopDkOrhJl8Gqy9KiAMq17BvnxXafEZlmbLHmMXe1kyOIAdY?= =?us-ascii?Q?VCqmXqSJ5e34LTZ/Ubi3HNzzVZbuqdKStgiViXk/YoNoETDtN4jh5DYypujz?= =?us-ascii?Q?jzAJxZkRfr6nP4+XMtQDjGa2Kz8ExGXTrU9h65MsD3koF1OWxLZHMPaKvMMh?= =?us-ascii?Q?1HxYAR4h9xiTAjuh3LykRd1rd2Glj8qV5MpHwC7RkvECg9y1q624mmTTaL/0?= =?us-ascii?Q?VJJWBKXIXuyLOJJ8S0P0sppb9XC7d+Gu3t97W9PVUxWXUQio6+wJ4VfbNPoT?= =?us-ascii?Q?BLsXJ1mq+gswgJL32v+IEzydGk6xZAinOetH+T8xV74H25PvwKqyptLM+zN2?= =?us-ascii?Q?D2gi9jZ7B5d6JePvh8D/T2Ubl1Xz+9QbntnefgltdUxY/8fbHMv1wal1dWvb?= =?us-ascii?Q?0pCjywDPqMYlAav2kBUhZfLNydu9M4gWgZocAGyz6jigW0FUn+TxSYggHUPo?= =?us-ascii?Q?Dj8dGV/vnBZ3SuQE6rv1s2pZe2gmFV13CZ70c/kJXyUvRHfycNQEirR21M0h?= =?us-ascii?Q?ME5QECwVm3RsBTrKXcrPzp9EYAHPXEqB6un+yg99gcVSDQpYvltkl/5De4Xe?= =?us-ascii?Q?YLf5NUcg8FLUtta8iicLNRRwUortNEMq1YFDf++WLsc6OvBzNfHEWsEKx5ui?= =?us-ascii?Q?QOOoKwWJexqp1IuzU/e6uifvcM4nMASj1Psymj8w/aN5JkMr8grleCmqYMws?= =?us-ascii?Q?pad2k0TcQGHLMhxsOPL+Xpkh4Ro+HZcM4u3+I/6s+yeI1rnA+h6tnLd+NOVr?= =?us-ascii?Q?dBH7zHUOtB72eUk34NANtAsYOH1vU/z0xnITwUEDF7FL4nOZLgSoqzgztrXl?= =?us-ascii?Q?k6DLVhLTa9eKZFJA1CdDrrTYRmdIXpbkuO/aA1wNMhnML/UocnTPtE6+Rjgd?= =?us-ascii?Q?TkGsm9JbHf8b8E8fbll4n7USIORqJzdghQW89mBqENk=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR1801MB2058.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8bd64f5d-ace3-4de4-81ef-08d8a726feeb X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 09:41:59.9128 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PwYluY3/0jS9ICPu6eit15dqwEy4TDhYWnFFnp/9rZGg9lD5rKGvfJfQnkjXrfLn998BUI6a69WSZz1WxMpBMQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3603 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2020-12-23_04:2020-12-21, 2020-12-23 signatures=0 Subject: Re: [dpdk-dev] [PATCH v1 09/38] net/mvpp2: extend xstats support 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" Reviewed-by: Michael Shamis -----Original Message----- From: dev On Behalf Of lironh@marvell.com Sent: Wednesday, December 2, 2020 12:12 PM To: Jerin Jacob Kollanukkaran Cc: dev@dpdk.org; Yuri Chipchev ; Liron Himi Subject: [dpdk-dev] [PATCH v1 09/38] net/mvpp2: extend xstats support From: Yuri Chipchev add xstats_by_id callbacks Signed-off-by: Yuri Chipchev Reviewed-by: Liron Himi --- drivers/net/mvpp2/mrvl_ethdev.c | 90 +++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethde= v.c index 46e7260be..e81d5ee91 100644 --- a/drivers/net/mvpp2/mrvl_ethdev.c +++ b/drivers/net/mvpp2/mrvl_ethdev.c @@ -2027,6 +2027,94 @@ mrvl_eth_filter_ctrl(struct rte_eth_dev *dev __rte_u= nused, } } =20 +/** + * DPDK callback to get xstats by id. + * + * @param dev + * Pointer to the device structure. + * @param ids + * Pointer to the ids table. + * @param values + * Pointer to the values table. + * @param n + * Values table size. + * @returns + * Number of read values, negative value otherwise. + */ +static int +mrvl_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids, + uint64_t *values, unsigned int n) { + unsigned int i, num =3D RTE_DIM(mrvl_xstats_tbl); + uint64_t vals[n]; + int ret; + + if (!ids) { + struct rte_eth_xstat xstats[num]; + int j; + + ret =3D mrvl_xstats_get(dev, xstats, num); + for (j =3D 0; j < ret; i++) + values[j] =3D xstats[j].value; + + return ret; + } + + ret =3D mrvl_xstats_get_by_id(dev, NULL, vals, n); + if (ret < 0) + return ret; + + for (i =3D 0; i < n; i++) { + if (ids[i] >=3D num) { + MRVL_LOG(ERR, "id value is not valid\n"); + return -1; + } + + values[i] =3D vals[ids[i]]; + } + + return n; +} + +/** + * DPDK callback to get xstats names by ids. + * + * @param dev + * Pointer to the device structure. + * @param xstats_names + * Pointer to table with xstats names. + * @param ids + * Pointer to table with ids. + * @param size + * Xstats names table size. + * @returns + * Number of names read, negative value otherwise. + */ +static int +mrvl_xstats_get_names_by_id(struct rte_eth_dev *dev, + struct rte_eth_xstat_name *xstats_names, + const uint64_t *ids, unsigned int size) { + unsigned int i, num =3D RTE_DIM(mrvl_xstats_tbl); + struct rte_eth_xstat_name names[num]; + + if (!ids) + return mrvl_xstats_get_names(dev, xstats_names, size); + + mrvl_xstats_get_names(dev, names, size); + for (i =3D 0; i < size; i++) { + if (ids[i] >=3D num) { + MRVL_LOG(ERR, "id value is not valid"); + return -1; + } + + snprintf(xstats_names[i].name, RTE_ETH_XSTATS_NAME_SIZE, + "%s", names[ids[i]].name); + } + + return size; +} + /** * DPDK callback to get rte_mtr callbacks. * @@ -2102,6 +2190,8 @@ static const struct eth_dev_ops mrvl_ops =3D { .rss_hash_update =3D mrvl_rss_hash_update, .rss_hash_conf_get =3D mrvl_rss_hash_conf_get, .filter_ctrl =3D mrvl_eth_filter_ctrl, + .xstats_get_by_id =3D mrvl_xstats_get_by_id, + .xstats_get_names_by_id =3D mrvl_xstats_get_names_by_id, .mtr_ops_get =3D mrvl_mtr_ops_get, .tm_ops_get =3D mrvl_tm_ops_get, }; -- 2.28.0