From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0055.outbound.protection.outlook.com [104.47.41.55]) by dpdk.org (Postfix) with ESMTP id D915EFA31 for ; Wed, 15 Feb 2017 20:07:35 +0100 (CET) Received: from BN3PR03CA0103.namprd03.prod.outlook.com (10.174.66.21) by DM2PR0301MB0736.namprd03.prod.outlook.com (10.160.97.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16; Wed, 15 Feb 2017 19:07:34 +0000 Received: from BN1AFFO11FD015.protection.gbl (2a01:111:f400:7c10::162) by BN3PR03CA0103.outlook.office365.com (2603:10b6:400:4::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via Frontend Transport; Wed, 15 Feb 2017 19:07:34 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; caviumnetworks.com; dkim=none (message not signed) header.d=none;caviumnetworks.com; dmarc=fail action=none header.from=nxp.com;caviumnetworks.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1AFFO11FD015.mail.protection.outlook.com (10.58.52.75) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.904.16 via Frontend Transport; Wed, 15 Feb 2017 19:07:34 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v1FJ5fM7020023; Wed, 15 Feb 2017 12:07:31 -0700 From: Hemant Agrawal To: CC: , , , , , Date: Thu, 16 Feb 2017 06:09:36 +0530 Message-ID: <1487205586-6785-38-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com> References: <1485172803-17288-1-git-send-email-hemant.agrawal@nxp.com> <1487205586-6785-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131316592544480580; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(7916002)(39400400002)(39450400003)(39860400002)(39380400002)(39850400002)(39840400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(92566002)(8936002)(77096006)(50226002)(48376002)(2351001)(106466001)(2950100002)(6916009)(33646002)(8656002)(50986999)(5660300001)(626004)(4326007)(47776003)(76176999)(2906002)(85426001)(54906002)(97736004)(81166006)(105606002)(36756003)(8676002)(189998001)(81156014)(68736007)(104016004)(53936002)(356003)(305945005)(86362001)(38730400002)(5003940100001)(50466002)(110136004)(389900002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0736; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD015; 1:7+c7lA1lwPOqMB1uoGO4qcZ9VCbRKzQUhKORmANemtAqCGwLVdkEHFdNeTzm4bpSA6oGBJTLk9AMGj1gp86nVe2P3CCYRJ9Za/krmWluIAAhWnAF969NYMTCvuZWFd6MO1WDIZ7W485bYFP7W8N9roAHIsf+C/xWRahgfPLoZ9FKjKCxiRcIafK1q8IRECciUrEFUxZudzcZQjT6J6KIEHAgZPQqVUSP93QKSSahTJkbbHXSn5AWL7prJmWY1mAdnnHl0fz1/Y+hYxfiW2bTz7ZIXJSYx0DzbQVoekLJvYJb318WWuix+lgzR717Mt/vSJ1VI7ABUqIs25SF47In4F4vdJzYEVkp9hh5rGaSyJWBaKDpMVNVvVNtuOQhMJteC8slv/ncLz7H18bgZpQi5SgEX31zWdtjhcgvKpzqzDRBXGT7JjHs6xtusx+j6ODeFE/4iXJPuhb2eJttD3O4wk2N3JfgIAudUn+dDQRJDvO9Uq1OAw5Gn3qwEQajFk1jcuvLPeZ2FRzm+MGU7uRyAFPzTyVTYk8Rui/SqF5fDT0CWVWnPej3dPqLDFSzDq+LFR5QRShqwkXQ6nMlBrHW8ooNHBf7BNbd9L+shAPOUzMvwVtTd8p/iwgr6CGn1bsnASD1PktLPvNEE7dbJV9wNg== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: 1c819c80-8693-4e5b-7d44-08d455d5e631 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR0301MB0736; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 3:6NIMPE+PTV7WtNj/XdkQPJTyBEDsDsKufdsElUaRGHrodd1u7EA9uE8UhguDPJ4FF+/67k+j+cxJkgQrU71Nty0x2wwSHdCiXrfzVxaKh/N/AcTqnQsjbwxRJzE90YPq3s58P49NaXxtz1Om2ganT6y5WfWXakuMo8zaWUmjOEzSK+XWhUlFJknPxSodEqs3wLM28Gv6jQBbH0BILk+fj3E8WSrbn2Vz2qBmXQ3ceXF3mhVKUP8PBIKqgReD64jEQL31EJ7vJfHrb6UrkecxZxqC7F71k38ofq1TNAb4zY92qCd1h4lZXR00MwqttJoAEWioW4a4Z1RMLcLAJhC+iroYR1eJPcl0LNQQhixw6lliUA9lY8f8nK4LAvVz66M4; 25:AKp0pNEK+BF8rxaDxKRfYe6l4dmBhEC4uTvuXDYP3MPIZu0Zze0UQc/h/U0OQ8SAW9kHKGjLs4bac3yR44yF/uuQ/3f/CjD1ummnrrgayLKaaUe2JwNd4MytzhNAQVTU+xvWXVZvkyXy+C7cWmim65Oxf1c0J2Ex1/H8Is8TkQucFNjmlWY9g75gYzfiGWdPXQlcLQoDZDXcam9Th7BJWmpwc4qdIFrK5vCORxhc9pmjvMEqJbS8opigkYwzleK6/PE/fYPzTA1W6lJOAvvC+ZHu9o0mdVRHvZxZ6oMZASt3LouqG1wVvY1dKtrOXvMMy6tKYmqQvYftvl4SMcaDkLMIwBQyz2jd2xClFc51s/DW86GaLVIR3M9/RuopF2u5cB4cmwpW5/BeASfMO1UxxcJQdyLcD7VU6BjXPVSVvB18M7IdpId/YHIKlYOxGjpdUUsB1yfxXFbWrXgDXMx6xA== X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 31:X7JKBWaHdIC/sJ2d6i0CM7y2KKNiPhrUCIPAcHIdpWpPJ7GUlRI6gR1gr1+e4SqEWOL9Bb8nwr82AisUzmsxtDarqzWAPnJozcKMkNmV8hBb+a8hwwCiIrrB5/Jel+zi0uiDhYvuWJD8lSqE7qliS4AwW6WD3zeslZ/hp/RKoiTN+5hGS1BGE27oBzzRn49rWOjm9nhXR+Aq00XmrObqiBuz8rjK9RQOL9K+zbrNHi8aPLVVkIfDNw6ddjxeD17o X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(8121501046)(5005006)(13024025)(13015025)(13017025)(13018025)(13023025)(10201501046)(3002001)(6055026)(6096035)(20161123559025)(20161123561025)(20161123565025)(20161123556025)(20161123563025); SRVR:DM2PR0301MB0736; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0736; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 4:ruyJzfcyXduYueE+TmA2PavoOVTuOSWGI1kFri5MEPP0xliTfIEcN2uZmwnEdD4ssawQB01O3k5+XEVpiiT++d+K9ip/pZuJEchp2HgEFscVjBHfhebPXMbyUPzMGmBfpE/ZeNXj6TCHhMcofp5mlhs8x7Tb5JqxPEUDZHcESDR5xWVsRJLd8npII/FM24cutwMdupjXpdfcwBgJjFtYhXMFu2zZk10kATwRCdnIAY2yt6A5t18Quq9VNoQJ6z8zV8R3G2nSgaE0qGfhPkXr2+SPf4ykZpJrilcY0JkOVBxWPSTkKMxD2exHZ5AnFykLIk7r6jzUpMi7rTlOKQJCtGAHjTgo7JzJ91/6Mbg5fiVkig/DjFPP2daw+P4ujcGxxSq1UNH8xGm54ylGsBlr7bcrACHzTBbOyoE0rWIBo4KA2dbLEQ8inlhnyj1Lvk2vEurTnWRIGfBRdD93ygVfuQluX/k0d+4YQw/pBCZSHP/oNeKvuD2iRUtPcxCcg0N3WeC23di0lnpypJ6IJRspFXPg2pUeruL2jkp8u7rgkEyw7PqmC6qAYQt8ms26boBTScGUZdyM0XZJkMQ0KWdCFsZpBVvLoQtyKdGWKr1G+/s19lf0V7CJ0ePdecrt+QPM/V8EzhLYGBpHEft60sTrjO69fnQABDMVD8Qx5HoSM+fv6CZxgox+ryLtT1Gj6a4VUBfMVyfgQE558MW7kKPbGkv7nDcb9WRMu/2Sz1uA5cN8YjlsOd8GF88XxLEBFQSt X-Forefront-PRVS: 021975AE46 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0736; 23:abGXUl/FZCyuqJtYu8aoQDgiizqH2IbcqlGp9e5?= =?us-ascii?Q?lALn6t/MThORZSxo7nYt+B8TfV5j8+mVNNLSwleFG8R30vGQjo5Oe9hE7D3d?= =?us-ascii?Q?kJNelRHw6JawiYYKsg5HMvkESTgTkqAFY2A7PNidDdde/P2oLKOtAylKlvn8?= =?us-ascii?Q?04KY4PFiX/m+J3r7d0KzvtX1EXgHGIETMj2d/4EloYHIOKfvK5WlGHr0UZN8?= =?us-ascii?Q?8z+isnFCduIMguGfs2IF7GGejO6Siw9fSE0tJ5ZXBnBQ0f+dWIi4siy58eiD?= =?us-ascii?Q?p1VbAwBVVqT9NbBu7KPJ15Huy8qlnFqYJoT18NaLFuDzHIbd31FzY5zHHwNP?= =?us-ascii?Q?K2QbpGWlCUrmMOIi/7DktslQBB6fg6ZQSiVQRhwO9uFL3hnFFq5PHhEfLZlT?= =?us-ascii?Q?g/E2KyHXRAkFTYVb5UjnRGbDv084Yo2v0UI0xgEKA0eX0FjEECKjAnGXSxZz?= =?us-ascii?Q?uuZrDJ4UV2uG8DLODhnb+y59prpQa/eF9JfOq0OSEbvLfoiTrPkrniV3gwch?= =?us-ascii?Q?C7/yA4gm5rFoxIS2jC7eBRcc06YwH3y7k/twgX7pt1IJt0g4QvQFs0O2p+pE?= =?us-ascii?Q?kkJAj//gsJNeQrbw9gmlJuN9pDwhXmngYAFRWBaeqfasXmR5A9GkIkv2MmcT?= =?us-ascii?Q?BUXmmVqaHazIOQtWHgybTfUm6kSgnV9sWI6j3v6NT/zBh6i6j8GV+P9YUEms?= =?us-ascii?Q?gunVzvz4shmv1e9U2fpoxNjposdtrRtwtNlTbYLPhIKHKxkavhLJKyM7xOMh?= =?us-ascii?Q?881SJcpFpRTGXiHLhkQv+F5b5csrWURrodMjGKRqQgz4c7XS96/WcutjjUpG?= =?us-ascii?Q?zjN/QlJNlo6CEYYp9dt9sd7Z4KcqVdrbiNed0Hh86flYk0Y/9SEA7Hc/u8km?= =?us-ascii?Q?+Hr6O9MMbeA4woNKO0HwB1VpH/r8cfOlf//YieJZSR++TbvldNvK3sVzg/85?= =?us-ascii?Q?fURWBfSaJEThobGC9blKKrMZ/YsNV+uXi39IlO0zv+Q5fsrYgaewIfnsWqjI?= =?us-ascii?Q?MYDqbanCIxiiWQfZj+yELUu3xdeESZwfC343BzLpxFTGDphBI5iojX73v3o/?= =?us-ascii?Q?JTQF6MjU4muyj1/bn3D4JQ81V9zuUvxzB3WzKendg864cvfURK18J0E7lKyn?= =?us-ascii?Q?w5ZCoEIP4P5e1ys6Sv9SSLG6D9/dpByTDtk8vthNWT3HeaFcHsaTy3omL5Ey?= =?us-ascii?Q?NMBhJjgHNJ0sJgbbE2AWGmEb0aZ1j28zIMczy76N3obNp6sON+SnJwoxkeoV?= =?us-ascii?Q?B9fGEP/agnemfw3osvEjN9t3rqvzdi3FBKUrgKzyPvBlCwP5rTQbyW+mngL4?= =?us-ascii?Q?Ed6ibiVKHfLEUlvCyTIvm2xU=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 6:cJVZa0vbOLxEKtouHWjDEn78+ANCB3+rJ8Fag8Zt/KUNMvIHBWQCx1ij+l/PUf0cfQWn4yeYw8/Xt4PXo1xpnv3dXJCOXT2ke/oaEbrsfTSWQp5UVeGZzp8yOMEbdSvDJUNH1wBvKh2PPZpMOCBVubnswNJn4tZydtzQz5DVEv9mVivzOnB+GDvIWMyTBW36gMqwhMj3g9nrYUczckCVVKlTXFQkkhl0WFti4NTGgyBXgO4Hcnl42SBWKd7ktK7F75VG6OCVh0m8YRrCMySAmhyKepQEGl+8RFuwPtXkq5RXBHkz+dqh/hqyd9q3Wh/tcTAWfnZZQ6Nr9EUCQd4/tIDuP+d3YLzIDL0G7Uklb8csXBBFP7gGT4lC3JcuE1E6ht179801Tpn2zkDggeTFGEnTftC8iedRD8HQHuG5NoI=; 5:KrWKQU8B5xsAWVGnlYimbIv7IdBpbtuZwExT5W8UNwWAMb6//mzVViwqVwlOw4FURShu520odXlZwdgJPqNKOvSgfiUDYuLseijCctOD9ygox1+dqnjkXwHXdzrMZVmZLIRDixPCYtvUZJrG1z2CQw2b4VuB26xNjYXYTyMTB5RF0dyWVSyWYzLNZeer/ND5; 24:bgEv/C0ll8kzwQawnbbozBI6oEUyFKHtuBHX1G591Ge+F2bd6ou40IlfhDM8zLBsoG6yOgE/FNUke2nXSi066EqqVaR/FXaxpYYJFkY9WvQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0736; 7:Ruta9vOSljD6srgrZ1VGN8J8kpMcZIsXM7tWUw3L+Po5q1GmzDyEnWdAyRkbyz+ni6WMVgjk1Va1COFhjfg1ZpVu526oCfi/JJaAkH/1R3k2JyPSfMCgTYToB0k3sno3TLwoaJeOuZg3D756hIRO6/Tm6LufZSsW1mj3pfsPDcAM0HB6RZ9Q8fUTJnguhkNnapJVdvpNMVrhayDini0DD/9UUH6hI7yDP5SeJpFlI+/+aLnyOVRyB3GgXqB/0pCFDbjoLGcMMwdxk4CZ6TUbKNfZI4J14yLZB9G6l6fwxLwp/k4eOluFupaMNjmw8dfwwCj5VoB7xDXK68TTJ4GpVA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Feb 2017 19:07:34.2608 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0736 Subject: [dpdk-dev] [PATCHv7 37/47] net/dpaa2: basic stats 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: , X-List-Received-Date: Wed, 15 Feb 2017 19:07:36 -0000 Signed-off-by: Hemant Agrawal --- doc/guides/nics/features/dpaa2.ini | 1 + drivers/net/dpaa2/dpaa2_ethdev.c | 86 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) diff --git a/doc/guides/nics/features/dpaa2.ini b/doc/guides/nics/features/dpaa2.ini index 0660cab..d43f404 100644 --- a/doc/guides/nics/features/dpaa2.ini +++ b/doc/guides/nics/features/dpaa2.ini @@ -12,6 +12,7 @@ RSS hash = Y L3 checksum offload = Y L4 checksum offload = Y Packet type parsing = Y +Basic stats = Y Linux VFIO = Y ARMv8 = Y Usage doc = Y diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c index 14b9654..1d6ae36 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -588,6 +588,90 @@ return 0; } +static +void dpaa2_dev_stats_get(struct rte_eth_dev *dev, + struct rte_eth_stats *stats) +{ + struct dpaa2_dev_priv *priv = dev->data->dev_private; + struct fsl_mc_io *dpni = (struct fsl_mc_io *)priv->hw; + int32_t retcode; + uint8_t page0 = 0, page1 = 1, page2 = 2; + union dpni_statistics value; + + memset(&value, 0, sizeof(union dpni_statistics)); + + PMD_INIT_FUNC_TRACE(); + + if (!dpni) { + RTE_LOG(ERR, PMD, "dpni is NULL"); + return; + } + + if (!stats) { + RTE_LOG(ERR, PMD, "stats is NULL"); + return; + } + + /*Get Counters from page_0*/ + retcode = dpni_get_statistics(dpni, CMD_PRI_LOW, priv->token, + page0, &value); + if (retcode) + goto err; + + stats->ipackets = value.page_0.ingress_all_frames; + stats->ibytes = value.page_0.ingress_all_bytes; + + /*Get Counters from page_1*/ + retcode = dpni_get_statistics(dpni, CMD_PRI_LOW, priv->token, + page1, &value); + if (retcode) + goto err; + + stats->opackets = value.page_1.egress_all_frames; + stats->obytes = value.page_1.egress_all_bytes; + + /*Get Counters from page_2*/ + retcode = dpni_get_statistics(dpni, CMD_PRI_LOW, priv->token, + page2, &value); + if (retcode) + goto err; + + stats->ierrors = value.page_2.ingress_discarded_frames; + stats->oerrors = value.page_2.egress_discarded_frames; + stats->imissed = value.page_2.ingress_nobuffer_discards; + + return; + +err: + RTE_LOG(ERR, PMD, "Operation not completed:Error Code = %d\n", retcode); + return; +}; + +static +void dpaa2_dev_stats_reset(struct rte_eth_dev *dev) +{ + struct dpaa2_dev_priv *priv = dev->data->dev_private; + struct fsl_mc_io *dpni = (struct fsl_mc_io *)priv->hw; + int32_t retcode; + + PMD_INIT_FUNC_TRACE(); + + if (dpni == NULL) { + RTE_LOG(ERR, PMD, "dpni is NULL"); + return; + } + + retcode = dpni_reset_statistics(dpni, CMD_PRI_LOW, priv->token); + if (retcode) + goto error; + + return; + +error: + RTE_LOG(ERR, PMD, "Operation not completed:Error Code = %d\n", retcode); + return; +}; + /* return 0 means link status changed, -1 means not changed */ static int dpaa2_dev_link_update(struct rte_eth_dev *dev, @@ -645,6 +729,8 @@ .promiscuous_enable = dpaa2_dev_promiscuous_enable, .promiscuous_disable = dpaa2_dev_promiscuous_disable, .link_update = dpaa2_dev_link_update, + .stats_get = dpaa2_dev_stats_get, + .stats_reset = dpaa2_dev_stats_reset, .dev_infos_get = dpaa2_dev_info_get, .dev_supported_ptypes_get = dpaa2_supported_ptypes_get, .mtu_set = dpaa2_dev_mtu_set, -- 1.9.1