Show a patch.

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

{
    "id": 41567,
    "url": "http://patches.dpdk.org/api/patches/41567/",
    "web_url": "http://patches.dpdk.org/patch/41567/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/",
        "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"
    },
    "msgid": "<20180626123925.37439-2-yskoh@mellanox.com>",
    "date": "2018-06-26T12:39:21",
    "name": "[v2,1/5] net/mlx5: change return value of Rx completion poll",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "b3d85018e3c893f9c5dec44be3cfadd3467e4173",
    "submitter": {
        "id": 636,
        "url": "http://patches.dpdk.org/api/people/636/",
        "name": "Yongseok Koh",
        "email": "yskoh@mellanox.com"
    },
    "delegate": {
        "id": 6624,
        "url": "http://patches.dpdk.org/api/users/6624/",
        "username": "shahafs",
        "first_name": "Shahaf",
        "last_name": "Shuler",
        "email": "shahafs@mellanox.com"
    },
    "mbox": "http://patches.dpdk.org/patch/41567/mbox/",
    "series": [
        {
            "id": 242,
            "url": "http://patches.dpdk.org/api/series/242/",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=242",
            "date": "2018-06-26T12:39:20",
            "name": "net/mlx5: support new completion field for Multi-Packet RQ",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/242/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/41567/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/41567/checks/",
    "tags": {},
    "headers": {
        "X-Mailman-Version": "2.1.15",
        "In-Reply-To": "<20180626123925.37439-1-yskoh@mellanox.com>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Message-Id": "<20180626123925.37439-2-yskoh@mellanox.com>",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam-Message-Info": "WdiCK4JM4wfawL3f39o/aBNAVXXXw3u70dC1mO7Osqtoyk/YSlIjTyz9uBgWSR6BcMiYXaiJ/Nf75RekH6BoZcdmpkB8UVhckEimrFqcIYX3NrGLf9TCpj3F6xQrvoYaBjm1/VvC2aQ5p+BGuO4RHgFKhk4vS2eD+sYOrRLCjt5p5gwC/TJwukoKIucEUUusXkRHul8ogTFsRIvGqfn/Fhjo7/gfLbUPuzim5lR7E5shom4x6vtceZMTROyfwD3GWD4dDJLukp55S9NRN/ccNyJGnHNb08eMxx98SNTUZ5he0lb9xlYqPFtbU6csjN7N+9F1GhETzIJzDjWQE40LkZqo9u7rMg9lj8dmVDxBf+g=",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 435641B58E;\n\tTue, 26 Jun 2018 14:40:05 +0200 (CEST)",
            "from EUR04-HE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr70048.outbound.protection.outlook.com [40.107.7.48])\n\tby dpdk.org (Postfix) with ESMTP id 93D571B57F\n\tfor <dev@dpdk.org>; Tue, 26 Jun 2018 14:40:01 +0200 (CEST)",
            "from mellanox.com (209.116.155.178) by\n\tHE1PR0501MB2043.eurprd05.prod.outlook.com (2603:10a6:3:35::21) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.884.23; Tue, 26 Jun 2018 12:39:52 +0000"
        ],
        "References": "<20180626123925.37439-1-yskoh@mellanox.com>",
        "X-MS-Office365-Filtering-Correlation-Id": "3677e56d-4655-4812-7ab4-08d5db61eaea",
        "MIME-Version": "1.0",
        "From": "Yongseok Koh <yskoh@mellanox.com>",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Jun 2018 12:39:52.8275\n\t(UTC)",
        "X-Exchange-Antispam-Report-Test": "UriScan:(788757137089);",
        "X-ClientProxiedBy": "CO1PR15CA0100.namprd15.prod.outlook.com\n\t(2603:10b6:101:21::20) To HE1PR0501MB2043.eurprd05.prod.outlook.com\n\t(2603:10a6:3:35::21)",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Content-Type": "text/plain",
        "List-Post": "<mailto:dev@dpdk.org>",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600026)(711020)(48565401081)(2017052603328)(7153060)(7193020);\n\tSRVR:HE1PR0501MB2043; ",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "To": "adrien.mazarguil@6wind.com,\n\tnelio.laranjeiro@6wind.com",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; HE1PR0501MB2043;\n\t3:qJvpMcZ83ANEhX9084PCGwCJQp5cCc5anDhrmKVvFqSgBwvmlKFNHPuNAN/4k4MhzdZhCIkW5y+SXhX9oQ5icos11t/RlN5qu4EHRckUtc6guZ0Sf8T7XwZduSejFI4tqGs8q/4WuUDsxy5eDTWaC4K0QuMtUvH4dvvh8pUD8QkCDty+lf9zEmPmimWTSD34ufWgiDuBZIPB1D1bGGgkaBcWjMte2/GjTwj879VQ5oI9nevI6j2NagxPP1W3kawa;\n\t25:mkJH18HTW5VbbfyPrHAC0UTtneCrkml5m4+rvHdWhp5yztNhfPyp2kSn/Sz6fyc6elToajFnJ260RCD2wGmYaON58vZUJpH5izvBbwm4y23cZ4riApruez/WviRTMI7yZQ4/aIJwLhv57GVbs6lfzkyCkgR9qT/7ikxdP/UXKj2p34MhiyYJ+Oct+6AAkh4O8BG4QAAs/AGRSAQZG4/pGV/XsRC6p9do2ZGu04RkDjB63u1bBogDc8BRlfX6s7SNxOf5IyJynrjABWkReyacDSZUuJAApuQllWGaRpbD2Oded0wGFvGd2uKI3yoNFZGo88rIrqauiI+lLptFnVBe9w==;\n\t31:RHarcp4nVjPiqB65+fN7d7LBtYRMQtGlGG56BH7feOGle88rNSBUaGJvWTKmlh7x5QXfbzwTBspQunMTDn/1BIGoyl1cYbUhqFue6nW1FAu7yTGVQ8246/7O1xRP7HLG9cxvbmy02Pvg9ygytTvQ4pqjFsdQs/jlYWsyGZSQDD5aLy3+7gQ/pALIrMLAuWSbBAUwE/l0CCGR3rQ1uAr0QqdnGx3SB5v8aC4jvZ8vHnk=",
            "1; HE1PR0501MB2043;\n\t20:sdtXYpegc4Mw/FUpk0uPaHIQIkSgXnPyhyvoxcZRV5RaGJ3avlNKR1qS4H4Jv6GJNf9+2DTxG5fLN4Ue5r6jDGzDedPLcpiTwdevzHjUg2dd2Vq9UGyRN8JsaJv6GweMPejpCOOChSFPYZhG+wwYJwYkzTB0lyAtfL43s7slDxA90TSePhP2GO1CqA0/8LiFoIBNYdBpXt1lrtH1Mw+u/OUyUBMBhum05wF87e5oGpvGr9gTblyyFYa+PGWCwIps3VLCjPfcieFBhyoYzsTkiYV0v7AF0cYX/W4kRZ38ZF2iUaJlKSu3gTD28dQsWsGVzUEN5MJuYT9PJ6KSOsjiWQcobgyo+8Ec+/r0rqYOUGwpELBQ0FNgxHmrGRsmf1IcnlVYmCOpKtVqEV6IayXCbz0VFSoH4ZtgbnaxLY0wnrnttzQyn9d7iEi0zBQyVhSk/NAkqpK18Q4ELfV/BDRBvy1av9fKNSVNn7Ab2ghpnCeYQ7QJMgROWUKX/5PBIbsD;\n\t4:zGpgDwfcqOLdo/V1c3T24Gkf5GCnRvTwQtu48Ip5wQVp11EFgPzQUFKibkRzxpHRO6geLZf6K38LcvQEDY8FgV1vWfbO068hQrvY6jprafjYdyx7Re5TvWQ2ss3PLGuD2/LX05wCP9duzCNX1uLmSqarifp+nHeBWLx+DTU4EmAlRPyvFipOGlbNFtUbhbcwrrlLybsr4J8Jnw3+hBaYcbTexnprXZPK3NxJxbK9pBeGl0v7l5+AsgMTV61JC1otgYf5aqFxHXslples8bXC/vDttb88XpCrIs1edRujEBZVLY2wrxkoh2smbXNr870L",
            "=?us-ascii?Q?1; HE1PR0501MB2043;\n\t23:g5tl/0aogJA7Xvtqy3fFQ2XVcsHEkgXFGW13/wQ?=\n\tEPSH8zjuJR/56u0AlF9KKDkXBfUbbu1VSyiSxIq6lPPnrP/tZV6U9qDqCPqInIXGweRReLLlojy/5v9g20Q9u57R0gzqItpbNd6mEccH1jKuxl16znJ3FQZ5tgMFRfnicgQvz+h9DoaVojZZh6gmqt03heMvr4s/p/5RkQXtrpeKTFRfif3awoMTUrHlHPMpt4N92ZgjnmZbCz68lJQxa6j6e6pKr8tMop2r2ZOKqIEGwYpDp/M4M5QxAdTNcI9TefVdPw0gH0FmxmdOdYoHrdXFTqaaoanpI/27nauPLeXsUY0R2dSZOrkySLiGx3STbx/+vKTsZz0W4UsvTfO+jevdTUzSP9OKf8fRDe7beYDq6wx/BRwdadsQ9h438j49oBVy1WeWEo9MTjn6YGXO2A399RmA0Xdlcnyu2PnOkiZ/3TZC3Qbj2k5eHHJiK+O7w+39BDDDg+nDbJy2qQsicnfykUaAp/QaFfQjE024hFfzjGu01rMBQ8/G5EvHziZDdcMbSuQblUP2DcqQO3U4yxs9C678L7G6IFopD1ciNW5SC9qlr4jtZngHlCcEcIRRtdrRl7VDqrrzvWdPBtH85CF8FCH6ne+gmZ6P85+xpSWtQTIU0oQfKUk0fwl461MdYn57kXls29shaNWorj6wal76Prj8Y574QJK7OOUXY2o4p8oIQEHSJuNavuA2AeSqVQux84gC0yQsaMSY6B+LRjJjjyaKAAU5tK1DoGM6FOpDNbRjcdTrCLY5H+gQhqW+Q2PGyEx2ujGLxhAqEWER/WxiyYBlPtX/CO0kN9u3Xf2DDYtOjr2UwljEMfA5ushNORxvVppDWnECa8YtCndyr9UhmxhEPJo2s5U47UNgDJRXtzayd5b3gOUN5uagMFSvNHGBIpTmkVxugT/dJ7eGdqrRC+eIjmY/gUJAjyeyoHcKRxV72lQG+USXdyJm2VAw7jnD7pZv9oUju5O6Kb8O1j46sIBsiovxDXmc+qBFGO5dn+Qj0ZqsmJNBvld5PknQHpi1ms+NMZ45fSZTHoVEzrCt9z+bnR7Hvl/G8nlmClHP3p58SzdeOKOTBawgCrJxwyiTGK3KCmq2xCvg/m/Bzmd2rwUZSrg+rf4IB64AAGPOcjuE7NmCVyYKItNJOmDyEXbGqw8SSCQ6B5fJJl/Sr40yy",
            "1; HE1PR0501MB2043;\n\t6:mInjqMsetc4od/SyldWuYe/ilhp/Ejvl5cOpdledJIQb4eZaZ8uh6SUSirC0AihXT1Cw2Ezz/xgz0redyT9uAfZ8YRq5d67WpnhXgYhPU/Hcf2UkJFZnj9rfcTXiqQCdg97ZJw+rPTTSeLzN4uRUGajXM9fOgdC9d4WKgQTQLbInJ+srATElzuKfRJMr4N7DEJ8CNJvLZ0OuM4Iptyeq7ifZ45mpi3Q7ky1OF/L6Co0N95Kv8z285uMmh65XoO0M+10jL7Uf5z5EXvPzuJit3eqK1X+r3zZrQFUJgZyMmT3rwNwQo/KuNqz64Atrf80TH1jF+unXW/1KJtNBga1axZKpuut/YGItaE95Afy0b6pjaPDKfmIywiQ3mrd2z00AFxjCgROyAR8Km3Va94t39QWFHBibpHMmK76jBmhyARjOLJHLprvZdKjw5A1k4SrO/Xe+B+BD6m+12ZcbCf8LrA==;\n\t5:Kp416i+ZvxAspu9Htg8dGGcZlN3ry2inUcqK20eLmD11dl1PB+AYv/LfNTzHdrt0MEcb00/5pYTz7nUbLwcGFlHOdroPtM4SmQ6stMUEwWuTnEuna9VBwVd0uc8CSRJqc9+cCwHPcvapcdwWyP5vm8D19qyDPlJuHbljePqYO7c=;\n\t24:7+gxJ+fYL2aIHkPTDMQTlE1rCPyvg8yEE3k+Cz8sHwdIaU9cidlDV+AMaCxU5ryj1i8nISBd2Qj1aOT8/eRcB9cRhb+JN+TR/vN1XlgSgjg=",
            "1; HE1PR0501MB2043;\n\t7:UYXMWPASf/wUl4PvW4lnItODwHjN7Dg5ALJyIIAKzBMb160l6lPc2kMvrjvHvn9/WKzRCjtb/asiympdnpn2QPivXFOPzdxunH/lr8djJyZ2YsET6+THfhZikmk95StFmlmN7nHE9NWD5maujmiDghDzLLl9H4lc0sEiR2brLv5T36avlPBOFHzWETrg7gn4/4gItsDaPy5W2Es/LYeuAtU+pyYKyMcsg+Yc+cpWZ9ECgseozeboXofMOZtwvrbJ"
        ],
        "X-MS-TrafficTypeDiagnostic": "HE1PR0501MB2043:",
        "Cc": "dev@dpdk.org,\n\tshahafs@mellanox.com,\n\tYongseok Koh <yskoh@mellanox.com>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "Date": "Tue, 26 Jun 2018 05:39:21 -0700",
        "X-Microsoft-Antispam-PRVS": "<HE1PR0501MB2043A49510F8A9101E81EBA5C3490@HE1PR0501MB2043.eurprd05.prod.outlook.com>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "Received-SPF": "None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)",
        "X-Originating-IP": "[209.116.155.178]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "3677e56d-4655-4812-7ab4-08d5db61eaea",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=beimZS+QHAbws+FEEmEmyJwUpKBHWo2XMnJ9FvvGAiM=;\n\tb=DfLhFZDtILynyVdTNPAxBkFiZ2hK4dOMdRzrVDUMz+REJ+UmDQVNMOhzCeOmjJFAqoOVYbZHF8bAGtfEpaNYSQwzw4/M+JUVlMg7DI13WOfFw4SQTYPVeOK+607ByO6MH1LpY8R6xPj6bGJ1W5i6yY+bFKIzVrl0vW7+Zth4IO0=",
        "SpamDiagnosticOutput": "1:99",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=yskoh@mellanox.com; ",
        "Delivered-To": "patchwork@dpdk.org",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231254)(944501410)(52105095)(6055026)(149027)(150027)(6041310)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011)(7699016);\n\tSRVR:HE1PR0501MB2043; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0501MB2043; ",
        "SpamDiagnosticMetadata": "NSPM",
        "X-Mailer": "git-send-email 2.11.0",
        "X-OriginatorOrg": "Mellanox.com",
        "Return-Path": "<dev-bounces@dpdk.org>",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>",
        "X-MS-Exchange-CrossTenant-Id": "a652971c-7d2e-4d9b-a6a4-d149256f461b",
        "X-MS-PublicTrafficType": "Email",
        "Precedence": "list",
        "X-Forefront-PRVS": "071518EF63",
        "X-BeenThere": "dev@dpdk.org",
        "Subject": "[dpdk-dev] [PATCH v2 1/5] net/mlx5: change return value of Rx\n\tcompletion poll",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "HE1PR0501MB2043",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(396003)(346002)(136003)(39860400002)(376002)(366004)(189003)(199004)(66066001)(7736002)(956004)(478600001)(386003)(8676002)(48376002)(50466002)(486006)(107886003)(86362001)(16586007)(47776003)(316002)(186003)(68736007)(6666003)(4326008)(69596002)(25786009)(2616005)(11346002)(305945005)(476003)(446003)(81166006)(81156014)(21086003)(55016002)(2906002)(53936002)(76176011)(51416003)(97736004)(26005)(1076002)(105586002)(7696005)(5660300001)(36756003)(50226002)(3846002)(52116002)(6116002)(106356001)(8936002)(16526019);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0501MB2043; H:mellanox.com; FPR:;\n\tSPF:None; \n\tLANG:en; PTR:InfoNoRecords; MX:1; A:1; "
    },
    "content": "mlx5_rx_poll_len() returns Rx hash result extracted from either mini CQE or\nregular CQE. As mini CQE may not have the hash result if configured\notherwise, it shouldn't assume the first DWORD of mini CQE is always hash\nresult. mlx5_rx_poll_len() is changed to return pointer to the mini CQE if\ncompressed.\n\nSigned-off-by: Yongseok Koh <yskoh@mellanox.com>\nAcked-by: Shahaf Shuler <shahafs@mellanox.com>\n---\n drivers/net/mlx5/mlx5_rxtx.c | 33 +++++++++++++++++++++------------\n 1 file changed, 21 insertions(+), 12 deletions(-)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c\nindex 527859461..a4e15c519 100644\n--- a/drivers/net/mlx5/mlx5_rxtx.c\n+++ b/drivers/net/mlx5/mlx5_rxtx.c\n@@ -38,7 +38,7 @@ rxq_cq_to_pkt_type(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe);\n \n static __rte_always_inline int\n mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe,\n-\t\t uint16_t cqe_cnt, uint32_t *rss_hash);\n+\t\t uint16_t cqe_cnt, volatile struct mlx5_mini_cqe8 **mcqe);\n \n static __rte_always_inline uint32_t\n rxq_cq_to_ol_flags(volatile struct mlx5_cqe *cqe);\n@@ -1722,8 +1722,9 @@ rxq_cq_to_pkt_type(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe)\n  *   Pointer to RX queue.\n  * @param cqe\n  *   CQE to process.\n- * @param[out] rss_hash\n- *   Packet RSS Hash result.\n+ * @param[out] mcqe\n+ *   Store pointer to mini-CQE if compressed. Otherwise, the pointer is not\n+ *   written.\n  *\n  * @return\n  *   Packet size in bytes (0 if there is none), -1 in case of completion\n@@ -1731,7 +1732,7 @@ rxq_cq_to_pkt_type(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe)\n  */\n static inline int\n mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe,\n-\t\t uint16_t cqe_cnt, uint32_t *rss_hash)\n+\t\t uint16_t cqe_cnt, volatile struct mlx5_mini_cqe8 **mcqe)\n {\n \tstruct rxq_zip *zip = &rxq->zip;\n \tuint16_t cqe_n = cqe_cnt + 1;\n@@ -1745,7 +1746,7 @@ mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe,\n \t\t\t(uintptr_t)(&(*rxq->cqes)[zip->ca & cqe_cnt].pkt_info);\n \n \t\tlen = rte_be_to_cpu_32((*mc)[zip->ai & 7].byte_cnt);\n-\t\t*rss_hash = rte_be_to_cpu_32((*mc)[zip->ai & 7].rx_hash_result);\n+\t\t*mcqe = &(*mc)[zip->ai & 7];\n \t\tif ((++zip->ai & 7) == 0) {\n \t\t\t/* Invalidate consumed CQEs */\n \t\t\tidx = zip->ca;\n@@ -1810,7 +1811,7 @@ mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe,\n \t\t\tzip->cq_ci = rxq->cq_ci + zip->cqe_cnt;\n \t\t\t/* Get packet size to return. */\n \t\t\tlen = rte_be_to_cpu_32((*mc)[0].byte_cnt);\n-\t\t\t*rss_hash = rte_be_to_cpu_32((*mc)[0].rx_hash_result);\n+\t\t\t*mcqe = &(*mc)[0];\n \t\t\tzip->ai = 1;\n \t\t\t/* Prefetch all the entries to be invalidated */\n \t\t\tidx = zip->ca;\n@@ -1821,7 +1822,6 @@ mlx5_rx_poll_len(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cqe,\n \t\t\t}\n \t\t} else {\n \t\t\tlen = rte_be_to_cpu_32(cqe->byte_cnt);\n-\t\t\t*rss_hash = rte_be_to_cpu_32(cqe->rx_hash_res);\n \t\t}\n \t\t/* Error while receiving packet. */\n \t\tif (unlikely(MLX5_CQE_OPCODE(op_own) == MLX5_CQE_RESP_ERR))\n@@ -1934,7 +1934,8 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\tvolatile struct mlx5_wqe_data_seg *wqe =\n \t\t\t&((volatile struct mlx5_wqe_data_seg *)rxq->wqes)[idx];\n \t\tstruct rte_mbuf *rep = (*rxq->elts)[idx];\n-\t\tuint32_t rss_hash_res = 0;\n+\t\tvolatile struct mlx5_mini_cqe8 *mcqe = NULL;\n+\t\tuint32_t rss_hash_res;\n \n \t\tif (pkt)\n \t\t\tNEXT(seg) = rep;\n@@ -1964,8 +1965,7 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\t}\n \t\tif (!pkt) {\n \t\t\tcqe = &(*rxq->cqes)[rxq->cq_ci & cqe_cnt];\n-\t\t\tlen = mlx5_rx_poll_len(rxq, cqe, cqe_cnt,\n-\t\t\t\t\t       &rss_hash_res);\n+\t\t\tlen = mlx5_rx_poll_len(rxq, cqe, cqe_cnt, &mcqe);\n \t\t\tif (!len) {\n \t\t\t\trte_mbuf_raw_free(rep);\n \t\t\t\tbreak;\n@@ -1979,6 +1979,10 @@ mlx5_rx_burst(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\t\tpkt = seg;\n \t\t\tassert(len >= (rxq->crc_present << 2));\n \t\t\tpkt->ol_flags = 0;\n+\t\t\t/* If compressed, take hash result from mini-CQE. */\n+\t\t\trss_hash_res = rte_be_to_cpu_32(mcqe == NULL ?\n+\t\t\t\t\t\t\tcqe->rx_hash_res :\n+\t\t\t\t\t\t\tmcqe->rx_hash_result);\n \t\t\trxq_cq_to_mbuf(rxq, pkt, cqe, rss_hash_res);\n \t\t\tif (rxq->crc_present)\n \t\t\t\tlen -= ETHER_CRC_LEN;\n@@ -2115,7 +2119,8 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\tuint16_t consumed_strd;\n \t\tuint32_t offset;\n \t\tuint32_t byte_cnt;\n-\t\tuint32_t rss_hash_res = 0;\n+\t\tvolatile struct mlx5_mini_cqe8 *mcqe = NULL;\n+\t\tuint32_t rss_hash_res;\n \n \t\tif (strd_idx == strd_n) {\n \t\t\t/* Replace WQE only if the buffer is still in use. */\n@@ -2142,7 +2147,7 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\t\tbuf = (*rxq->mprq_bufs)[rq_ci & wq_mask];\n \t\t}\n \t\tcqe = &(*rxq->cqes)[rxq->cq_ci & cq_mask];\n-\t\tret = mlx5_rx_poll_len(rxq, cqe, cq_mask, &rss_hash_res);\n+\t\tret = mlx5_rx_poll_len(rxq, cqe, cq_mask, &mcqe);\n \t\tif (!ret)\n \t\t\tbreak;\n \t\tif (unlikely(ret == -1)) {\n@@ -2237,6 +2242,10 @@ mlx5_rx_burst_mprq(void *dpdk_rxq, struct rte_mbuf **pkts, uint16_t pkts_n)\n \t\t\t\tcontinue;\n \t\t\t}\n \t\t}\n+\t\t/* If compressed, take hash result from mini-CQE. */\n+\t\trss_hash_res = rte_be_to_cpu_32(mcqe == NULL ?\n+\t\t\t\t\t\tcqe->rx_hash_res :\n+\t\t\t\t\t\tmcqe->rx_hash_result);\n \t\trxq_cq_to_mbuf(rxq, pkt, cqe, rss_hash_res);\n \t\tPKT_LEN(pkt) = len;\n \t\tDATA_LEN(pkt) = len;\n",
    "prefixes": [
        "v2",
        "1/5"
    ]
}