Show a cover letter.

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

{
    "id": 118807,
    "url": "http://patchwork.dpdk.org/api/covers/118807/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20221020155749.16643-1-valex@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20221020155749.16643-1-valex@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20221020155749.16643-1-valex@nvidia.com",
    "date": "2022-10-20T15:57:30",
    "name": "[v6,00/18] net/mlx5: Add HW steering low level support",
    "submitter": {
        "id": 2858,
        "url": "http://patchwork.dpdk.org/api/people/2858/?format=api",
        "name": "Alex Vesker",
        "email": "valex@nvidia.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20221020155749.16643-1-valex@nvidia.com/mbox/",
    "series": [
        {
            "id": 25345,
            "url": "http://patchwork.dpdk.org/api/series/25345/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=25345",
            "date": "2022-10-20T15:57:30",
            "name": "net/mlx5: Add HW steering low level support",
            "version": 6,
            "mbox": "http://patchwork.dpdk.org/series/25345/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/118807/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 2D7A4A0553;\n\tThu, 20 Oct 2022 17:59:00 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C29C6410EE;\n\tThu, 20 Oct 2022 17:58:59 +0200 (CEST)",
            "from NAM02-DM3-obe.outbound.protection.outlook.com\n (mail-dm3nam02on2044.outbound.protection.outlook.com [40.107.95.44])\n by mails.dpdk.org (Postfix) with ESMTP id 29C6D40694\n for <dev@dpdk.org>; Thu, 20 Oct 2022 17:58:58 +0200 (CEST)",
            "from BN9P223CA0028.NAMP223.PROD.OUTLOOK.COM (2603:10b6:408:10b::33)\n by CH2PR12MB4922.namprd12.prod.outlook.com (2603:10b6:610:65::22)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.30; Thu, 20 Oct\n 2022 15:58:56 +0000",
            "from BN8NAM11FT105.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:10b:cafe::25) by BN9P223CA0028.outlook.office365.com\n (2603:10b6:408:10b::33) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.35 via Frontend\n Transport; Thu, 20 Oct 2022 15:58:56 +0000",
            "from mail.nvidia.com (216.228.117.161) by\n BN8NAM11FT105.mail.protection.outlook.com (10.13.176.183) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.5746.16 via Frontend Transport; Thu, 20 Oct 2022 15:58:55 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Thu, 20 Oct\n 2022 08:58:45 -0700",
            "from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Thu, 20 Oct\n 2022 08:58:43 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=X6/9t4jEEb+lKKRew8ga7ACgNZsWovhFHuKVLH8YQ2A8cXV4TvDl4Khof/Jw9mGBz5dfSHGib6ka0LbR2ZAK/N/X4bolhgWjmmnWMX6sXAgKCf07pvNpnEnJTDkOtLoPvVdr4M3O4pZfImPvGbk1jXqkjf2F71O4mMFUm3wa40Tq38Ct18XU2CICVNzYUWu7dtxYvribC96aYVgGeMgxNJ+6LQ6A4QBFZsDeMyfUGzt4BGe+2l1i5k4VKhMIDN9RYq/z6cz32BYmHOe5Dy8zAs36RoKcmU3rtGhS/L5HBBeuYf6LtndwYwB1O72fRKaYZkVEcU1I8/KWN87PEK6BIQ==",
        "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=HLddx76+656L/zmN9fwH1V+jgDddLC4qfelADJkc0GY=;\n b=I0YWcg+cj186H5pTg0T1N1uDmp2pyzOHqrpvf4F1lXPZnoS6l5ebDSXXwfYu8hXhSDrKo1lANJcSXeKkhJNP1dqPnPkkEyMBcBi4FMDvi/R4muN55ipnJdkOVoq3rpK/4CURIGp4SeYW0bzf2V2wR4tizlggTIOaixDDdkwyOGv8+6nb8eDjEtjlAijDG9Q7yeMqIJpN5bQiVoFFyxtCtAXC0/KPiL16aMtAd/HCJ4eiWpQ8yQHtDbKR1OxLJ+O84yBDcyWzWouK51yu50aQ3/Zp4Dc3Kuu/XbI3uzfX37tIP7oUMHZU0jq+pmhCezZwgyDtw6al7Ps0543VXunLEg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=none (sender ip is\n 216.228.117.161) smtp.rcpttodomain=monjalon.net smtp.mailfrom=nvidia.com;\n dmarc=fail (p=reject sp=reject pct=100) action=oreject\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=HLddx76+656L/zmN9fwH1V+jgDddLC4qfelADJkc0GY=;\n b=QlCd+DxtB5KBdAY+5HLHAYC8Gg5pHOr3vAgS6vQpLKynhHhntZzX9xjOSm1qRyo8hwi+lBiAI2qAx0Q3vHQVm5I6wZaeBP6UJvyW7R0CVpNYkCgdxOLpZh3J523wCW2RLerJmML/lCV/CTB8gJoxOOpVZShJPvG09eKKhuWQ4cZ7CCilEI0RcPd9VxCUVSH++yrPhfFWUBu76Ttm/6Y7mpDiNM4Hs+DqIAGjhylT6wcG7uOVlc4VMCF7OzlkiCiJJ82dXBae7uCR0YtC4jkD9PFOhL/fpCzhm9IPFE5mgRvjk3CC49qmomVcY+KfTqLMlf2arWY+RHWiRn23C8F0cw==",
        "X-MS-Exchange-Authentication-Results": "spf=none (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=fail action=oreject header.from=nvidia.com;",
        "Received-SPF": "None (protection.outlook.com: nvidia.com does not designate\n permitted sender hosts)",
        "From": "Alex Vesker <valex@nvidia.com>",
        "To": "<valex@nvidia.com>, <viacheslavo@nvidia.com>, <thomas@monjalon.net>,\n <suanmingm@nvidia.com>",
        "CC": "<dev@dpdk.org>, <orika@nvidia.com>",
        "Subject": "[v6 00/18] net/mlx5: Add HW steering low level support",
        "Date": "Thu, 20 Oct 2022 18:57:30 +0300",
        "Message-ID": "<20221020155749.16643-1-valex@nvidia.com>",
        "X-Mailer": "git-send-email 2.18.1",
        "In-Reply-To": "<20220922190345.394-1-valex@nvidia.com>",
        "References": "<20220922190345.394-1-valex@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-TrafficTypeDiagnostic": "BN8NAM11FT105:EE_|CH2PR12MB4922:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "5b541cdc-db27-44bd-aa54-08dab2b3fe30",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n Whel+uBZsgdI/aDvl/ncPa23nSvJ7MYSErvEixsORcGP/NiEY/bMlZHJxJfjf+I5MmpKDiynzUAapzOloBhaNoc21nJ/bDbbIb50OiphUgKJcoLO3J3RM1Ie0x9/qSAcRDcuNtzAmikNpA29r9MSayyQ7lCRjNIVG5vksqj/bJLlWEHYapLVTMecCmYiGpa+rJTuEBrIX5i4wJta67EWEsb8dLL6AcJ/LhBZKmAkPFb41N38IQM2t6W1rsSPhJRmHh6CGtvFqoQmmy4UdHkBuih/yIhx2csWfbc3vjAyrDItJhy6i79oKy4oT7R3yc11M7YNxdTu8KzYJl2XOUYc7VRTSOhVq/TtBlegfCwIJKpdNAdb1wldiH5ysrHHxFzRqPhgtiYFm278DPb5HKoQWtol0WUIbVibp749JM5QV8zvvFlrUxFd3sbUnubdykvcXH6MUvSl9AM6zNXJG2yQ/FLS57MejJXXtiqn5ISmbLyzTaL9MkFepOxE1DKsPrT26n8ThNItlYKCsfAlS4d0EXhIs2akov1c0O7hleZOHgtjujKrw/OV+p22hoS9C9mnjC+5wu1xyU5zIepDQcVVreONfpNKc9TGmlZ1kCxguXl8M4FNkMRkQWD/V1gvnys6x1oA6fBoLswrXoGmzk+ptHJ9jBAEBWOfOe0aNnIbimizWcSun/hor4MTOQWDwqDLHdYsouvffCFJH0NhAe5ItnaN8lpjQu5gk8t9hsc4HHEINp9oCKW2Xi3tDR/1DcCXFuSCA1L7U1D4AaJTZy4pkg==",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.161; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge2.nvidia.com; CAT:NONE;\n SFS:(13230022)(4636009)(136003)(39860400002)(346002)(376002)(396003)(451199015)(46966006)(40470700004)(36840700001)(36756003)(336012)(36860700001)(86362001)(82740400003)(5660300002)(1076003)(426003)(47076005)(26005)(16526019)(2906002)(2616005)(186003)(7636003)(83380400001)(356005)(41300700001)(316002)(4326008)(7696005)(54906003)(6666004)(70586007)(478600001)(6636002)(70206006)(40480700001)(82310400005)(55016003)(8936002)(110136005)(8676002)(6286002)(107886003)(40460700003);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "20 Oct 2022 15:58:55.7338 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 5b541cdc-db27-44bd-aa54-08dab2b3fe30",
        "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.117.161];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT105.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "CH2PR12MB4922",
        "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": "Mellanox ConnetX devices supports packet matching, packet modification and\nredirection. These functionalities are also referred to as flow-steering.\nTo configure a steering rule, the rule is written to the device owned\nmemory, this memory is accessed and cached by the device when processing\na packet.\n\nThe highlight of this patchset is supporting HW Steering (HWS) which\nis the new technology supported in new ConnectX devices, HWS allows\nconfiguring steering rules directly to the HW using special HW queues\nwith minimal CPU effort.\n\nThis patchset is the internal low layer implementation for HWS used by\nthe mlx5 PMD. The mlx5dr (direct rule) is layer that bridges between the\nPMD and the HW by configuring the HW offloads based on the PMD logic\n\nv2:\nFix check patch and cosmetic changes\n\nv3:\n-Fix unsupported items\n-Fix compilation with mlx5dv dependency\n\nv4:\n-Fix compile on Windows\n\nv5:\n-Fix compile on old rdma-core or no rdma core\n\nv6:\n-Fix meson style and improve configure\n-Checkpatch and compilation fixes\n-Fix action number issue\n\nAlex Vesker (8):\n  net/mlx5: Add additional glue functions for HWS\n  net/mlx5/hws: Add HWS send layer\n  net/mlx5/hws: Add HWS definer layer\n  net/mlx5/hws: Add HWS context object\n  net/mlx5/hws: Add HWS table object\n  net/mlx5/hws: Add HWS matcher object\n  net/mlx5/hws: Add HWS rule object\n  net/mlx5/hws: Enable HWS\n\nBing Zhao (2):\n  common/mlx5: query set capability of registers\n  net/mlx5: provide the available tag registers\n\nDariusz Sosnowski (1):\n  net/mlx5: add port to metadata conversion\n\nErez Shitrit (3):\n  net/mlx5/hws: Add HWS command layer\n  net/mlx5/hws: Add HWS pool and buddy\n  net/mlx5/hws: Add HWS action object\n\nHamdan Igbaria (1):\n  net/mlx5/hws: Add HWS debug layer\n\nSuanming Mou (3):\n  net/mlx5: split flow item translation\n  net/mlx5: split flow item matcher and value translation\n  net/mlx5: add hardware steering item translation function\n\n doc/guides/nics/features/default.ini         |    1 +\n doc/guides/nics/features/mlx5.ini            |    1 +\n doc/guides/nics/mlx5.rst                     |    5 +-\n doc/guides/rel_notes/release_22_11.rst       |    4 +\n drivers/common/mlx5/linux/meson.build        |   11 +-\n drivers/common/mlx5/linux/mlx5_glue.c        |  121 +-\n drivers/common/mlx5/linux/mlx5_glue.h        |   17 +\n drivers/common/mlx5/mlx5_devx_cmds.c         |   30 +\n drivers/common/mlx5/mlx5_devx_cmds.h         |    2 +\n drivers/common/mlx5/mlx5_prm.h               |  652 ++++-\n drivers/net/mlx5/hws/meson.build             |   18 +\n drivers/net/mlx5/{mlx5_dr.h => hws/mlx5dr.h} |  201 +-\n drivers/net/mlx5/hws/mlx5dr_action.c         | 2237 +++++++++++++++\n drivers/net/mlx5/hws/mlx5dr_action.h         |  253 ++\n drivers/net/mlx5/hws/mlx5dr_buddy.c          |  200 ++\n drivers/net/mlx5/hws/mlx5dr_buddy.h          |   22 +\n drivers/net/mlx5/hws/mlx5dr_cmd.c            |  948 +++++++\n drivers/net/mlx5/hws/mlx5dr_cmd.h            |  230 ++\n drivers/net/mlx5/hws/mlx5dr_context.c        |  223 ++\n drivers/net/mlx5/hws/mlx5dr_context.h        |   40 +\n drivers/net/mlx5/hws/mlx5dr_debug.c          |  462 ++++\n drivers/net/mlx5/hws/mlx5dr_debug.h          |   28 +\n drivers/net/mlx5/hws/mlx5dr_definer.c        | 1968 ++++++++++++++\n drivers/net/mlx5/hws/mlx5dr_definer.h        |  585 ++++\n drivers/net/mlx5/hws/mlx5dr_internal.h       |   93 +\n drivers/net/mlx5/hws/mlx5dr_matcher.c        |  919 +++++++\n drivers/net/mlx5/hws/mlx5dr_matcher.h        |   76 +\n drivers/net/mlx5/hws/mlx5dr_pat_arg.c        |  511 ++++\n drivers/net/mlx5/hws/mlx5dr_pat_arg.h        |   83 +\n drivers/net/mlx5/hws/mlx5dr_pool.c           |  672 +++++\n drivers/net/mlx5/hws/mlx5dr_pool.h           |  152 ++\n drivers/net/mlx5/hws/mlx5dr_rule.c           |  528 ++++\n drivers/net/mlx5/hws/mlx5dr_rule.h           |   50 +\n drivers/net/mlx5/hws/mlx5dr_send.c           |  844 ++++++\n drivers/net/mlx5/hws/mlx5dr_send.h           |  275 ++\n drivers/net/mlx5/hws/mlx5dr_table.c          |  248 ++\n drivers/net/mlx5/hws/mlx5dr_table.h          |   44 +\n drivers/net/mlx5/linux/mlx5_os.c             |   12 +-\n drivers/net/mlx5/meson.build                 |    7 +-\n drivers/net/mlx5/mlx5.c                      |    9 +-\n drivers/net/mlx5/mlx5.h                      |    8 +-\n drivers/net/mlx5/mlx5_defs.h                 |    2 +\n drivers/net/mlx5/mlx5_devx.c                 |    2 +-\n drivers/net/mlx5/mlx5_dr.c                   |  383 ---\n drivers/net/mlx5/mlx5_flow.c                 |   29 +-\n drivers/net/mlx5/mlx5_flow.h                 |  174 +-\n drivers/net/mlx5/mlx5_flow_dv.c              | 2567 +++++++++---------\n drivers/net/mlx5/mlx5_flow_hw.c              |  115 +-\n 48 files changed, 14368 insertions(+), 1694 deletions(-)\n create mode 100644 drivers/net/mlx5/hws/meson.build\n rename drivers/net/mlx5/{mlx5_dr.h => hws/mlx5dr.h} (67%)\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_action.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_action.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_buddy.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_buddy.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_cmd.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_cmd.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_context.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_context.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_debug.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_debug.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_definer.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_definer.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_internal.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_matcher.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_matcher.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_pat_arg.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_pat_arg.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_pool.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_pool.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_rule.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_rule.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_send.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_send.h\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.c\n create mode 100644 drivers/net/mlx5/hws/mlx5dr_table.h\n delete mode 100644 drivers/net/mlx5/mlx5_dr.c"
}