Show a cover letter.

GET /api/covers/107857/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 107857,
    "url": "http://patches.dpdk.org/api/covers/107857/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/cover/20220220034409.2226860-1-akozyrev@nvidia.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": "<20220220034409.2226860-1-akozyrev@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20220220034409.2226860-1-akozyrev@nvidia.com",
    "date": "2022-02-20T03:43:58",
    "name": "[v8,00/10] ethdev: datapath-focused flow rules management",
    "submitter": {
        "id": 1873,
        "url": "http://patches.dpdk.org/api/people/1873/?format=api",
        "name": "Alexander Kozyrev",
        "email": "akozyrev@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/cover/20220220034409.2226860-1-akozyrev@nvidia.com/mbox/",
    "series": [
        {
            "id": 21750,
            "url": "http://patches.dpdk.org/api/series/21750/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=21750",
            "date": "2022-02-20T03:43:58",
            "name": "ethdev: datapath-focused flow rules management",
            "version": 8,
            "mbox": "http://patches.dpdk.org/series/21750/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/covers/107857/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 0E19DA00C2;\n\tSun, 20 Feb 2022 04:44:36 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D0D334068C;\n\tSun, 20 Feb 2022 04:44:35 +0100 (CET)",
            "from NAM12-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam12on2070.outbound.protection.outlook.com [40.107.243.70])\n by mails.dpdk.org (Postfix) with ESMTP id 6938640395\n for <dev@dpdk.org>; Sun, 20 Feb 2022 04:44:34 +0100 (CET)",
            "from DM4PR12MB5842.namprd12.prod.outlook.com (2603:10b6:8:65::13) by\n DM6PR12MB3658.namprd12.prod.outlook.com (2603:10b6:5:1c8::24) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.4995.22; Sun, 20 Feb 2022 03:44:32 +0000",
            "from BN6PR14CA0041.namprd14.prod.outlook.com (2603:10b6:404:13f::27)\n by DM4PR12MB5842.namprd12.prod.outlook.com (2603:10b6:8:65::13) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.24; Sun, 20 Feb\n 2022 03:44:31 +0000",
            "from BN8NAM11FT011.eop-nam11.prod.protection.outlook.com\n (2603:10b6:404:13f:cafe::87) by BN6PR14CA0041.outlook.office365.com\n (2603:10b6:404:13f::27) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.20 via Frontend\n Transport; Sun, 20 Feb 2022 03:44:31 +0000",
            "from mail.nvidia.com (12.22.5.234) by\n BN8NAM11FT011.mail.protection.outlook.com (10.13.176.140) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4995.15 via Frontend Transport; Sun, 20 Feb 2022 03:44:30 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) by DRHQMAIL101.nvidia.com\n (10.27.9.10) with Microsoft SMTP Server (TLS) id 15.0.1497.18;\n Sun, 20 Feb 2022 03:44:30 +0000",
            "from pegasus01.mtr.labs.mlnx (10.126.230.35) by\n rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.9;\n Sat, 19 Feb 2022 19:44:26 -0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=ST7Piq65kddKsvezqzzkh55fPuxtmrj82b1Vb/eo4Zt+TQ3wVVUS+6k6wUOPHX7whX4+05IsOIh5wh2sgMkhYR7WfT7mXnGsvDF0jvbWRAPDI6pa2zJ7IpU78ZbkoamTWm0eYXiIpp1dzQvYJJQOwXB2XGLBQL1WWhY60A4AKN6plHOwd/Xizi+xqt72beb514+CFzEdZS38iFrPBzQ0fQgZR6+Pn8NH9R1a/lpX+iFKLfX70lHSa82jpQex6UMKRJSeCUd/0PbiFxWx5aggDHJpN43AmcxjaHyUnYoKZdQwZ4GrdUtN0H0kowDZYIjW3azAV93QNrq/Bbe+yxlSXQ==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=dS67Olg9Qx0s9VGGvGPqg/i30/y+tcyNwn3+ZjAEDFw=;\n b=Vf24sX1RkeMbmNZlwfRlY3S99pRztsYm214lc1q/mKrp/ElEn4dFyHjFiYrdf984JW0lgzkjBZnS+WqpMxhsOPMh3O0+zBSYfUGhelrMTfqYRRDSFdXd+f6+/hhmjHNxnIRJBny7ScxX6wkZI/XQmgNH9uGbvp+ts5lpQWSHJ6SbqtkgeujY5ncKt0NT0+xh/XJFKrPqBYf5Qy/EAm8/7BR0z6edj7nJWAB76e+CCUXgOOA3ZIFxwxcVrJ2wszbmQC0V3G7xaNmEJi+e2Jn+/4yoBSJCJN9x4y8kpH7haG/kqlQpMF6o0p7OWZ/dwvYsRx3+e4bZuyb9VPy3X4Fk8Q==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 12.22.5.234) smtp.rcpttodomain=intel.com smtp.mailfrom=nvidia.com; dmarc=pass\n (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none\n (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=dS67Olg9Qx0s9VGGvGPqg/i30/y+tcyNwn3+ZjAEDFw=;\n b=ejrJjnWnZk788b0fND3I5POEZiatcHSEsw0yVcG/6MO3H1d0KFcyNp2ckjY9uRKIQFZ6fjG1ufYumOqEd+Q9AbXPHWNDO00nFepAnCC9naDbO1ninotTaIIN3K7rV96zcHw10VoxPstQQ+VPLcQ8AyxvNg9xBuO1prWkLKT0QIn9WhpW9FVy35vkNrfCB+EM5LGVV4orE7Hn2t4Xf0a9I+AvdEWA0AyuL1G+cv40RpvA4J6a89q4e8qabdtiQfYbbQBqfukG07jxH6XrN8XIZfA57IGEiGh2htZDzMK3k5GsKxL6wj/e/6ghW8KChOAzuv7nj7RnZ1barGqmfvBbtw==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 12.22.5.234)\n smtp.mailfrom=nvidia.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 12.22.5.234 as permitted sender) receiver=protection.outlook.com;\n client-ip=12.22.5.234; helo=mail.nvidia.com;",
        "From": "Alexander Kozyrev <akozyrev@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<orika@nvidia.com>, <thomas@monjalon.net>, <ivan.malov@oktetlabs.ru>,\n <andrew.rybchenko@oktetlabs.ru>, <ferruh.yigit@intel.com>,\n <mohammad.abdul.awal@intel.com>, <qi.z.zhang@intel.com>,\n <jerinj@marvell.com>, <ajit.khaparde@broadcom.com>,\n <bruce.richardson@intel.com>",
        "Subject": "[PATCH v8 00/10] ethdev: datapath-focused flow rules management",
        "Date": "Sun, 20 Feb 2022 05:43:58 +0200",
        "Message-ID": "<20220220034409.2226860-1-akozyrev@nvidia.com>",
        "X-Mailer": "git-send-email 2.18.2",
        "In-Reply-To": "<20220219041144.2145380-1-akozyrev@nvidia.com>",
        "References": "<20220219041144.2145380-1-akozyrev@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.126.230.35]",
        "X-ClientProxiedBy": "rnnvmail202.nvidia.com (10.129.68.7) To\n rnnvmail201.nvidia.com (10.129.68.8)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "0dabe173-1596-49fb-c769-08d9f4234d83",
        "X-MS-TrafficTypeDiagnostic": "DM4PR12MB5842:EE_|DM6PR12MB3658:EE_",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "\n <DM4PR12MB5842761CFF4714D5C8C43D84AF399@DM4PR12MB5842.namprd12.prod.outlook.com>",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n P8cs5408q7KKJ+W3rxUg0xGGchRZqa2uxGquAElCaEn95GH/DKPZQWlWNE9ODqK9ltH0/Q2Ugw3u37nmLht6eRvf59uXz1jmL2a5/KitcORcmtWBRy0SNjhhVoM+51jTpKj44UMj4Fy2dGNqqy4sYpHyom6HnBuxYuCa4FtOVBTuqdtZwHsLyhP2TOR8R9PRPp1eHp9uu3FG7q4PQZAWZAF+u7GJIbcNqjl2y+iCj/B0EMfVTQa01ai23oNrejNnwT/NcPiFvcmD94Zy/6F5lH9lbgvCFMUrXG3UX9D3HZfZ1I6NdjIJadCaDVPsKynbBY3nwRjhfa5ut17FrwwIuzpKOWZfZhdYH8bMh07kPBWZVmwRtNsA8preTGvgRUwbEwGOFSiTz8vFVgQins0w1eIzPA9lv0q7l2z9eOQGpeyP8qK+ue2HHdqreussGvsZD1ZNPw3tw1VHuXJ06mt6A2iWhRP1T2biNRReKWCPLZPoXWF7OgpVzx+2r0gzyEPvWjZcn8/Nr2Mi0qNJX8hmhcRwcvY0lGIToVA6Vve2yjDhd5ahTo340GiXunbcw3zxwsbFadu7cXV+KSF3/EhpTE3wEwz0/D6qwEBK+Ai6MsKO8Hr5FTXEAc3sKsJT+AWdcDQqliswuLJhvhegKSWDnQQYBZAUO5Yqk0P9jActksPUZ7PniOxbDhI1pHzr1KtOJzMjLjbgSeT7F14GPRi31Mlc7mQBy3+QNMyHdIGzvjOEMrimyvR9HAJdJ7IFjfKUWHxy7KbGjR7Bl7K64rAEWkZmRjNoAfbO7ibUlzVH01o=",
        "X-Forefront-Antispam-Report": "CIP:12.22.5.234; CTRY:US; LANG:en; SCL:1; SRV:;\n IPV:CAL; SFV:NSPM; H:mail.nvidia.com; PTR:InfoNoRecords; CAT:NONE;\n SFS:(13230001)(4636009)(40470700004)(46966006)(36840700001)(336012)(426003)(2906002)(16526019)(26005)(1076003)(186003)(5660300002)(47076005)(7416002)(36756003)(82310400004)(6666004)(83380400001)(2616005)(966005)(508600001)(81166007)(356005)(36860700001)(70586007)(70206006)(8936002)(6916009)(316002)(40460700003)(4326008)(8676002)(86362001)(54906003)(36900700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Feb 2022 03:44:30.9275 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 0dabe173-1596-49fb-c769-08d9f4234d83",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[12.22.5.234];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT011.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM6PR12MB3658",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Three major changes to a generic RTE Flow API were implemented in order\nto speed up flow rule insertion/destruction and adapt the API to the\nneeds of a datapath-focused flow rules management applications:\n\n1. Pre-configuration hints.\nApplication may give us some hints on what type of resources are needed.\nIntroduce the configuration routine to prepare all the needed resources\ninside a PMD/HW before any flow rules are created at the init stage.\n\n2. Flow grouping using templates.\nUse the knowledge about which flow rules are to be used in an application\nand prepare item and action templates for them in advance. Group flow rules\nwith common patterns and actions together for better resource management.\n\n3. Queue-based flow management.\nPerform flow rule insertion/destruction asynchronously to spare the datapath\nfrom blocking on RTE Flow API and allow it to continue with packet processing.\nEnqueue flow rules operations and poll for the results later.\n\ntestpmd examples are part of the patch series. PMD changes will follow.\n\nRFC: https://patchwork.dpdk.org/project/dpdk/cover/20211006044835.3936226-1-akozyrev@nvidia.com/\n\nSigned-off-by: Alexander Kozyrev <akozyrev@nvidia.com>\nAcked-by: Ori Kam <orika@nvidia.com>\nAcked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n\n---\nv8: fixed documentation indentation\n\nv7:\n- added sanity checks and device state validation\n- added flow engine state validation\n- added ingress/egress/transfer attibutes to templates\n- moved user_data to a parameter list\n- renamed asynchronous functions from \"_q_\" to \"_async_\"\n- created a separate commit for indirect actions\n\nv6: addressed more review comments\n- fixed typos\n- rewrote code snippets\n- add a way to get queue size\n- renamed port/queue attibutes parameters\n\nv5: changed titles for testpmd commits\n\nv4: \n- removed structures versioning\n- introduced new rte_flow_port_info structure for rte_flow_info_get API\n- renamed rte_flow_table_create to rte_flow_template_table_create\n\nv3: addressed review comments and updated documentation\n- added API to get info about pre-configurable resources\n- renamed rte_flow_item_template to rte_flow_pattern_template\n- renamed drain operation attribute to postpone\n- renamed rte_flow_q_drain to rte_flow_q_push\n- renamed rte_flow_q_dequeue to rte_flow_q_pull\n\nv2: fixed patch series thread\n\nAlexander Kozyrev (11):\n  ethdev: introduce flow engine configuration\n  ethdev: add flow item/action templates\n  ethdev: bring in async queue-based flow rules operations\n  ethdev: bring in async indirect actions operations\n  app/testpmd: add flow engine configuration\n  app/testpmd: add flow template management\n  app/testpmd: add flow table management\n  app/testpmd: add async flow create/destroy operations\n  app/testpmd: add flow queue push operation\n  app/testpmd: add flow queue pull operation\n  app/testpmd: add async indirect actions operations\n\n app/test-pmd/cmdline_flow.c                   | 1726 ++++++++++++++++-\n app/test-pmd/config.c                         |  778 ++++++++\n app/test-pmd/testpmd.h                        |   67 +\n .../prog_guide/img/rte_flow_async_init.svg    |  205 ++\n .../prog_guide/img/rte_flow_async_usage.svg   |  354 ++++\n doc/guides/prog_guide/rte_flow.rst            |  345 ++++\n doc/guides/rel_notes/release_22_03.rst        |   26 +\n doc/guides/testpmd_app_ug/testpmd_funcs.rst   |  383 +++-\n lib/ethdev/ethdev_driver.h                    |    7 +-\n lib/ethdev/rte_flow.c                         |  500 +++++\n lib/ethdev/rte_flow.h                         |  766 ++++++++\n lib/ethdev/rte_flow_driver.h                  |  108 ++\n lib/ethdev/version.map                        |   15 +\n 13 files changed, 5184 insertions(+), 96 deletions(-)\n create mode 100644 doc/guides/prog_guide/img/rte_flow_async_init.svg\n create mode 100644 doc/guides/prog_guide/img/rte_flow_async_usage.svg"
}