get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 121618,
    "url": "https://patches.dpdk.org/api/patches/121618/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230105130304.537205-7-erezsh@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": "<20230105130304.537205-7-erezsh@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230105130304.537205-7-erezsh@nvidia.com",
    "date": "2023-01-05T13:02:59",
    "name": "[v2,06/10] net/mlx5/hws: added command to create alias objects",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "566f20ad5033b28d89a851896e387b7b24e30d9f",
    "submitter": {
        "id": 2911,
        "url": "https://patches.dpdk.org/api/people/2911/?format=api",
        "name": "Erez Shitrit",
        "email": "erezsh@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "https://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230105130304.537205-7-erezsh@nvidia.com/mbox/",
    "series": [
        {
            "id": 26398,
            "url": "https://patches.dpdk.org/api/series/26398/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=26398",
            "date": "2023-01-05T13:02:53",
            "name": "Support resource sharing among ibv_devices",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/26398/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/121618/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/121618/checks/",
    "tags": {},
    "related": [],
    "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 AF94DA00C2;\n\tThu,  5 Jan 2023 14:04:19 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 4A7F642D32;\n\tThu,  5 Jan 2023 14:04:00 +0100 (CET)",
            "from NAM10-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam10on2076.outbound.protection.outlook.com [40.107.94.76])\n by mails.dpdk.org (Postfix) with ESMTP id 7084B42D2A\n for <dev@dpdk.org>; Thu,  5 Jan 2023 14:03:59 +0100 (CET)",
            "from DM6PR06CA0100.namprd06.prod.outlook.com (2603:10b6:5:336::33)\n by DM6PR12MB4106.namprd12.prod.outlook.com (2603:10b6:5:221::7) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.19; Thu, 5 Jan\n 2023 13:03:57 +0000",
            "from DM6NAM11FT099.eop-nam11.prod.protection.outlook.com\n (2603:10b6:5:336:cafe::53) by DM6PR06CA0100.outlook.office365.com\n (2603:10b6:5:336::33) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.15 via Frontend\n Transport; Thu, 5 Jan 2023 13:03:57 +0000",
            "from mail.nvidia.com (216.228.117.161) by\n DM6NAM11FT099.mail.protection.outlook.com (10.13.172.241) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.5966.18 via Frontend Transport; Thu, 5 Jan 2023 13:03:57 +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.36; Thu, 5 Jan 2023\n 05:03:48 -0800",
            "from nvidia.com (10.126.231.37) 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.36; Thu, 5 Jan 2023\n 05:03:45 -0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=UN1e6pxGoNlp8VkVYnNWR6N67LkW3tBZavyq6ya+74z8jFRJMUM9FIBIBC8u7fvC7K3MYlY7+FcWZOBvxahRBRrCG92qMPJptqgjcnjhHpNeQLFGA+dIrN1pueZfrdt+SyZtflfYTChoanrQJFteafBaWq6ZrTK7o+vQcFEKIwDythUHdzfDyWvyCdrZVdgBkG2avqq276sYT1qpgvaBqq3jTQKFdBa0hhKYQB7OevyW2V92qDnx7upEBer6G4nFU+WPNyBeeouF5p+6CyATTFdZwgz+6M+i6E7Bx3/uzz+FEGcBr6blBT/Js9tO9hsn50rioWAu1I8l646JYJivJA==",
        "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=D+5IUYoDzw30D6QirGbAfsKB6GRDJHNrMb0VEuAZb5w=;\n b=gd7McgKPUUZs7S8CM0T12yNvt9nCdEWVJOiSS0z51+mxFoSIwQ3pa7gH5W2pvFzi0Zm3ctq3Cb2EPnMF5xN/dN6Imvr6YxlRyAR7AjJsB7EYR4k+VZe8RTCLpqp8Xy8cLvdPWL3A22SNcczi1Rty5Q56U8gcNfSNNyfnddSnnbZixjrIdftnHoxDkVXzfA/CTuEkNmc1DjsS288gTJTILUwAX/WgTIXvCG0qMu6K4Zy9fIBBSzIjy9+bTQRPZBGNTNIpMMOXB/2AHQh0JculBmxhc6U6AEJuwRP+nXxaSLMRZnSavDW+C0LEZIAAOHL1W0MDmVqGCPC65YWJamP0Cg==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.161) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n 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=D+5IUYoDzw30D6QirGbAfsKB6GRDJHNrMb0VEuAZb5w=;\n b=BnNPnF5tqZZo5td5gsKVVu5DqTm9TwAd7f0JksiqL+2v3Ne2gp3+IAe4QX0pxJg5PS42IjwN+uukfI/QBo3W4dlUrqkkeePzJeAAE1FOCDaW4glPPHmD0CYyj2J181w2ncMRjj+0QQ0O15JWDKk812/X8bpjBIBcnTVk7s6jC0uzumQvsocBeF1COBDWY8fmOW2gfi6udsGjivdcJSiD6E+uEIlQxwsny6yYPvykU6g5gpvxnCBDZk6w7Syd/4VjZLzWUuQxtac+JKEwtofUD0BKCVbYLZEbDanrrz5rymfrSHdtSeRsktHuTkFzDv+BrqUwv1nd9g1+tC/Jgd7VEQ==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.161)\n smtp.mailfrom=nvidia.com;\n 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 216.228.117.161 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C",
        "From": "Erez Shitrit <erezsh@nvidia.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<valex@nvidia.com>, <rasland@nvidia.com>, Yevgeny Kliteynik\n <kliteyn@nvidia.com>, Matan Azrad <matan@nvidia.com>, Viacheslav Ovsiienko\n <viacheslavo@nvidia.com>",
        "Subject": "[PATCH v2 06/10] net/mlx5/hws: added command to create alias objects",
        "Date": "Thu, 5 Jan 2023 15:02:59 +0200",
        "Message-ID": "<20230105130304.537205-7-erezsh@nvidia.com>",
        "X-Mailer": "git-send-email 2.18.2",
        "In-Reply-To": "<20230105130304.537205-1-erezsh@nvidia.com>",
        "References": "<20221219082416.2223812-3-erezsh@nvidia.com>\n <20230105130304.537205-1-erezsh@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.126.231.37]",
        "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": "DM6NAM11FT099:EE_|DM6PR12MB4106:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "53169476-c500-48ae-b4c5-08daef1d4e84",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n euFqFzIAMjjs2/NeRNpq5Xdq/AxWGdxLnG9tbC6Dp0zyYzLyshNFejxf05sQeCjJO7X0HiCSWdMcSf5/UpM/uFM+rMvCGvDHRKCVN1uR79GovJNAJC+Il6R7kuMzVmXdlXDFzmL6culi3RuopHFP2XcxADShJj+VG2XK5/enocrrF7Qb7kXCgQK/fiN5zPzIKCJ+fdQ89fawGXEsDHXilAi15pyqDOw21wrnrHMG8nNuL3xQeticFBjtvXMZzUADnG7Vyyy5aWbS0gBuL5nUOKXnahjSGAiEEeyNn74Zvt+bkG/GPSq7EVm/R22NT3XJz0XIL8bUb+Sq567VOQ0qX2rMnVD1Hs8EZ2bHmgyvT4Bn+elewJ1/00qlWOL2Iljsw55RLe2mAPt6tjmn9gdcK2753AcngngNXs731gK3GeqksinHgAYL1dPG69DC/BxyySlPvTQPJj3jutm1uH0PcBFLpwGgDRGJ3Ed2SIh8+vwXSSzlBGt1byMCe879X9o2lU60cQFKoiHz+JRCEYUr3fNcI8Z8hv13pf1OFHoRSy0JPzpiPpDAzc4Wze+ooQ3FnxLcD4bsZwcRBXSsmGWbSjMlrVyloMtz5KlK8pRPnt2j5m4O/DPAOs/3Q68MHNPGPaOP4lqvTXft51KxkzbdWmCF2OMfnS0tncYtjU5X9zBKtLdOaarBV8yEz2+xx4PXqyLNY22vGNMS5fhw9jrT9w==",
        "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)(346002)(396003)(136003)(39860400002)(376002)(451199015)(46966006)(36840700001)(40470700004)(82310400005)(8676002)(82740400003)(41300700001)(36860700001)(8936002)(70206006)(70586007)(4326008)(5660300002)(86362001)(7636003)(7696005)(1076003)(356005)(2616005)(316002)(83380400001)(54906003)(6916009)(2906002)(336012)(6286002)(40480700001)(40460700003)(16526019)(36756003)(26005)(186003)(55016003)(47076005)(426003)(6666004)(478600001)(107886003);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "05 Jan 2023 13:03:57.5194 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 53169476-c500-48ae-b4c5-08daef1d4e84",
        "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 DM6NAM11FT099.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM6PR12MB4106",
        "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": "From: Yevgeny Kliteynik <kliteyn@nvidia.com>\n\n\nAdded support for a command that can create alias objects - objects\nthat are accessed across VHCA.\n\nSigned-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>\nReviewed-by: Alex Vesker <valex@nvidia.com>\nAcked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>\n---\n drivers/common/mlx5/mlx5_prm.h    | 23 ++++++++++++++--\n drivers/net/mlx5/hws/mlx5dr_cmd.c | 44 +++++++++++++++++++++++++++++++\n drivers/net/mlx5/hws/mlx5dr_cmd.h | 11 ++++++++\n 3 files changed, 76 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h\nindex 9d36645949..fd1ad55f1f 100644\n--- a/drivers/common/mlx5/mlx5_prm.h\n+++ b/drivers/common/mlx5/mlx5_prm.h\n@@ -3135,9 +3135,10 @@ struct mlx5_ifc_general_obj_in_cmd_hdr_bits {\n \tu8 obj_id[0x20];\n \tunion {\n \t\tstruct {\n-\t\t\tu8 reserved_at_60[0x3];\n+\t\t\tu8 alias_object[0x1];\n+\t\t\tu8 reserved_at_61[0x2];\n \t\t\tu8 log_obj_range[0x5];\n-\t\t\tu8 reserved_at_58[0x18];\n+\t\t\tu8 reserved_at_68[0x18];\n \t\t};\n \t\tu8 obj_offset[0x20];\n \t};\n@@ -3234,6 +3235,19 @@ struct mlx5_ifc_rtc_bits {\n \tu8 reserved_at_180[0x280];\n };\n \n+struct mlx5_ifc_alias_context_bits {\n+\tu8 vhca_id_to_be_accessed[0x10];\n+\tu8 reserved_at_10[0xd];\n+\tu8 status[0x3];\n+\tu8 object_id_to_be_accessed[0x20];\n+\tu8 reserved_at_40[0x40];\n+\tunion {\n+\t\tu8 access_key_raw[0x100];\n+\t\tu8 access_key[8][0x20];\n+\t};\n+\tu8 metadata[0x80];\n+};\n+\n enum mlx5_ifc_stc_action_type {\n \tMLX5_IFC_STC_ACTION_TYPE_NOP = 0x00,\n \tMLX5_IFC_STC_ACTION_TYPE_COPY = 0x05,\n@@ -3478,6 +3492,11 @@ struct mlx5_ifc_create_header_modify_pattern_in_bits {\n \tstruct mlx5_ifc_header_modify_pattern_in_bits pattern;\n };\n \n+struct mlx5_ifc_create_alias_obj_in_bits {\n+\tstruct mlx5_ifc_general_obj_in_cmd_hdr_bits hdr;\n+\tstruct mlx5_ifc_alias_context_bits alias_ctx;\n+};\n+\n enum {\n \tMLX5_CRYPTO_KEY_SIZE_128b = 0x0,\n \tMLX5_CRYPTO_KEY_SIZE_256b = 0x1,\ndiff --git a/drivers/net/mlx5/hws/mlx5dr_cmd.c b/drivers/net/mlx5/hws/mlx5dr_cmd.c\nindex b120be2d88..9b9f70c933 100644\n--- a/drivers/net/mlx5/hws/mlx5dr_cmd.c\n+++ b/drivers/net/mlx5/hws/mlx5dr_cmd.c\n@@ -744,6 +744,50 @@ int mlx5dr_cmd_allow_other_vhca_access(struct ibv_context *ctx,\n \treturn 0;\n }\n \n+struct mlx5dr_devx_obj *\n+mlx5dr_cmd_alias_obj_create(struct ibv_context *ctx,\n+\t\t\t    struct mlx5dr_cmd_alias_obj_create_attr *alias_attr)\n+{\n+\tuint32_t out[MLX5_ST_SZ_DW(general_obj_out_cmd_hdr)] = {0};\n+\tuint32_t in[MLX5_ST_SZ_DW(create_alias_obj_in)] = {0};\n+\tstruct mlx5dr_devx_obj *devx_obj;\n+\tvoid *attr;\n+\tvoid *key;\n+\n+\tdevx_obj = simple_malloc(sizeof(*devx_obj));\n+\tif (!devx_obj) {\n+\t\tDR_LOG(ERR, \"Failed to allocate memory for ALIAS general object\");\n+\t\trte_errno = ENOMEM;\n+\t\treturn NULL;\n+\t}\n+\n+\tattr = MLX5_ADDR_OF(create_alias_obj_in, in, hdr);\n+\tMLX5_SET(general_obj_in_cmd_hdr,\n+\t\t attr, opcode, MLX5_CMD_OP_CREATE_GENERAL_OBJECT);\n+\tMLX5_SET(general_obj_in_cmd_hdr,\n+\t\t attr, obj_type, alias_attr->obj_type);\n+\tMLX5_SET(general_obj_in_cmd_hdr, attr, alias_object, 1);\n+\n+\tattr = MLX5_ADDR_OF(create_alias_obj_in, in, alias_ctx);\n+\tMLX5_SET(alias_context, attr, vhca_id_to_be_accessed, alias_attr->vhca_id);\n+\tMLX5_SET(alias_context, attr, object_id_to_be_accessed, alias_attr->obj_id);\n+\n+\tkey = MLX5_ADDR_OF(alias_context, attr, access_key);\n+\tmemcpy(key, alias_attr->access_key, sizeof(alias_attr->access_key));\n+\n+\tdevx_obj->obj = mlx5_glue->devx_obj_create(ctx, in, sizeof(in), out, sizeof(out));\n+\tif (!devx_obj->obj) {\n+\t\tDR_LOG(ERR, \"Failed to create ALIAS OBJ\");\n+\t\tsimple_free(devx_obj);\n+\t\trte_errno = errno;\n+\t\treturn NULL;\n+\t}\n+\n+\tdevx_obj->id = MLX5_GET(general_obj_out_cmd_hdr, out, obj_id);\n+\n+\treturn devx_obj;\n+}\n+\n int mlx5dr_cmd_query_caps(struct ibv_context *ctx,\n \t\t\t  struct mlx5dr_cmd_query_caps *caps)\n {\ndiff --git a/drivers/net/mlx5/hws/mlx5dr_cmd.h b/drivers/net/mlx5/hws/mlx5dr_cmd.h\nindex ea6ced9d27..824ca5e846 100644\n--- a/drivers/net/mlx5/hws/mlx5dr_cmd.h\n+++ b/drivers/net/mlx5/hws/mlx5dr_cmd.h\n@@ -46,6 +46,13 @@ struct mlx5dr_cmd_rtc_create_attr {\n \tbool is_jumbo;\n };\n \n+struct mlx5dr_cmd_alias_obj_create_attr {\n+\tuint32_t obj_id;\n+\tuint16_t vhca_id;\n+\tuint16_t obj_type;\n+\tuint8_t access_key[32];\n+};\n+\n struct mlx5dr_cmd_stc_create_attr {\n \tuint8_t log_obj_range;\n \tuint8_t table_type;\n@@ -217,6 +224,10 @@ mlx5dr_cmd_header_modify_pattern_create(struct ibv_context *ctx,\n \t\t\t\t\tuint32_t pattern_length,\n \t\t\t\t\tuint8_t *actions);\n \n+struct mlx5dr_devx_obj *\n+mlx5dr_cmd_alias_obj_create(struct ibv_context *ctx,\n+\t\t\t    struct mlx5dr_cmd_alias_obj_create_attr *alias_attr);\n+\n int mlx5dr_cmd_sq_modify_rdy(struct mlx5dr_devx_obj *devx_obj);\n \n int mlx5dr_cmd_query_ib_port(struct ibv_context *ctx,\n",
    "prefixes": [
        "v2",
        "06/10"
    ]
}