Show a cover letter.

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

{
    "id": 103520,
    "url": "https://patches.dpdk.org/api/covers/103520/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/cover/20211102170135.959380-1-dkozlyuk@nvidia.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": "<20211102170135.959380-1-dkozlyuk@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211102170135.959380-1-dkozlyuk@nvidia.com",
    "date": "2021-11-02T17:01:29",
    "name": "[v6,0/6] Flow entites behavior on port restart",
    "submitter": {
        "id": 2367,
        "url": "https://patches.dpdk.org/api/people/2367/?format=api",
        "name": "Dmitry Kozlyuk",
        "email": "dkozlyuk@oss.nvidia.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/cover/20211102170135.959380-1-dkozlyuk@nvidia.com/mbox/",
    "series": [
        {
            "id": 20232,
            "url": "https://patches.dpdk.org/api/series/20232/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=20232",
            "date": "2021-11-02T17:01:29",
            "name": "Flow entites behavior on port restart",
            "version": 6,
            "mbox": "https://patches.dpdk.org/series/20232/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/covers/103520/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 301C5A0C4E;\n\tTue,  2 Nov 2021 18:01:55 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id E900340A4B;\n\tTue,  2 Nov 2021 18:01:54 +0100 (CET)",
            "from AZHDRRW-EX02.NVIDIA.COM (azhdrrw-ex02.nvidia.com\n [20.64.145.131]) by mails.dpdk.org (Postfix) with ESMTP id DFE4F40689\n for <dev@dpdk.org>; Tue,  2 Nov 2021 18:01:52 +0100 (CET)",
            "from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.173)\n by mxs.oss.nvidia.com (10.13.234.37) with Microsoft SMTP Server\n (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.2.858.15; Tue, 2 Nov 2021 10:01:51 -0700",
            "from BN9PR03CA0556.namprd03.prod.outlook.com (2603:10b6:408:138::21)\n by DM5PR12MB1676.namprd12.prod.outlook.com (2603:10b6:4:8::22) with\n Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.4649.17; Tue, 2 Nov 2021 17:01:50 +0000",
            "from BN8NAM11FT043.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:138:cafe::e9) by BN9PR03CA0556.outlook.office365.com\n (2603:10b6:408:138::21) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15 via Frontend\n Transport; Tue, 2 Nov 2021 17:01:50 +0000",
            "from mail.nvidia.com (216.228.112.34) by\n BN8NAM11FT043.mail.protection.outlook.com (10.13.177.218) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4649.14 via Frontend Transport; Tue, 2 Nov 2021 17:01:50 +0000",
            "from nvidia.com (172.20.187.5) by HQMAIL107.nvidia.com\n (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Tue, 2 Nov\n 2021 17:01:48 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=Fo3TF8GTjMh7f0ASrzSH6/1kYwuPyeU7DNAoBwqhHMXxqBrqkFxi+pMemynb3+SWYhfq78CWbU2rB772T5vFwdFi/y+j6IG4/g/b1duRXUhhPmS0BKOlj6+kXSiTkImsI5g9XaOnTMYe4NHGR5tzvTzIFpVDzTJ0XnyaSr3LfmYj+h50lt8kvbFEabjJeh+dCQOWYnwtmxW8OMC3URgt53lOGAfL32Ai/XvTHvoLW3gjd9ReVsI/dLVI6Dw252PsntwNcaSjTRDw0BrDTM3uKQm1laU0hvW/xI190tN8mloExKcUx/ogtExZ27YcUMOpM6Zaszfm/GYAEb8hZLAWgw==",
        "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=V2jnm3soar0m7IucnYt0x9I5njicDz8MN+TLQtctry8=;\n b=hTPuFV19+6nzUV71AYmod6ssHp0BP2pupxvpQe8gONicfhQ/RLJ8JvCkKFvqsxJfIcBsNDe2mHQxar1gu/AXuKlG6BpnTH2AyqOBcVZTwAXu8+b0so6/bM9+mSTdffoUfXqgK+y8Up3nqfOiJO+ZOP98N+KQw7hHxRSHSImO+yJgo+ML+Q0iHPAuY5H+RSzNPWNUBTf8zpkNrl9ayGop9KqsWMxWJXcaEUCLtQ/1s3txYAeZ68asFpMhyunA0wwGhc7aJM+zqVZdCtZ3dOsAFP+9LTsOyRgUuChLCVucRfLzLlcv6npEuD1x6A++6uqiwPVUO7R/qsi8CS4q/3+h7A==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=quarantine sp=quarantine pct=100) action=none\n header.from=nvidia.com; dkim=none (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=V2jnm3soar0m7IucnYt0x9I5njicDz8MN+TLQtctry8=;\n b=MIyBorsK5Uedn6P4fMNyULiWEfnIwocxfyDDpQ1saYEMdqInpwKDR2DcH5kaSDYNxMCSYNNi+O52R8OD/HqwFwDtm5UsTVR7wG4KWsmhLfxEB+nPj1gN0uOkJuFd8VJUJhHc2u8zmgp+LnrbKnIyUCZpTBFDWOd+/jkKI8kE1fAu9+5yoqvTar2KtrkfItZil8/eosTJu3bkZ8RfVLFr8Nb/HwMTUZkBtncCrFPSA+svN6ZccbNVFmEvYQNUuiAyhn0QGyinN5/4Db7Z0hnJNcKr2HB0H+p0bdFhCtd1vwEEmEkOUoJH7ADifVrpIaLZnw3TzJWPxaD5iIYhkHz3/w==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.112.34)\n smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed)\n header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.112.34 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.112.34; helo=mail.nvidia.com;",
        "From": "Dmitry Kozlyuk <dkozlyuk@oss.nvidia.com>",
        "To": "<dev@dpdk.org>",
        "Date": "Tue, 2 Nov 2021 19:01:29 +0200",
        "Message-ID": "<20211102170135.959380-1-dkozlyuk@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20211102135415.944050-1-dkozlyuk@nvidia.com>",
        "References": "<20211102135415.944050-1-dkozlyuk@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[172.20.187.5]",
        "X-ClientProxiedBy": "HQMAIL105.nvidia.com (172.20.187.12) To\n HQMAIL107.nvidia.com (172.20.187.13)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "69bf7aac-a520-4dff-8f56-08d99e22767e",
        "X-MS-TrafficTypeDiagnostic": "DM5PR12MB1676:",
        "X-Microsoft-Antispam-PRVS": "\n <DM5PR12MB16764FB82364B2A9D7F145EBB98B9@DM5PR12MB1676.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:10000;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n l/FJ3Ffb/UfiUvlCf8ieEjkSXeK1bwjb77FYesg2nBHroyT39IXaYA4MidfSogvkkX7iQ8Vh/AtPyNiA0IB89AkZtfGt5DFgcALr0uXeH6bvQ+ZqZv3w79zQknnHA5+crLHjqyJdQKOjyy+CFQG6aphRyXxuZdCs8BzhFW6yh3Q/QVqeERjI95tVZpMuk0RKf/mtILSk4cgUxOR+CbRJLv54I8Cvb1Ou8IifmzmZacCzlOHabyd6FdA1avyaxtNRZNrCeGfWgE/aykwZ9pVBIDMpaTwaWHcG5WVIKQ24dE8IKnA96cL+unKldWS+vYvpQqhb/MXu2yvjOyROnaoq/j6I/EL7Nj/gGf2II/c5c6qFGECtqoz0B9+N4orkbeURe+OSVBksoRhUr1zc1h9XZAf+fOqve58gM68MzfMdWpu4S740GGv5y7EpvrvTnKj4bnsQJ4GSVAKdp6yN96XGgF7uqAEC4/wWD5YvIeG520+UCg72mg9u0WJuOyCTNKmDWSQe4zf+S/aNMitilyibh7uyv8YXW7Sg8AC/dHQXLRmn4Ugeh/BoExB55Zh8tB5M7pFt1wKkCdJqm6r9JDxXY+ycPSJ6ZogECrg3KBH0IfiSQgrCwae/Ml9mdztTIX+wH/bIL96C8t4L7eK0rUOeJ54qhg//pk1O7cEbA6/tp6NWCqfLcyG7Ddhns2Y0xcf5F2ObpeolgBJVaYB1dy6ca13zzpV54ZQIYtt2yPYfwhVNs9Yoda5WhIVkAIhId2TPJayUSjQu+3OPj7IOGSVY6S0CGz+pbed40X2zGMeZnlnphazqxC2qWCkw+MISxkajml9I5U4QnIwjJwI/zhXHmA==",
        "X-Forefront-Antispam-Report": "CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE;\n SFS:(4636009)(46966006)(36840700001)(966005)(2616005)(26005)(426003)(83380400001)(8936002)(336012)(70586007)(5660300002)(6916009)(16526019)(82310400003)(70206006)(86362001)(6666004)(356005)(7696005)(2906002)(6286002)(186003)(8676002)(55016002)(1076003)(508600001)(7636003)(36860700001)(47076005)(36756003)(316002);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "02 Nov 2021 17:01:50.1479 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 69bf7aac-a520-4dff-8f56-08d99e22767e",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT043.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM5PR12MB1676",
        "Subject": "[dpdk-dev] [PATCH v6 0/6] Flow entites behavior on port restart",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "It is unspecified whether flow rules and indirect actions are kept\nwhen a port is stopped, possibly reconfigured, and started again.\nVendors approach the topic differently, e.g. mlx5 and i40e PMD\ndisagree in whether flow rules can be kept, and mlx5 PMD would keep\nindirect actions. In the end, applications are greatly affected\nby whatever contract there is and need to know it.\n\nApplications may wish to restart the port to reconfigure it,\ne.g. switch offloads or even modify queues.\nKeeping rte_flow entities enables application improvements:\n1. Since keeping the rules across restart comes with the ability\n   to create rules before the device is started. This allows\n   to have all the rules created at the moment of start,\n   so that there is no time frame when traffic is coming already,\n   but the rules are not yet created (restored).\n2. When a rule or an indirect action has some associated state,\n   such as a counter, application saves the need to keep\n   additional state in order to cope with information loss\n   if such an entity would be destroyed.\n\nIt is proposed to advertise capabilities of keeping flow rules\nand indirect actions (as a special case of shared object)\nusing a combination of ethdev info and rte_flow calls.\nThen a bug is fixed in mlx5 PMD that prevented indirect RSS action\nfrom being kept, and the driver starts advertising the new capability.\n\nPrior discussions:\n1) http://inbox.dpdk.org/dev/20210727073121.895620-1-dkozlyuk@nvidia.com/\n2) http://inbox.dpdk.org/dev/20210901085516.3647814-1-dkozlyuk@nvidia.com/\n\nv6:\n     Rebase on next-net commit 87f4496c74e6 and fix conflicts.\nv5:\n     1. Fix rebase conflicts.\n     2. Add warnings about experimental status (Andrew).\nv4:  1. Fix rebase conflicts (CI).\n     2. State rule behavior when a port is not started or stopped (Ori).\n     3. Improve wording on rule features, add examples (Andrew).\n     4. State that rules/actions that cannot be kept while other can be\n        must be destroyed by the application (Andrew/Ori).\n     5. Add rationale to the cover letter (Andrew).\n\n\nDmitry Kozlyuk (6):\n  ethdev: add capability to keep flow rules on restart\n  ethdev: add capability to keep shared objects on restart\n  net: advertise no support for keeping flow rules\n  net/mlx5: discover max flow priority using DevX\n  net/mlx5: create drop queue using DevX\n  net/mlx5: preserve indirect actions on restart\n\n doc/guides/prog_guide/rte_flow.rst      |  67 ++++++\n drivers/net/bnxt/bnxt_ethdev.c          |   1 +\n drivers/net/bnxt/bnxt_reps.c            |   1 +\n drivers/net/cnxk/cnxk_ethdev_ops.c      |   1 +\n drivers/net/cxgbe/cxgbe_ethdev.c        |   2 +\n drivers/net/dpaa2/dpaa2_ethdev.c        |   1 +\n drivers/net/e1000/em_ethdev.c           |   2 +\n drivers/net/e1000/igb_ethdev.c          |   1 +\n drivers/net/enic/enic_ethdev.c          |   1 +\n drivers/net/failsafe/failsafe_ops.c     |   1 +\n drivers/net/hinic/hinic_pmd_ethdev.c    |   2 +\n drivers/net/hns3/hns3_ethdev.c          |   1 +\n drivers/net/hns3/hns3_ethdev_vf.c       |   1 +\n drivers/net/i40e/i40e_ethdev.c          |   1 +\n drivers/net/i40e/i40e_vf_representor.c  |   2 +\n drivers/net/iavf/iavf_ethdev.c          |   1 +\n drivers/net/ice/ice_dcf_ethdev.c        |   1 +\n drivers/net/igc/igc_ethdev.c            |   1 +\n drivers/net/ipn3ke/ipn3ke_representor.c |   1 +\n drivers/net/mlx5/linux/mlx5_os.c        |   4 -\n drivers/net/mlx5/mlx5_devx.c            | 211 ++++++++++++++---\n drivers/net/mlx5/mlx5_ethdev.c          |   1 +\n drivers/net/mlx5/mlx5_flow.c            | 292 ++++++++++++++++++++++--\n drivers/net/mlx5/mlx5_flow.h            |   6 +\n drivers/net/mlx5/mlx5_flow_dv.c         | 103 +++++++++\n drivers/net/mlx5/mlx5_flow_verbs.c      |  74 +-----\n drivers/net/mlx5/mlx5_rx.h              |   4 +\n drivers/net/mlx5/mlx5_rxq.c             |  99 +++++++-\n drivers/net/mlx5/mlx5_trigger.c         |  10 +\n drivers/net/mvpp2/mrvl_ethdev.c         |   2 +\n drivers/net/octeontx2/otx2_ethdev_ops.c |   1 +\n drivers/net/qede/qede_ethdev.c          |   1 +\n drivers/net/sfc/sfc_ethdev.c            |   1 +\n drivers/net/softnic/rte_eth_softnic.c   |   1 +\n drivers/net/tap/rte_eth_tap.c           |   1 +\n drivers/net/txgbe/txgbe_ethdev.c        |   1 +\n drivers/net/txgbe/txgbe_ethdev_vf.c     |   1 +\n lib/ethdev/rte_ethdev.h                 |  10 +\n lib/ethdev/rte_flow.h                   |   1 +\n 39 files changed, 781 insertions(+), 132 deletions(-)"
}