get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/20609/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 20609,
    "url": "http://patches.dpdk.org/api/patches/20609/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1487669225-30091-46-git-send-email-shijith.thotton@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1487669225-30091-46-git-send-email-shijith.thotton@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1487669225-30091-46-git-send-email-shijith.thotton@caviumnetworks.com",
    "date": "2017-02-21T09:27:00",
    "name": "[dpdk-dev,45/50] net/liquidio: add support for Tx stats",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "de6bb11d1e149d33a5918bde20cb4e46510ed67b",
    "submitter": {
        "id": 677,
        "url": "http://patches.dpdk.org/api/people/677/?format=api",
        "name": "Shijith Thotton",
        "email": "shijith.thotton@caviumnetworks.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1487669225-30091-46-git-send-email-shijith.thotton@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/20609/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/20609/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 09C46C304;\n\tTue, 21 Feb 2017 10:30:29 +0100 (CET)",
            "from NAM02-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam02on0070.outbound.protection.outlook.com [104.47.36.70])\n\tby dpdk.org (Postfix) with ESMTP id 0EBEBC304\n\tfor <dev@dpdk.org>; Tue, 21 Feb 2017 10:30:27 +0100 (CET)",
            "from lio357.in.caveonetworks.com (14.140.2.178) by\n\tSN1PR07MB2285.namprd07.prod.outlook.com (10.164.47.155) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.919.13; Tue, 21 Feb 2017 09:30:23 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=oKiCpYpZV5L1opoLxmjtIGuQF2S/q5ve1UhTWZ6WfRc=;\n\tb=bmKouW1XOprgRZvyjrhuxPP78aXtdDkgievZ3akCmv+NT5YMsU9kWlyutHbFPoXUGRCfVCKBYdEy/63Cm6bKPrInAoY03Vm0/CnX2jgJ1yAJWGhk3WSzJzluCSUUBguk2E2uBS4t/QqlbH6BKefB4ZH4fF2YB3ZgBPpkNEvYZOQ=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Shijith.Thotton@cavium.com; ",
        "From": "Shijith Thotton <shijith.thotton@caviumnetworks.com>",
        "To": "dev@dpdk.org",
        "Cc": "Jerin Jacob <jerin.jacob@caviumnetworks.com>,\n\tDerek Chickles <derek.chickles@caviumnetworks.com>,\n\tVenkat Koppula <venkat.koppula@caviumnetworks.com>,\n\tMallesham Jatharakonda <mjatharakonda@oneconvergence.com>",
        "Date": "Tue, 21 Feb 2017 14:57:00 +0530",
        "Message-Id": "<1487669225-30091-46-git-send-email-shijith.thotton@caviumnetworks.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1487669225-30091-1-git-send-email-shijith.thotton@caviumnetworks.com>",
        "References": "<1487669225-30091-1-git-send-email-shijith.thotton@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.140.2.178]",
        "X-ClientProxiedBy": "MA1PR01CA0089.INDPRD01.PROD.OUTLOOK.COM (10.174.56.29) To\n\tSN1PR07MB2285.namprd07.prod.outlook.com (10.164.47.155)",
        "X-MS-Office365-Filtering-Correlation-Id": "7c60b2db-4ab9-4434-3676-08d45a3c442e",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:SN1PR07MB2285; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; SN1PR07MB2285;\n\t3:e085YWbs4tgKAiNBZvntdD+dPS0kPRRs4cSHKUUQqs/tifuoUC4d74Qx4sdwtpCHNqGNLpxJsJAkztnGx3Drl8i+tDVuSGEVqBQaroP0Etg7rUUVQkIliCOVLrvzYXJWC7z4Bgc+FIunoKxkcPJtn7z6CL1Y1hlW4+hmePWDmwMkhCW1Y7v4TMspz9cpFFcjS1NQCbClfAo9tGEhDoIiIpFrNKuKCZwzVS+8IxHs0r4nZpnCjEpqDTtw8v8xijUIKFXpF4zIcOyTQEQhgOJ9oA==;\n\t25:iNRIBS5fIVekOQZYZytiDw05QL07isKN5//zWQD2R2qc/CPZCUbqOf4NkT4EURZEjF/EhBOddO/f5ujiWDLRldEiBmVRiUtjNu00mxdqPqZCbpu7d6aCbSXwrDYvjT53chNRmHRJzkc5q7LvkST/ifQp4nDgCsxCOh6CyrI7bGJ97+pu9Ld9DRJcrQytto2uq+NhQ8Q0WZiAMU0nCpNHZW180SB9s7+OZ99JCE4akKxeIRjvUCwRecpPlwBnkDdyHNNY38oafpyTnIV+x+JDjZpSUMiTZlV1dNbN644acZ2eDLhNHTK7I0PAuSFsuU9aZVXuDVO5biCN7mvBXgij/U5VrGQ004r+nJrIgM3z5sZIArnhHdlxzrgkutS/U5sEI31dn8w+OmhJMQAlxQrn3B9YECLXqVcuLGrwWGM/rjLlEdsx8I7DaBpbLXHJmLiH4EOWbM3KtBiHsxriW+TLAA==",
            "1; SN1PR07MB2285;\n\t31:rt+nKZaCRrVjF3dBQ70i7r7yDNG3Fk0VrA2cxb8rOSS5OpvENe1fC+sMCW9V0mkYbJD6obyoioET9esFsLnD4/MEzrWCIcJ/D+qqO0t874mQ/wl5EDdVRlewZn9fgKiVL2lnZqi++6vv/azJPHVOCerzEtJDgjtssJhfctm1r0lfkJmIsCqyubWfdX5Eh85ZsKIShOeqDwUQOb2a1vDx/sq70Ry5Uxrpme3xRjff09nbxwGqew1umFrFwoGACctB;\n\t20:MPhSqk6L6CFlqQwSBPGghucwHBRpbTWMaJ0wzoFGOqqKtYJ6XXSjuB+6cBNqLGjWhzJaOhFiCOqwEHu5kPaPv3Wc7xnSKZxp/awQKNFkq3P+FFN16c3d6cyzWrFwlK/FIe/WDXo04qlrfsm8Q+WLPqWbNdcDpwvKFGlmWKlLuuXUXzuA6GCTUf/ziuC844Ia0R1b/gItv8MH1VxSJFlGPfDMI77czoWEFqzJ7wAbDtcVIP9YRZ/Si8rKx7cHDCZB+4jUEdb23AG02VGKfNnMZsRNcSVqXb5DtTsCpL/sku4rMJ0oK2B/9llSIws9iUDzKwQKkQHfiXeVU7MmUoJHPGIkOawR5l5P9Bq0DdICf70eecVduLk10sLju7hV3FGpOtVC/FWiFt1KOv+7vq2cWuWVcoxgbxkzEVs4djo4kMrmcrGUzkZykstoj99QUc0eMnRTiOzLyZS/ulyri34PqIHzTSUkjfkQBX0JT43aV1fhrlK33UH4jg6qLnhWwjgg8Dm13zox5N8Unc9xSZjcASFrNVCU+vPLtWotRXwtfHeUhepR228IpMnP5ohf5mjcrpdc5cKbM7E4lKE5ukDXcWIS5DDPUEnuJ7+ZeCZp5GM=",
            "1; SN1PR07MB2285;\n\t4:N6V0hbvh/lPyrd0b3teuqrBQuqzptEawo7uP4s+FnH0Sj1jPitJ7nO91sEFSs9tTXf+JP8lth7IhM94ouY5QD9NZMfaFWDo965n9T7zzpUb7Co5aiLcb1LpYi1M9/fckKOtJG2keAWGKoTGH6ipCpN0RgsP6APhYvui34qV+JmRq4/OUjhBOAywRKmZpsOqw8q0JHvnyWKdo2mCdT2fOjIHK3sdsEbV5EQ6jNzgiDMxTbYxIFz7i9WiCptaUEKz2PQhgL9+7fvEMdtk2Ou+zRrehQXOGhT3q6pU2f3AtyZFnQGKARX4AeIPcfMojtiEXKaXy5YqDE09VbpTcn3+QZ8z4PUYvFTaZIzSEV2ZZ1B+gMV8mA5oW6lVcrLr1xTWKKSpwdBY0fVpLanQhDPAZ7VjyS6CK1sz8jtxPknMoQH3ZsXe3PqjOgfZTUXGDw+g9Aq2d8YBUdPN60k9xk6npfksvdN0ZW1KbFo/O76YmzZ3pL/ltunMh6jDNA2KbV5VC5Gj+JSA98upe3gWNju30yTHdX3JC+jnoeOhrkn4dD1sOMz+6nzd7lB/3D3+pbsdLfiRp3N/CpuOcqum5gV4VrmbQV2QCgHN6KSVQ6q0UJ9c=",
            "=?us-ascii?Q?1; SN1PR07MB2285;\n\t23:BMpYk4ZxLcnJMvJVmlUsl4b4mJBnIFPdsuH+mmrwy?=\n\tWlNwnm8XzcXTFGFk+lDo/tSFZAFCNZlDjzFyShi+VnKiPt6MbEEK88wLWc/aeV4Ro6ukLVJp97HxsZwaui7yeNlulJ/zluhcrv1BIpxtrnIwmliQILTLm/63zhQXV9d5HbKuRiEuwS76wK9TWJfKPIdxqv8dpXVy2T1XP3iuO+OBeEJKLNyKG34A0VCFnUaAUBs+dRFbUUbdUEU9wr1hcyevRwVfSAW6kb6Vv8IUKpOd8NZuCPcSPGCfNBb5zSigcIMfruFvcRa++TTKYoVW9GDFd3AtHEV4eR7IyMZwrS3eBxdknXtQCmVhIbs/Gi2w/WXIXsu04/HdwiiBScUnZqb9HRLz9Mf3bnFM32/HAk97sM3cVi1o9ZzwIaGGqz4Kle8uoNLb5r4lnl4W4dr2micpLPuxv5ws5Ke7Xg9G0/cFHwbsXp0xFYjVfsxLP8w211fScJzd6JPpZQmvZv5VejqCvoXIcGDW/TvamoTLHjXX002MTz65fav8CKOt1wvkSHjcHL9AGWlxMjUBM0Ipcz2ais/vgb3gTkmpO15jwv5DpyHUyaalJ/PpFx5osC5zjBgmCNzItOPrL2+jilwqm+zBtixhvRm+wzW5PxM+kqvxhxSrg/O0osf9hxT04/79fe3JbBiJR8+5cz0ii+xCrmCysksUCLuxendRjyLqT3s/4Seh2wvoisji16KPZeQeN5/Lq/CbP3qreZMkIu7SxZ2E8i4qO+kw7bJWYhFmIQIEWl45w9nRtpaA9UNEtuHQ84jaOwb/Pf8FFzpsxqZ3Bq7ZqkHwr4mcKUkrW97PQxIGi92dK+ixTnnA/IqkVI0zJL0OvElWFBwBNJrT4676Xs+xkXfrrS7+WUIcjfu71R5xi6mVlmOf91QlRPxDT4harhLuPQ/XAGm9WB0doel2+t/G4KmWw4PHmxZcXcnkU1vWtCkJ1MliiYTj/6thOm5qccNntrl8BBTlL7HpErlujnW9MPc2+pCAD3EKFLNAaqDxDo/bfi5q9v6SKNHzmRmbDSYpBnslhZtBRBDOoNhQw8GZZJxgMCXSd9yz1wZRF9eBoZhJ5hz4iwhC045QXYUabnQKwDNNZdQMJDqYwZxpRK2JvhWOsyJM0ogCygX1EaKODk7ii7qRgTwgIPrj9j4LIOL/gsutvWqU1thA4f5WfA0Fl89g6SxPo2020ozg3injdV3shzmzVkjGpccGQyqYWtMUvn7X1Vh7G3Z3a8i39Q/P3kBp9V3iH282vRhEXJBOQ6uyw+Y5YE0nQXBZbOrV2w=",
            "1; SN1PR07MB2285;\n\t6:DHa2dWkXPutrnopqx+qj483VXol4esqW+B2aM6EX7MMol82AkLRWNwvV219k4Vi3IQpvJSL65lkvCfqeYOK5wuwqhMnuF6ZsAbn4GMWHm2pr8OCHY8XEajVG91zevND1pQMIAXr3eoQlXVqubrOGeYV1LZ9PV03qrzkRelxV72gQ9C/r6+CeMPmMHlGvnXO/ZLd9nJGP5eCXNrhvq1w/zoLE4qMBheimHB8QKgCSnn2gtHqb513sUYqns3S29PEIQLGUHXWz8XuIJ4EOjWscAJG9cWJOT77CtFYg0SLOtuLb137PZDfGCmt7LluTYUVAnxjxVCsvys7sZ/bnajhUXqny2FfsRwCy61Y78RAYTuzkW2/z8/RAOdu1XpavcOMXEM3l1aj55nKMTb5WDRoxmA==;\n\t5:zNNUHgYh4eyerTUN/opjCsYAGa/jmzQQDGKJ1UK6yN0qH7pNDcTklWxEE2qZRe05ntdwFqrgwvHghTJyrz2E8m8IcDzoavatr3BeGPRJa61QyIN9NMAHHeu5DlOPdCp16LmVBZhZ8n8HqA0I0qi1hA==;\n\t24:gx9AgAsYoGTq1R7EzVZcye/PvYwS7hHQY2NeQOUbWY4EB1rEWe+39Fa87bZ7MQZtdoOrMcqi1wSmQf9kpHFG7gfu8Mq75qdQ+CX1Xqn1DEM=",
            "1; SN1PR07MB2285;\n\t7:CNXi/V3wMCG0rvRJHLSo6O4LHzgwbdzsn8eIeWCtv5lPxC/SQpuas7O39e8Dk0QIoNCHeBHLhyXznzGX4G/sCKnL5Jmu+0q2YzHLaJhBk9eaRz/cDVQz6ZBH1eUWoPC6h4ITipvmeam/Qb0/1LRZizzn4RJfFTFJO034Rce6VUB0OO6dXFPZ8SRZYXMy5gmfwc/t2tme9OS1gN1JwYVN8E6O/1stvwDPCKQj5EuC9TtBUEQ0WR+JW02U5WAon0AFxYZL1y3x7KPo3nExWCgssDPSGfh2d7kUbwdivRWzd6IJERjB9NsSJQ1jlBrp1UpHynug4PotVU5LK6NNGtsx9A=="
        ],
        "X-Microsoft-Antispam-PRVS": "<SN1PR07MB22857A86D934AA3E3095387B81510@SN1PR07MB2285.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123555025)(20161123564025)(20161123562025)(20161123560025)(20161123558025)(6072148);\n\tSRVR:SN1PR07MB2285; BCL:0; PCL:0; RULEID:; SRVR:SN1PR07MB2285; ",
        "X-Forefront-PRVS": "0225B0D5BC",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6009001)(7916002)(39450400003)(39410400002)(39830400002)(189002)(199003)(50226002)(81166006)(42186005)(2361001)(101416001)(81156014)(305945005)(3846002)(6116002)(5009440100003)(8676002)(105586002)(7736002)(53936002)(36756003)(110136004)(106356001)(6506006)(25786008)(38730400002)(2351001)(92566002)(48376002)(6486002)(97736004)(50466002)(5003940100001)(189998001)(68736007)(2906002)(4326007)(33646002)(76176999)(54906002)(5660300001)(6666003)(6916009)(50986999)(2950100002)(6512007)(4720700003)(42882006)(66066001)(47776003)(7099028)(110426004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR07MB2285;\n\tH:lio357.in.caveonetworks.com; \n\tFPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "21 Feb 2017 09:30:23.5592\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SN1PR07MB2285",
        "Subject": "[dpdk-dev] [PATCH 45/50] net/liquidio: add support for Tx stats",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Signed-off-by: Shijith Thotton <shijith.thotton@caviumnetworks.com>\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\nSigned-off-by: Derek Chickles <derek.chickles@caviumnetworks.com>\nSigned-off-by: Venkat Koppula <venkat.koppula@caviumnetworks.com>\nSigned-off-by: Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>\n---\n drivers/net/liquidio/lio_ethdev.c | 36 ++++++++++++++++++++++++++++++++++--\n drivers/net/liquidio/lio_rxtx.c   | 18 ++++++++++++++++--\n drivers/net/liquidio/lio_rxtx.h   |  3 +++\n drivers/net/liquidio/lio_struct.h | 15 +++++++++++++++\n 4 files changed, 68 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/drivers/net/liquidio/lio_ethdev.c b/drivers/net/liquidio/lio_ethdev.c\nindex 2bdba09..7e6277a 100644\n--- a/drivers/net/liquidio/lio_ethdev.c\n+++ b/drivers/net/liquidio/lio_ethdev.c\n@@ -124,11 +124,32 @@\n {\n \tstruct lio_device *lio_dev = LIO_DEV(eth_dev);\n \tstruct lio_droq_stats *oq_stats;\n+\tstruct lio_iq_stats *iq_stats;\n+\tstruct lio_instr_queue *txq;\n \tstruct lio_droq *droq;\n+\tint i, iq_no, oq_no;\n \tuint64_t bytes = 0;\n \tuint64_t pkts = 0;\n \tuint64_t drop = 0;\n-\tint i, oq_no;\n+\n+\tfor (i = 0; i < eth_dev->data->nb_tx_queues; i++) {\n+\t\tiq_no = lio_dev->linfo.txpciq[i].s.q_no;\n+\t\ttxq = lio_dev->instr_queue[iq_no];\n+\t\tif (txq != NULL) {\n+\t\t\tiq_stats = &txq->stats;\n+\t\t\tpkts += iq_stats->tx_done;\n+\t\t\tdrop += iq_stats->tx_dropped;\n+\t\t\tbytes += iq_stats->tx_tot_bytes;\n+\t\t}\n+\t}\n+\n+\tstats->opackets = pkts;\n+\tstats->obytes = bytes;\n+\tstats->oerrors = drop;\n+\n+\tpkts = 0;\n+\tdrop = 0;\n+\tbytes = 0;\n \n \tfor (i = 0; i < eth_dev->data->nb_rx_queues; i++) {\n \t\toq_no = lio_dev->linfo.rxpciq[i].s.q_no;\n@@ -152,8 +173,19 @@\n {\n \tstruct lio_device *lio_dev = LIO_DEV(eth_dev);\n \tstruct lio_droq_stats *oq_stats;\n+\tstruct lio_iq_stats *iq_stats;\n+\tstruct lio_instr_queue *txq;\n \tstruct lio_droq *droq;\n-\tint i, oq_no;\n+\tint i, iq_no, oq_no;\n+\n+\tfor (i = 0; i < eth_dev->data->nb_tx_queues; i++) {\n+\t\tiq_no = lio_dev->linfo.txpciq[i].s.q_no;\n+\t\ttxq = lio_dev->instr_queue[iq_no];\n+\t\tif (txq != NULL) {\n+\t\t\tiq_stats = &txq->stats;\n+\t\t\tmemset(iq_stats, 0, sizeof(struct lio_iq_stats));\n+\t\t}\n+\t}\n \n \tfor (i = 0; i < eth_dev->data->nb_rx_queues; i++) {\n \t\toq_no = lio_dev->linfo.rxpciq[i].s.q_no;\ndiff --git a/drivers/net/liquidio/lio_rxtx.c b/drivers/net/liquidio/lio_rxtx.c\nindex 794db32..edd16c6 100644\n--- a/drivers/net/liquidio/lio_rxtx.c\n+++ b/drivers/net/liquidio/lio_rxtx.c\n@@ -1113,8 +1113,10 @@\n \n \t\tinst_processed = lio_process_iq_request_list(lio_dev, iq);\n \n-\t\tif (inst_processed)\n+\t\tif (inst_processed) {\n \t\t\trte_atomic64_sub(&iq->instr_pending, inst_processed);\n+\t\t\tiq->stats.instr_processed += inst_processed;\n+\t\t}\n \n \t\ttot_inst_processed += inst_processed;\n \t\tinst_processed = 0;\n@@ -1130,7 +1132,7 @@\n \n static int\n lio_send_command(struct lio_device *lio_dev, uint32_t iq_no, void *cmd,\n-\t\t void *buf, uint32_t datasize __rte_unused, uint32_t reqtype)\n+\t\t void *buf, uint32_t datasize, uint32_t reqtype)\n {\n \tstruct lio_instr_queue *iq = lio_dev->instr_queue[iq_no];\n \tstruct lio_iq_post_status st;\n@@ -1141,7 +1143,13 @@\n \n \tif (st.status != LIO_IQ_SEND_FAILED) {\n \t\tlio_add_to_request_list(iq, st.index, buf, reqtype);\n+\t\tLIO_INCR_INSTRQUEUE_PKT_COUNT(lio_dev, iq_no, bytes_sent,\n+\t\t\t\t\t      datasize);\n+\t\tLIO_INCR_INSTRQUEUE_PKT_COUNT(lio_dev, iq_no, instr_posted, 1);\n+\n \t\tlio_ring_doorbell(lio_dev, iq);\n+\t} else {\n+\t\tLIO_INCR_INSTRQUEUE_PKT_COUNT(lio_dev, iq_no, instr_dropped, 1);\n \t}\n \n \trte_spinlock_unlock(&iq->post_lock);\n@@ -1667,6 +1675,7 @@ struct lio_soft_command *\n \tstruct lio_instr_queue *txq = tx_queue;\n \tunion lio_cmd_setup cmdsetup;\n \tstruct lio_device *lio_dev;\n+\tstruct lio_iq_stats *stats;\n \tstruct lio_data_pkt ndata;\n \tint i, processed = 0;\n \tstruct rte_mbuf *m;\n@@ -1676,6 +1685,7 @@ struct lio_soft_command *\n \n \tlio_dev = txq->lio_dev;\n \tiq_no = txq->txpciq.s.q_no;\n+\tstats = &lio_dev->instr_queue[iq_no]->stats;\n \n \tif (!lio_dev->intf_open || !lio_dev->linfo.link.s.link_up) {\n \t\tPMD_TX_LOG(lio_dev, ERR, \"Transmit failed link_status : %d\\n\",\n@@ -1697,6 +1707,7 @@ struct lio_soft_command *\n \n \t\tndata.q_no = iq_no;\n \t\tif (lio_iq_is_full(lio_dev, ndata.q_no)) {\n+\t\t\tstats->tx_iq_busy++;\n \t\t\tif (lio_dev_cleanup_iq(lio_dev, iq_no)) {\n \t\t\t\tPMD_TX_LOG(lio_dev, ERR,\n \t\t\t\t\t   \"Transmit failed iq:%d full\\n\",\n@@ -1804,10 +1815,13 @@ struct lio_soft_command *\n \t\t\tlio_dev_cleanup_iq(lio_dev, iq_no);\n \t\t}\n \n+\t\tstats->tx_done++;\n+\t\tstats->tx_tot_bytes += pkt_len;\n \t\tprocessed++;\n \t}\n \n xmit_failed:\n+\tstats->tx_dropped += (nb_pkts - processed);\n \n \treturn processed;\n }\ndiff --git a/drivers/net/liquidio/lio_rxtx.h b/drivers/net/liquidio/lio_rxtx.h\nindex 655042d..6c024e1 100644\n--- a/drivers/net/liquidio/lio_rxtx.h\n+++ b/drivers/net/liquidio/lio_rxtx.h\n@@ -670,6 +670,9 @@ enum {\n  */\n int lio_process_ordered_list(struct lio_device *lio_dev);\n \n+#define LIO_INCR_INSTRQUEUE_PKT_COUNT(lio_dev, iq_no, field, count)\t\\\n+\t(((lio_dev)->instr_queue[iq_no]->stats.field) += count)\n+\n static inline void\n lio_swap_8B_data(uint64_t *data, uint32_t blocks)\n {\ndiff --git a/drivers/net/liquidio/lio_struct.h b/drivers/net/liquidio/lio_struct.h\nindex 6788da1..b1fca92 100644\n--- a/drivers/net/liquidio/lio_struct.h\n+++ b/drivers/net/liquidio/lio_struct.h\n@@ -56,6 +56,18 @@ struct lio_version {\n \tuint16_t reserved;\n };\n \n+/** Input Queue statistics. Each input queue has four stats fields. */\n+struct lio_iq_stats {\n+\tuint64_t instr_posted; /**< Instructions posted to this queue. */\n+\tuint64_t instr_processed; /**< Instructions processed in this queue. */\n+\tuint64_t instr_dropped; /**< Instructions that could not be processed */\n+\tuint64_t bytes_sent; /**< Bytes sent through this queue. */\n+\tuint64_t tx_done; /**< Num of packets sent to network. */\n+\tuint64_t tx_iq_busy; /**< Num of times this iq was found to be full. */\n+\tuint64_t tx_dropped; /**< Num of pkts dropped due to xmitpath errors. */\n+\tuint64_t tx_tot_bytes; /**< Total count of bytes sent to network. */\n+};\n+\n /** Output Queue statistics. Each output queue has four stats fields. */\n struct lio_droq_stats {\n \t/** Number of packets received in this queue. */\n@@ -319,6 +331,9 @@ struct lio_instr_queue {\n \t/** Number of instructions pending to be posted to Octeon. */\n \tuint32_t fill_cnt;\n \n+\t/** Statistics for this input queue. */\n+\tstruct lio_iq_stats stats;\n+\n \t/** DMA mapped base address of the input descriptor ring. */\n \tuint64_t base_addr_dma;\n \n",
    "prefixes": [
        "dpdk-dev",
        "45/50"
    ]
}