get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 28318,
    "url": "https://patches.dpdk.org/api/patches/28318/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/f5c07107167b9acf1ca5b5a7928923c77b705ddd.1504508375.git.shahafs@mellanox.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<f5c07107167b9acf1ca5b5a7928923c77b705ddd.1504508375.git.shahafs@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/f5c07107167b9acf1ca5b5a7928923c77b705ddd.1504508375.git.shahafs@mellanox.com",
    "date": "2017-09-04T07:12:16",
    "name": "[dpdk-dev,2/4] ethdev: introduce Rx queue offloads API",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "9e66b9370af558311ce3e6d1c3c07c0e6ed588a8",
    "submitter": {
        "id": 634,
        "url": "https://patches.dpdk.org/api/people/634/?format=api",
        "name": "Shahaf Shuler",
        "email": "shahafs@mellanox.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/f5c07107167b9acf1ca5b5a7928923c77b705ddd.1504508375.git.shahafs@mellanox.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/28318/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/28318/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 6D2E57CD1;\n\tMon,  4 Sep 2017 09:12:30 +0200 (CEST)",
            "from EUR01-HE1-obe.outbound.protection.outlook.com\n\t(mail-he1eur01on0048.outbound.protection.outlook.com [104.47.0.48])\n\tby dpdk.org (Postfix) with ESMTP id 709AD7CC5\n\tfor <dev@dpdk.org>; Mon,  4 Sep 2017 09:12:28 +0200 (CEST)",
            "from mellanox.com (82.166.227.17) by\n\tHE1PR05MB3148.eurprd05.prod.outlook.com (2603:10a6:7:36::18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tMon, 4 Sep 2017 07:12:26 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=W93bvyd1x5QL+KhVSgkW/E+nCSECB1E2A/nndsRkyaU=;\n\tb=FNcwFepBVGEkjmodMiNFwou/dQGW4pdVgRH0F9+0N/pZg4RsgSPS2oBjzGbxMhP1hFKReHrxkdhlzRBbz8Y+8HDIh/HCTPAlPZ+ZWZ7eH6C5VmnTobivZb2KAQ5ANNVQC1QZqEhNzku+vRlQz0oZBb2Vgi+N4hTTBlvYlTAEZRA=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=shahafs@mellanox.com; ",
        "From": "Shahaf Shuler <shahafs@mellanox.com>",
        "To": "thomas@monjalon.net",
        "Cc": "dev@dpdk.org",
        "Date": "Mon,  4 Sep 2017 10:12:16 +0300",
        "Message-Id": "<f5c07107167b9acf1ca5b5a7928923c77b705ddd.1504508375.git.shahafs@mellanox.com>",
        "X-Mailer": "git-send-email 2.12.0",
        "In-Reply-To": "<cover.1504508374.git.shahafs@mellanox.com>",
        "References": "<cover.1504508374.git.shahafs@mellanox.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[82.166.227.17]",
        "X-ClientProxiedBy": "HE1PR07CA0005.eurprd07.prod.outlook.com\n\t(2603:10a6:7:67::15) To HE1PR05MB3148.eurprd05.prod.outlook.com\n\t(2603:10a6:7:36::18)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "757ef478-3ec9-49bb-6033-08d4f3644c82",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:HE1PR05MB3148; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; HE1PR05MB3148;\n\t3:66XwHc7QjfxPxWaiB+hOi3SJ8vSbOmon5nQwrTz8VvA+UusdsZHXecjSL4RG52CPbVeEKprD6B5I9KZZQr70OyLM/ZJWyWuwtqyoEcaVa5c2jMqpSD392f+BLxeKiHDCQqKT0e3mAFPA/vHaqRyZlgzBiNpo1mKog326/pMRzkdZw1muT7IdDg5bNJ34G9ZglcWOxyAtx3KT0ZzlXR14gHFOZJXMVyIpAKKhcY4v32H9ArAai+f7MM5+KWq0PTsM;\n\t25:zmiY6oArF8uJdiWHv4Gte5pMxkwNGuGuPzD1g6RWBOgZ/tjqFD7xiofatmR9xCAtUo1xTcetJozRD35GHmw6CBF/oM5vhdwvhEktRzSZcp9YlpIWc4X6VGniTuFALzhZ6ghhMM9mpu4tt8qYorvG850CtUeVVkZbPP3FpRJlf48RsZEZvXuAVSyMP5E+a8vt9KEzma830luq2q2/WmuxYggQC9AGVQ8ko9/V+ysFyts8XCprmC0KP0+m/m2PjEl//Tr3dogFegPU9PJWQHGsswHZxvEU2QiPwHzcTFSY5IJtS/iIlzVl2/Z2ohie0/Uj6TVEt1qA4YQlr1GHb39TzQ==;\n\t31:mlLkEkR6Saqh5C8ZB4fpPi0xDkWb9Evc7NtyHdDmUiqMlij0NrBsGkNsNJ6oJ4lgK3Ygip4h3EVMmgJ6X0t32WlcGiLbHfxMIEsJtmYoBgfS8JPvuq7xCh0BfKdXxz8+U5Jdh9GPe6mzSqc1syZvPD5AW9DO968pFGkN3OsrRrirLpEGCNav3T12dKDRoPRbcqJfmK1oBJJ51ThiQlOw2FzhLoNrpHkza7TRle0nhZ4=",
            "1; HE1PR05MB3148;\n\t20:GVRwq+m7VDrkayDXyIR7/hLFJO634Ldp8rLUqFW0LLpb2yhrR62YhZR2h1rVbKZxMYdAffHL4OUKqEMD0U/ZzFEDnHoF+2D8tvW1xsjxHwnhM2KDCPhgXsniKocmaT/HFIP28FKJEPX+KT4UUcdfGSdXwZ1rywK7OxbSqr32vHl1qGTnPEl4NOXUM8qSNSaEXnNoIrgbBXh9mLz5hvMue+n979uMpbHjuSCT3j+Yfte4mV4MUgD7AEErVJB6V4ztA6uDAyKxbz9SqzORVICUR7CEv8eQXeSsGj6Hn9eC1goGPSMWZp9fS72C5vx3UVuZuqqbkAfJ7LfHLfNOrepqRH7RoxUYSMIN/X/sKtnnl/BELO/3nUYmq3Byvob7U55dP2RP+FM0KWhOBobR9fkvbCQXjYDgkJd+1OXP3pXbiFgwB2p4mWjsdGmN1fMnCt+gHylEFoc4j3ECo4CtrlYb/EXMJ+HHp5AKVjoz4+/STk6fycHgG7/i/6uOdyfWaAg8;\n\t4:2WL/2h39EiSM4HESEwpBRz786XA3QZ4bet+nTRu3JyyJPgaTWQ1QZKcPYtbOZRY0FtCCyl8brOYPOsC5utkdg73NWI38LNJyrDETnqbIJhXZ8LMjnkRxVuinYAB113Qyl8KV9s7+OsET00mrPvXF8rP/noFRVRAM4bH/Zl9PUL3LIL9yBen5roovPuJeuCa/6miwXSPAhtAS2dFjk/veav0I4GbYtS9C5JrCNlMAkRu4jNyYKxYr77/kOjXBqIbH25f/pQeyyFWcSC5NvTJz40HMAFvPcSbdxvqfz9D4ObQ=",
            "=?us-ascii?Q?1; HE1PR05MB3148;\n\t23:kSBvAhMBuskO6G0cGjqMnMrIFKP/BBlHf8fC57u/T?=\n\tzQOLautyQ+00OD2Oo3/dNg7ziaehIH0BHlXOqwdGNjGiW40EN/Ofe7DDnXcb7+GBBVGAsvSN0dbiptwBIcQPLMzxAo5SAFWT/fbYqdSnMhID6aMoa5EHzGe4uFW6fm3icWpY6YE2tYHf5r9fQMyiFRMuiTDpX1VHt9Iup+WMlgrzHcTEwYNQaBOy2B3IVyL1zck0QWyBBShUlnf5oWM6lwSYR/ebSPfCuaCtaZlr3NE8qI0U7CpiPN0K4ZhBs1ni0mPyRkCb2Lp/SwB+fdQumK+yAdKZRwxig6+GPVtZcFQPzmlzOw5k9i0ksoXI7seJSuEoFZ7TRoVs85diReqIN3BF+80PJiF7YLPPvSFfYbZUohGzQiGVQ1XU3tswgwS4i51SlHGKUtxTJNeHpN4NsPEZ5DJECOKcZNPVMrvtKkaK8Xpn529ceyMTAaM5v52NmfrK6WzMWQa9/LsCX7IUqZJT4N0cThWP03d3Xc2Shy9JyYdB3qHW+a1e+TuqTpAekvo0/WZPX8TKJHjlP0g+kVhELyPRXj05QBrmUZs3HiK9RU22Nk1kUtwvgVVh4BoP8wAEQJhfMpYX2Bf8DLka0vAT/J6z1c1xMAlt7AiW10au5RjPuVoZfbqogbLRbsR4D/M6qLeuejdWKZ7S5N20/kZ+W0wKEgYj9yxXiQOBA+ErXUV6gyaOTj3te2O2KMuV3eKRMILDLRhT+Jc7shJ08vjPSzwI3xyKINJq+8mGbEcfQcox8SozXtMNhevDlrcefSuFdRP10ZduJH8z4r4ZxuM7jP8QmMp0FU/R+GtqXStPz4QBFCRXGkn1p+2iV77LO0MEef8or2480AFBFjpZDMbU/lsVw67g4WMaRMz3/d/GleixKKJoEq1M0NFFHU4boD3pjeXY0/4GX+ZvNMmHsMq0e66mpWOoa15ChGFQ6Lym1Mb7MXYPsp1teP7lvIhbV1bgXqUzPcUvnMudvH1/vDENhTDQQAeuaOXC/1kd53NyI/VLRk0V8BthAADKGMvlSIk2Re0Kc1BtP0G/1kq9qJyGg8HG4uowDl4TUe29BNSJpm52Lc9sgVaaPOeEyJve6nijmLCibGajPYzT2yOmhqLv97JvM9myMoPAuUXR91bNoQMvn0kOu+lkKSyasq87WekYgiMjrtl5+6h9I9fxjlN",
            "1; HE1PR05MB3148;\n\t6:WPy9IH+oiBlpNIcXCrwb8peXZeIRWXZK6YQUmfQ5QlitOkGTiVCksr0BT/gHYIO9V+TjRvRpCx4Ao5jKW1SWjRNDKE/smiS8tfkyk3kmG7pg89lH8MATTCppcQ9nEw5e+8OngnncS4LK7/ZBQ6D9WGTROSleSPFFO7AH5hbhVTZ4cOQTyc/0bYifhqzH/Lvh0dp9SQ8OHNsMqSrRYe8Pr5qCAfX2k4lJ+jtUQ9AlJDiJI9rCWlK6UudQ9ZFLFvDoFOCdDwae20+8LuIr8qPw63b81XahZPNMsDCx5xytdB1JweeY5UROe0ISWefMWtILjkvXtkrBFYCo8jMpoJRarQ==;\n\t5:kzY1zFtD3kS4rB8hh99rDfpElznm2gAY769xrLwhwdGrs2vBoZh3I3bTLiczT3yzqkVd5sI0hiTbu6eLmeaXUzrYkQdw8l45ErLCd6Cb6gmEmQNUTRV8UGIHXL5AvwLc9FZcoi+kOMENypnUAGkGoQ==;\n\t24:7VmNq98bdGSinLVimA0x/eiowcknslH3MGiMI3J3G9IjIh4wobPKE8cJVcnkn7dWwFGzQdnmAJ5ON6LUWEasO+AAYsodjEynrZpn2KHp0Hw=;\n\t7:YziXRXdVD1xvHuhigNKkLAhTOMK/5dOxt08W9wLXdaBCiyqDmrdfuAsVlBXBk6iSxa3/Js1ndTl1l1UTnil68a6cceLOTEFzqMhQnok9KzQh/tqC815yueUIoXmBmJ0ZCl8dNJwdXSzCaGgS23Saol4hUObGvx3Q4eWq1BmzXNrrlkW0nb9DAbC4hHSOzZ+a9fwukCC14x90bYQtsTM0xgOc+Az66UpWno/yoAhvfZs="
        ],
        "X-MS-TrafficTypeDiagnostic": "HE1PR05MB3148:",
        "X-LD-Processed": "a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr",
        "X-Exchange-Antispam-Report-Test": "UriScan:(278428928389397);",
        "X-Microsoft-Antispam-PRVS": "<HE1PR05MB314836B23CB99D7D16E32830C3910@HE1PR05MB3148.eurprd05.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:HE1PR05MB3148; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:HE1PR05MB3148; ",
        "X-Forefront-PRVS": "0420213CCD",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(7370300001)(6009001)(39860400002)(189002)(199003)(105586002)(36756003)(69596002)(97736004)(4326008)(305945005)(5003940100001)(2950100002)(7736002)(6916009)(106356001)(50226002)(53936002)(86362001)(118296001)(5660300001)(68736007)(2361001)(6666003)(110136004)(2351001)(42186005)(55016002)(21086003)(478600001)(33646002)(189998001)(33026002)(3846002)(101416001)(6116002)(2906002)(76176999)(50986999)(48376002)(50466002)(81156014)(81166006)(25786009)(66066001)(47776003)(8676002)(7350300001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR05MB3148; H:mellanox.com; FPR:;\n\tSPF:None; \n\tPTR:InfoNoRecords; MX:1; A:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: mellanox.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "Mellanox.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Sep 2017 07:12:26.7755\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "HE1PR05MB3148",
        "Subject": "[dpdk-dev] [PATCH 2/4] ethdev: introduce Rx queue offloads API",
        "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": "Introduce a new API to configure Rx offloads.\n\nThe new API will re-use existing DEV_RX_OFFLOAD_* flags\nto enable the different offloads. This will ease the process\nof adding a new Rx offloads, as no ABI breakage is involved.\nIn addition, the offload configuration can be done per queue,\ninstead of per port.\n\nThe Rx queue offload API can be used only with devices which advertize\nthe RTE_ETH_DEV_RXQ_OFFLOAD capability. Otherwise the device\nconfiguration will return with error.\n\nPMDs which move to the new API however support rx offloads only per\nport should return from the queue setup, in case of a mixed configuration,\nwith error (-ENOTSUP).\n\nThe old Rx offloads API is kept for the meanwhile, in order to enable a\nsmooth transition for PMDs and application to the new API.\n\nSigned-off-by: Shahaf Shuler <shahafs@mellanox.com>\n---\n doc/guides/nics/features.rst  | 19 +++++++++++--------\n lib/librte_ether/rte_ethdev.c | 12 ++++++++++++\n lib/librte_ether/rte_ethdev.h | 35 ++++++++++++++++++++++++++++++++++-\n 3 files changed, 57 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst\nindex 37ffbc68c..f2c8497c2 100644\n--- a/doc/guides/nics/features.rst\n+++ b/doc/guides/nics/features.rst\n@@ -179,7 +179,7 @@ Jumbo frame\n \n Supports Rx jumbo frames.\n \n-* **[uses]    user config**: ``dev_conf.rxmode.jumbo_frame``,\n+* **[uses]    rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_JUMBO_FRAME``.\n   ``dev_conf.rxmode.max_rx_pkt_len``.\n * **[related] rte_eth_dev_info**: ``max_rx_pktlen``.\n * **[related] API**: ``rte_eth_dev_set_mtu()``.\n@@ -192,7 +192,7 @@ Scattered Rx\n \n Supports receiving segmented mbufs.\n \n-* **[uses]       user config**: ``dev_conf.rxmode.enable_scatter``.\n+* **[uses]       rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_SCATTER``.\n * **[implements] datapath**: ``Scattered Rx function``.\n * **[implements] rte_eth_dev_data**: ``scattered_rx``.\n * **[provides]   eth_dev_ops**: ``rxq_info_get:scattered_rx``.\n@@ -206,7 +206,7 @@ LRO\n \n Supports Large Receive Offload.\n \n-* **[uses]       user config**: ``dev_conf.rxmode.enable_lro``.\n+* **[uses]       rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_TCP_LRO``.\n * **[implements] datapath**: ``LRO functionality``.\n * **[implements] rte_eth_dev_data**: ``lro``.\n * **[provides]   mbuf**: ``mbuf.ol_flags:PKT_RX_LRO``, ``mbuf.tso_segsz``.\n@@ -363,7 +363,7 @@ VLAN filter\n \n Supports filtering of a VLAN Tag identifier.\n \n-* **[uses]       user config**: ``dev_conf.rxmode.hw_vlan_filter``.\n+* **[uses]       rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_VLAN_FILTER``.\n * **[implements] eth_dev_ops**: ``vlan_filter_set``.\n * **[related]    API**: ``rte_eth_dev_vlan_filter()``.\n \n@@ -499,7 +499,7 @@ CRC offload\n \n Supports CRC stripping by hardware.\n \n-* **[uses] user config**: ``dev_conf.rxmode.hw_strip_crc``.\n+* **[uses] rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_CRC_STRIP``.\n \n \n .. _nic_features_vlan_offload:\n@@ -509,8 +509,7 @@ VLAN offload\n \n Supports VLAN offload to hardware.\n \n-* **[uses]       user config**: ``dev_conf.rxmode.hw_vlan_strip``,\n-  ``dev_conf.rxmode.hw_vlan_filter``, ``dev_conf.rxmode.hw_vlan_extend``.\n+* **[uses]       rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_VLAN_STRIP,DEV_RX_OFFLOAD_VLAN_FILTER,DEV_RX_OFFLOAD_VLAN_EXTEND``.\n * **[implements] eth_dev_ops**: ``vlan_offload_set``.\n * **[provides]   mbuf**: ``mbuf.ol_flags:PKT_RX_VLAN_STRIPPED``, ``mbuf.vlan_tci``.\n * **[provides]   rte_eth_dev_info**: ``rx_offload_capa:DEV_RX_OFFLOAD_VLAN_STRIP``,\n@@ -526,6 +525,7 @@ QinQ offload\n \n Supports QinQ (queue in queue) offload.\n \n+* **[uses]     rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_QINQ_STRIP``.\n * **[uses]     mbuf**: ``mbuf.ol_flags:PKT_TX_QINQ_PKT``.\n * **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_QINQ_STRIPPED``, ``mbuf.vlan_tci``,\n    ``mbuf.vlan_tci_outer``.\n@@ -540,7 +540,7 @@ L3 checksum offload\n \n Supports L3 checksum offload.\n \n-* **[uses]     user config**: ``dev_conf.rxmode.hw_ip_checksum``.\n+* **[uses]     rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_IPV4_CKSUM``.\n * **[uses]     mbuf**: ``mbuf.ol_flags:PKT_TX_IP_CKSUM``,\n   ``mbuf.ol_flags:PKT_TX_IPV4`` | ``PKT_TX_IPV6``.\n * **[provides] mbuf**: ``mbuf.ol_flags:PKT_RX_IP_CKSUM_UNKNOWN`` |\n@@ -557,6 +557,7 @@ L4 checksum offload\n \n Supports L4 checksum offload.\n \n+* **[uses]     rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_UDP_CKSUM,DEV_RX_OFFLOAD_TCP_CKSUM``.\n * **[uses]     mbuf**: ``mbuf.ol_flags:PKT_TX_IPV4`` | ``PKT_TX_IPV6``,\n   ``mbuf.ol_flags:PKT_TX_L4_NO_CKSUM`` | ``PKT_TX_TCP_CKSUM`` |\n   ``PKT_TX_SCTP_CKSUM`` | ``PKT_TX_UDP_CKSUM``.\n@@ -574,6 +575,7 @@ MACsec offload\n \n Supports MACsec.\n \n+* **[uses]     rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_MACSEC_STRIP``.\n * **[uses]     mbuf**: ``mbuf.ol_flags:PKT_TX_MACSEC``.\n * **[provides] rte_eth_dev_info**: ``rx_offload_capa:DEV_RX_OFFLOAD_MACSEC_STRIP``,\n   ``tx_offload_capa:DEV_TX_OFFLOAD_MACSEC_INSERT``.\n@@ -586,6 +588,7 @@ Inner L3 checksum\n \n Supports inner packet L3 checksum.\n \n+* **[uses]     rte_eth_rxq_conf**: ``offloads:DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM``.\n * **[uses]     mbuf**: ``mbuf.ol_flags:PKT_TX_IP_CKSUM``,\n   ``mbuf.ol_flags:PKT_TX_IPV4`` | ``PKT_TX_IPV6``,\n   ``mbuf.ol_flags:PKT_TX_OUTER_IP_CKSUM``,\ndiff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c\nindex da2424cc4..50f8aa98d 100644\n--- a/lib/librte_ether/rte_ethdev.c\n+++ b/lib/librte_ether/rte_ethdev.c\n@@ -722,6 +722,18 @@ rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,\n \t\treturn -EBUSY;\n \t}\n \n+\tif ((!(dev->data->dev_flags & RTE_ETH_DEV_RXQ_OFFLOAD)) &&\n+\t     (dev_conf->rxmode.ignore_offloads == 1)) {\n+\t\t /*\n+\t\t  * Application uses rte_eth_rxq_conf offloads API\n+\t\t  * but PMD not supports it.\n+\t\t  */\n+\t\tRTE_PMD_DEBUG_TRACE(\n+\t\t\t\"port %d not supports rte_eth_rxq_conf offloads API\\n\",\n+\t\t\tport_id);\n+\t\treturn -ENOTSUP;\n+\t}\n+\n \t/* Copy the dev_conf parameter into the dev structure */\n \tmemcpy(&dev->data->dev_conf, dev_conf, sizeof(dev->data->dev_conf));\n \ndiff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h\nindex c40db4ee0..90934418d 100644\n--- a/lib/librte_ether/rte_ethdev.h\n+++ b/lib/librte_ether/rte_ethdev.h\n@@ -357,7 +357,14 @@ struct rte_eth_rxmode {\n \t\tjumbo_frame      : 1, /**< Jumbo Frame Receipt enable. */\n \t\thw_strip_crc     : 1, /**< Enable CRC stripping by hardware. */\n \t\tenable_scatter   : 1, /**< Enable scatter packets rx handler */\n-\t\tenable_lro       : 1; /**< Enable LRO */\n+\t\tenable_lro       : 1, /**< Enable LRO */\n+\t\tignore_offloads\t : 1;\n+\t\t/**\n+\t\t * When set the rxmode offloads should be ignored,\n+\t\t * instead the Rx offloads will be set on rte_eth_rxq_conf.\n+\t\t * This bit is temporary till rxmode Rx offloads API will\n+\t\t * be deprecated.\n+\t\t */\n };\n \n /**\n@@ -691,6 +698,12 @@ struct rte_eth_rxq_conf {\n \tuint16_t rx_free_thresh; /**< Drives the freeing of RX descriptors. */\n \tuint8_t rx_drop_en; /**< Drop packets if no descriptors are available. */\n \tuint8_t rx_deferred_start; /**< Do not start queue with rte_eth_dev_start(). */\n+\tuint64_t offloads;\n+\t/**\n+\t * Enable Rx offloads using DEV_RX_OFFLOAD_* flags.\n+\t * Supported only for devices which advertize the\n+\t * RTE_ETH_DEV_RXQ_OFFLOAD capability.\n+\t */\n };\n \n #define ETH_TXQ_FLAGS_NOMULTSEGS 0x0001 /**< nb_segs=1 for all mbufs */\n@@ -907,6 +920,18 @@ struct rte_eth_conf {\n #define DEV_RX_OFFLOAD_QINQ_STRIP  0x00000020\n #define DEV_RX_OFFLOAD_OUTER_IPV4_CKSUM 0x00000040\n #define DEV_RX_OFFLOAD_MACSEC_STRIP     0x00000080\n+#define DEV_RX_OFFLOAD_HEADER_SPLIT\t0x00000100\n+#define DEV_RX_OFFLOAD_VLAN_FILTER\t0x00000200\n+#define DEV_RX_OFFLOAD_VLAN_EXTEND\t0x00000400\n+#define DEV_RX_OFFLOAD_JUMBO_FRAME\t0x00000800\n+#define DEV_RX_OFFLOAD_CRC_STRIP\t0x00001000\n+#define DEV_RX_OFFLOAD_SCATTER\t\t0x00002000\n+#define DEV_RX_OFFLOAD_CHECKSUM (DEV_RX_OFFLOAD_IPV4_CKSUM | \\\n+\t\t\t\t DEV_RX_OFFLOAD_UDP_CKSUM | \\\n+\t\t\t\t DEV_RX_OFFLOAD_TCP_CKSUM)\n+#define DEV_RX_OFFLOAD_VLAN (DEV_RX_OFFLOAD_VLAN_STRIP | \\\n+\t\t\t     DEV_RX_OFFLOAD_VLAN_FILTER | \\\n+\t\t\t     DEV_RX_OFFLOAD_VLAN_EXTEND)\n \n /**\n  * TX offload capabilities of a device.\n@@ -1723,6 +1748,8 @@ struct rte_eth_dev_data {\n #define RTE_ETH_DEV_BONDED_SLAVE 0x0004\n /** Device supports device removal interrupt */\n #define RTE_ETH_DEV_INTR_RMV     0x0008\n+/** Device supports the rte_eth_rxq_conf offloads API */\n+#define RTE_ETH_DEV_RXQ_OFFLOAD 0x0010\n \n /**\n  * @internal\n@@ -1872,6 +1899,9 @@ uint32_t rte_eth_speed_bitflag(uint32_t speed, int duplex);\n  *        each statically configurable offload hardware feature provided by\n  *        Ethernet devices, such as IP checksum or VLAN tag stripping for\n  *        example.\n+ *        This offloads API is obsoleted and will be deprecated. Applications\n+ *        should set the ignore_offloads bit on *rxmode* structure and use\n+ *        the offloads field on *rte_eth_rxq_conf* structure.\n  *     - the Receive Side Scaling (RSS) configuration when using multiple RX\n  *         queues per port.\n  *\n@@ -1925,6 +1955,8 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);\n  *   The *rx_conf* structure contains an *rx_thresh* structure with the values\n  *   of the Prefetch, Host, and Write-Back threshold registers of the receive\n  *   ring.\n+ *   In addition it contains the hardware offloads features to activate using\n+ *   the DEV_RX_OFFLOAD_* flags.\n  * @param mb_pool\n  *   The pointer to the memory pool from which to allocate *rte_mbuf* network\n  *   memory buffers to populate each descriptor of the receive ring.\n@@ -1936,6 +1968,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);\n  *   - -ENOMEM: Unable to allocate the receive ring descriptors or to\n  *      allocate network memory buffers from the memory pool when\n  *      initializing receive descriptors.\n+ *   - -ENOTSUP: Device not support the queue configuration.\n  */\n int rte_eth_rx_queue_setup(uint8_t port_id, uint16_t rx_queue_id,\n \t\tuint16_t nb_rx_desc, unsigned int socket_id,\n",
    "prefixes": [
        "dpdk-dev",
        "2/4"
    ]
}