From patchwork Thu Jan 19 13:23:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hemant Agrawal X-Patchwork-Id: 19805 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 7AB99F968; Thu, 19 Jan 2017 14:27:06 +0100 (CET) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0049.outbound.protection.outlook.com [104.47.38.49]) by dpdk.org (Postfix) with ESMTP id B591EF950 for ; Thu, 19 Jan 2017 14:27:04 +0100 (CET) Received: from BN3PR03CA0108.namprd03.prod.outlook.com (10.174.66.26) by DM2PR0301MB0750.namprd03.prod.outlook.com (10.160.97.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Thu, 19 Jan 2017 13:25:47 +0000 Received: from BL2FFO11FD034.protection.gbl (2a01:111:f400:7c09::118) by BN3PR03CA0108.outlook.office365.com (2603:10b6:400:4::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13 via Frontend Transport; Thu, 19 Jan 2017 13:25:46 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.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 BL2FFO11FD034.mail.protection.outlook.com (10.173.161.130) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.803.8 via Frontend Transport; Thu, 19 Jan 2017 13:25:45 +0000 Received: from bf-netperf1.idc ([10.232.134.28]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v0JDO4f6015351; Thu, 19 Jan 2017 06:25:42 -0700 From: Hemant Agrawal To: CC: , , , , , , Hemant Agrawal Date: Thu, 19 Jan 2017 18:53:55 +0530 Message-ID: <1484832240-2048-31-git-send-email-hemant.agrawal@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com> References: <1484679174-4174-1-git-send-email-hemant.agrawal@nxp.com> <1484832240-2048-1-git-send-email-hemant.agrawal@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131293059462490290; (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)(39380400002)(39400400002)(39840400002)(39850400002)(39860400002)(39410400002)(39450400003)(2980300002)(1109001)(1110001)(339900001)(189002)(199003)(305945005)(81166006)(106466001)(92566002)(8656002)(189998001)(110136003)(77096006)(85426001)(38730400001)(97736004)(356003)(2906002)(36756003)(53936002)(4326007)(6916009)(6666003)(105606002)(2351001)(68736007)(2950100002)(50226002)(33646002)(86362001)(76176999)(54906002)(626004)(104016004)(50466002)(5003940100001)(8936002)(8676002)(50986999)(81156014)(47776003)(48376002)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0750; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD034; 1:5WNmjk8huMYUCdxjfG057stC9n5uJ0Cl7efKhLgkyd0gFjkcM+0jYhy4UZsPp5F7IPLHgjK6+T24vcsr00Q6UX/LENhWb2cb/qmbyYSqOePOjcD3NQx2VBQfW+IO8PdAUvMQ9JpGleaEZJmTnL/1ocx1iEfCOD/y1WD9s+vwd+iU3O4CXKz3sNXIUM/FUoWp5xBRlXcuKlnqDXfHqMJmJ9mICMEq6bFwLMAWMWeNHw/fRIe6rbjfmc5BO4cgUtFZeXoyDj1m0zfGyIs38m2TgAZtUVNy/5YpdUBMIO37BNdwyKL/ithe1e75xa2wqDZ01WJ0rKgcNLsRHbcEXiiHhAMuypHrvf0904pC3shK/DDU84XaaksHCcf/A9SrRNZaxbo7Q70nkfh95rZNWDk2X1RtW6bdZRndlVLyLAhef1b14QJV4NspE586A379loXtFwJAaaE9L2hTFqJ+JLwiHbRLNXtAuPNqbVMU+noP8mmWXmPyd/mlA+OHKRBYbCSbPehQK/fIxTuVDY91LE+ueVJ2oqm+3pXLdeRHMMerJ75jQvutUF4+NetKlSFWo9+QJh8tlyYhYBcrZuM0F5SDqNIFx2mmu2HoamVE3yYiwGjUDQaEbVxE6AIeYxgfT7HgtjQXQ7jg3HcSAv4Y+rmM8Pb7SdlbbglU5t9aa3v5pBGll/mTyYncwuXbmSTgM0xpd2S9wFdM3V1g/JjseKU7uQexVNSb8janzGvFZcdjf03A7yF+qxJiDjIxAbwOg/7o MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: ed687ab4-cc85-4451-68b2-08d4406ead33 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:DM2PR0301MB0750; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 3:Xbyg9Dk4kEq8SO0tlCaFXadQPlBONESfaumEesohPM56IDVDBa581Hq/MiEUwfqfpr7FwxVCJebBKk04u3myndWzX4AChYy+r5mStfEuUlN5iSeCaWTNiiSuv9ZM19gIJFUWQz6n2HmmiA/lgrnfbddOVSrsKFRFiY+u+VFd9I7k9ZF8AIR9cMvZAKVH2fPKIfE9LhUQxQtMroD2HS7VcgYzhvOsak7fc+OZjKyMoURsMtefHu5YfoSswyP8mNOfCDeNEGQlQSUk7khV0vojwEf83ANKONNAhjpAcsZ0XLNVVyqsbtpfo+nv0m7wceQr6h60nGum5D+ik4pe+qlXkUSVHYkNlNn1GixFyf+h51DiKGKmSJdjIC1uxBJfTF49 X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 25:IGxDPgMw2aLWHrW0L5KN5F0NJSlfNbjBDuOF/polY1KvPoVymnxXTc4PGoJMfzb1PEbMoIqAmLhh8a6rPhlncxFvkhfCfGBM7tkGpok53CWXsqvSJy1Jrnr9HYnURhv9GPKoV7juEmRDffjicAtU1D8Or99kdZEvLUlZkQNeWPePSl1AwZRgP4Q25Z2Q0PbNVVwvXo0aYTKoH2uLnz2zDSB0Es92ebfRBA2N+lAtuz10d4Bu+jdozppuZJXP1p6oMz3wp4/O1Wzxd6eUS/sIHdwejLQhmsVzBdAo2XrSn2zGwB5vT3hpF0zE/qTcwvQNx8eJSQ3tjcrbHMC7w2GC1rK+badIy9191CYkSBHHKQpk9TNa/9c9DF003j/0ErGrcv+NKD49a3s7CKiCx4cG9moXObMTdozS/hKETnP5leMyfW6Fy8GoTlo39QFJ2nrvM2b/2bk3Ax/qceRAQlD5mf+SeQQtHO5GS6XksPfWJEvTjqzIhz6BzkQqWPnZu13c13egIzPJwWDGnGNdZQ8dGVFC0w2IBTbn9Pi+izdNV4+rjqmjmB468V7aiQcu5lXmLxdYhm13U8/Sms2Nxn01ceMvOFyq5XgYYK8+BPeeyIaJSGemnhIwE3/h8mtmNwLiCvc9BlNiemXdrDNkfrovnGQvASLNb2wBAwVhcMctd4PwB2Vng+7BpeaNK/tyz2ly5Xv/GdwC/J2RDjnMbL8CStIZX5dS4QnTodJa7RcSg2+lFLEJS5IbDj5QPRQ3UxC0 X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 31:XhbdNlo7PJ/iWb2A3aYpjU6IkYFwArtTj9PC3VvYoh3bKJnN2efz4iLRiP4zvZrOwVNi3uH4q3lJ0IUogVcPUqVGU43GrZXvavDLTg4kx0uos++ZrsKR6PUJicnBIPF6h084xqaR6Wt9UOJqUSmdERyRn85QcR4uZkNYVypK3xR/DxDKxFxwKwLeue8bfOuq7ZMZ4h4IpR3GblG8/t/KbYgUI1Lu6HymHWik1VQpturQ6R5sBfIpFGGWTSrHWO+BEgvuf4aJ9/gpxRT5ypWxX6TQzxohzBttPA8GfVmPmvA= 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)(5005006)(8121501046)(13017025)(13015025)(13024025)(13023025)(13018025)(10201501046)(3002001)(6055026)(6096035)(20161123561025)(20161123556025)(20161123563025)(20161123565025)(20161123559025); SRVR:DM2PR0301MB0750; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0750; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 4:1J5dxNnm2s70kbVFBB5F/EBnZTfZAevT2Q0UhHiCX0yLXxhnhUeMWIiUC1S/Md+vlDMGYarpZTfGHr5r0yCkPP1AaQGrxTDQ6RWlFGUqAiBlBGifH/ImacZ128vXlsMyEWbgkY0S7cd+awqzRcIpSWNLfhP0z7o75j2zX75/5GYZA3N0TZm7QJp7KjFgBfK7jqVj0TyAx6O7kKYB/14XNLGacmEVWrVf7wxbhr1pu6PQGD10V5FzkVev55P1hRBgAXhwHiI9O6BqIdJXo2Oscpv7tGsq2lUQ4ybtVRWtKpLq5cN6PfL16VnlTcq4K8bwqZGUcCQXTifyb/Od+Nkipvx/+yeR/LupJxXA4APDgY+8EAbVu3u8EKlKDbbq20HOIUd29cOcM6rzoIRPgXIJxg5MQXGsc0czmLgELddCwxsGkR7n8J/lKhV4e+7doiMWJxjc6Fk+hqTleqyzymtgm8Xl15whCOfpfNILQ+srLUkYht63TK0LfEIT2h53uNy4eE4/oQxYHBo2h/uPt91blMsgShGyDIzpDqorwhKRY8BMk6flqFaFnUsmz2hPLQvEwrIdZCHEL0dhlD92nC/J95tndRwN/xIwaKda5v3MCj6l9k1w6GkiFbuhM9dYaHhOQ/4arbJV5h85TGG77AkM5KC1R4TiB4qQ0+k8BnG6c/TDLym7NOeLqn/vyX/sGxbj2vEtovGo721CJlhXaPsDXUGseAweS4sHa8dXoJfXlYLGwXJqDffrefgI0K0/TwQD X-Forefront-PRVS: 0192E812EC X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0750; 23:b2HZkbioyGt3QkyGBUtG5mjmncze1TeuJ9yNZ7u?= d5QGUbfYE3vsGyJ00LOFIn8NIMcBBwGHJxWIUluc4E+rdqZk30eLyIKH6fITINtAv41dGoIGUPi25dU6MoqzZjlY/BdAvthiRcMga4f12frfPBhdZY7U10iFOym/jJ1VtvTb05utnaqjmoljqE/QpNq/9XiXm7s/AzV9TAM4v2ds8RC9/Dr2S5Z5JLLn8IK1PiL7PEBSLg0wvg7HWlH9ELwaAy0IkURLj8F4uT9LwKmQdyQmEtjSSqEx1abvebkZsPNtYa7tNaSA2O4Im6bB8wpeSYAInUeZ35VE50S25bOdX3rwKquzQBuGR7X5EYUD7MCxhrs0fHQvJet9QpuUM4ynmzpMPgZhrKIoxVLVkD2lKdXf16D4pHR5ibA2bCcWs0nndMBbX8FdZmcFPdOA7FAGdncxPKb9T5f46cg/FOfTjU7NSxRa3Hj38wt+8LzaSkCrdcSu8Q0JKE3HN/z81JVbBFY1lpgEVgGwVa43rtv/P6weTVpFm+MDY9aHfGkdAiVdDy8VktJaBCY43ehUYcH3pwWiNsizkEO6+zHxfKTp0iv5voOqfyKKX3IJHWpkcU5wYEsrOMci8O240e6RmFTHS/eLvpOv+hJi+KRoKwqczD2SLwokWNPSkmU2sSX8ZBCU6L/nO8C+vZRHEA7CDzx+g1iUj3sHEXjuDwn6fA+X/l4IeEOmDZzWMeHFuk/DdlEeSXu1eHcFaaaPmPnZ0knyg5qjVfJpy//QBZdXRmKgLqLtYt9/vfXyvH1dlLRU6jjiMb/t9b+L1etT5ozxosD4ncREhLB0jzon+ESKiSidRx7IiBpYTwTZ3iLuxqo5kjfaZSA7PdgslS34y23WMmxoYlzTdJT3JPRug8qwqbnvm+hRtnk5UWj8g+GDY9rTqrVni9tv2hHqqXodyBzgKfV49Q/inchh1w6dKAeBLBumt95W6ICziu85aEbbCO32poZj4HcAIk4iMvl6QgdQ93x3++Ek96m+isaxieacxFj5Qsi2+SO99Jh7mN8Cv1iskA+1zD5Yx7MnHfvgAxX4BnDl3vP0OJTxBX2OodEJtvv07SEsjkC/Uojf4Zg/dud1V5alnqBYPD/bcJW0nbqooLetTLupTEtgPDhPCLQvj27nwCxjLwkwYAp1BuiyYBTTfrxGLeDPu6rqkaISNiNVA8KTY2N4zBabSIzUzAeLtjNPsqDn7mmjVD9CTdjspQ2G5c5rXus0L1kuKYjkjbMzivCj/xIismi58ZRMj3SEKVD3UKJL55sRhPJaVhYBLpRNo/mU= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 6:tHooYVhAjh9M4kae0gE2ZqsCRnfNzJp4qYOeilBvUSUeGRPDNPifUMqmFBGlHh2YGc/naNHDsnPeU5iV04WIVi4jJmNOvsAj+CpNVsTKj9wAtG1+4qiZCpPJZVyd7GsixCLfV6gEnoaOJhlGzvYe6lLKvjKrlUynPtytDg/pJLu22woo1bjElhdaiwWIBN7JaNOPcBOUSSDbBPxatAipo59a41RUO0XE1GgjsFDT6GPy+htKomBBegZ27qodtk5Me5GaBSPpmlu44ixKCduDqDHbPqSsU7q/wPAynDpzXUXTjca/4NIMQWLwpUeciL0ZNAZZAIziZmCLVGAPigTAQmWUIcg3vIOcol1o3h6pRhW5gWWiUfVZVPnQ+bbDSUqO8oU3Emh6kJkXj9R9fUHQjTRiR/lFwkJkEwXex2IvxPOf7RbaHdWtHHjHHscukNMl; 5:5MJ0ug59t4Ob/044hoF6W7YB5Gl9rhcxvPdAyiBpFjqRwW8+NzCGStnhhXL9CVIjCkIuOXxCMky95ywqx7oTzxtg16KIKaYDR5qjyEH0D0uNyeIye42WVEVTginNOLTAQZV4jR7B1PCsSDmGa16GIpZyVU710pjniyteHdDg6w3p9Ab4UCu7j/nQ0eRhB9Al; 24:l7jgDiBP3CgA0TEfj2x+lkLo08h2yEqnItwl9wGZ33+PQ1dxBZf74dfkqVwbzFRSxvX3CQM7lnUN2f3PTGReNrZkj0AaeTEu9+HLIzJxFSc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0750; 7:uD04JArP48s6VBw57RvpUYEBYCFVrHr99FyZ6RhI6iENmRK5VfB/WqntlMEcrKasUalCxNxl8AECTcaJgz0xvYrMhcjM1zpO8xJ4JcmP5+vctoc/h/rXWH8+RnLCcKb3rgORTNdg6W0Fb72PA8qeWM3hFc8cDFzqpj6pEv90mZS9nUbmWxdJ7/zwCGy+8BzLzHnsIdVCGYMWSK9tf/wema4667VDXv5rbYdshZD/DAj4eiusKFFuSY7ozDQNfWbNZ1VbKFgYKbwCbVYmRWV8rlSjoKwBrflCk+ld7u1a5xLFCiDfCiGT4qk/AY6wU3qMKsZ5m5JbZIuSEA46xUSMGPwEcKWfLWhnpU3cG7xvgxQ3Mv0lz/aSgKvxx7OMqwXC2dYewYiiBwSmcFuinaBzknQn4XmSU1/KZ7kKazW7OF1SmmC8AzsUEhAvSvQE/F5W9IOyeD01Bg2EiYBdj3oO3w== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2017 13:25:45.5782 (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: DM2PR0301MB0750 Subject: [dpdk-dev] [PATCHv5 28/33] 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 70264b6..a9d5f10 100644 --- a/drivers/net/dpaa2/dpaa2_ethdev.c +++ b/drivers/net/dpaa2/dpaa2_ethdev.c @@ -589,6 +589,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, @@ -646,6 +730,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,