get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 92830,
    "url": "http://patches.dpdk.org/api/patches/92830/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210505065008.30680-16-bingz@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": "<20210505065008.30680-16-bingz@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210505065008.30680-16-bingz@nvidia.com",
    "date": "2021-05-05T06:50:06",
    "name": "[v3,15/17] net/mlx5: validation of CT item",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "eac40d9073f36062f0dd6b7c3bce51a57079ad61",
    "submitter": {
        "id": 1976,
        "url": "http://patches.dpdk.org/api/people/1976/?format=api",
        "name": "Bing Zhao",
        "email": "bingz@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210505065008.30680-16-bingz@nvidia.com/mbox/",
    "series": [
        {
            "id": 16818,
            "url": "http://patches.dpdk.org/api/series/16818/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=16818",
            "date": "2021-05-05T06:49:53",
            "name": "[v3,01/17] common/mlx5: add connection tracking object definition",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/16818/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/92830/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/92830/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 C43BFA0524;\n\tWed,  5 May 2021 08:53:06 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9475A4116B;\n\tWed,  5 May 2021 08:51:40 +0200 (CEST)",
            "from NAM10-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam10on2068.outbound.protection.outlook.com [40.107.94.68])\n by mails.dpdk.org (Postfix) with ESMTP id 992784115C\n for <dev@dpdk.org>; Wed,  5 May 2021 08:51:39 +0200 (CEST)",
            "from BN6PR11CA0061.namprd11.prod.outlook.com (2603:10b6:404:f7::23)\n by BYAPR12MB2599.namprd12.prod.outlook.com (2603:10b6:a03:6b::33)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Wed, 5 May\n 2021 06:51:37 +0000",
            "from BN8NAM11FT016.eop-nam11.prod.protection.outlook.com\n (2603:10b6:404:f7:cafe::37) by BN6PR11CA0061.outlook.office365.com\n (2603:10b6:404:f7::23) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend\n Transport; Wed, 5 May 2021 06:51:37 +0000",
            "from mail.nvidia.com (216.228.112.34) by\n BN8NAM11FT016.mail.protection.outlook.com (10.13.176.97) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id\n 15.20.4108.25 via Frontend Transport; Wed, 5 May 2021 06:51:37 +0000",
            "from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com\n (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 5 May\n 2021 06:51:33 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=m8tZyeaeeNPJpJu5RaFJxpMt9sHTT0nFqYZFHkfFxS3hSGbwKiuwfx81bp7drb9dz+bRpAErlGQPTvBJjT0RRR/RUUX+A3FMCc5vGJ3fjUndlNtsY3+r+I9uxSSYmZPvoPr6fLVrvsITdw7cNYujh6bBHD26Yt44Tb3Hdyz710e3ekTi9AVu7d07ityoe+pg7ondMttaFGjjj/mg/YSCuAaycwPydOLh2Xa8W5wix7ZOA9dDmLaz0ZVIhgVz0eLaImuIn5Ix9QUU/KhOVHH/+dEJzm9FbIBQIyTzA9BudYE2a/8C2t3+idmnJnsnyx0HvIVru1bZndTu8APWNqKYpg==",
        "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-SenderADCheck;\n bh=NtLpzBwtyzX4RTSxLVc/+kgSGv1zZdHVFM1e3QOM6kM=;\n b=Me4leHNLY5TZIN/2Hb+cZis9RiicF4GPYkZLeLOWlGwij6ghcROWNVrgO3MA7hLOwS3itdUu/qtq5ODPmxJer76mzoMHd2OSWxKHq3Eorp7cSwBzQnufWRbeVKnkBtvMBEggULNcrRwxwjQuC4z8gHfVDnLcLpMf4HRJD+bBhuprSo7ei98nAdPrIYIN4SzWAZNvosd/7TOgLF6qGkJqxhpgjiBwpk+BWWLEx8fBtpEG/2YCrV8dPmTA0VYoMkd55Sdl0MSAlYW9md93nQW8UwtsMixVtKk05R/Cg+vjLvRtfLvOyVndYKhfCaQ/OkAziHMUh54dJ6/KJ9qxS3XOWA==",
        "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=none sp=none 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=NtLpzBwtyzX4RTSxLVc/+kgSGv1zZdHVFM1e3QOM6kM=;\n b=jHzZLpTLLMuAmYOVDF2kHRn6zgGaYABdTCVS8q+iH0mXsIT+ynHxBXbFMFkrwND7EymSnLd7Ln382GdcCv4MWxUgReqwkGyk3O67OfC6JpOkCzPblMG+7eFKQzmZOj7bGuhjYbgfH210t/HcuBtUOBHus6RBVjo4r6MkquBL4ksK7nfHDK+MoJGTYigqoTexsNBTBFKcE+n14MK6jQAkdFlYfic9dRxQ9gIHlkranf9E6t/CYYNqYm+a6rvTTX7/A+AsmtajI+eH54sA3DSrL567QR1g9BX5WGfgF5/MhRR/kKAjCYdJ85fWCjfxZiADj2ylyLe6cp0yD4WYB65hpg==",
        "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": "Bing Zhao <bingz@nvidia.com>",
        "To": "<viacheslavo@nvidia.com>, <matan@nvidia.com>, <thomas@monjalon.net>",
        "CC": "<dev@dpdk.org>, <orika@nvidia.com>, <rasland@nvidia.com>",
        "Date": "Wed, 5 May 2021 09:50:06 +0300",
        "Message-ID": "<20210505065008.30680-16-bingz@nvidia.com>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20210505065008.30680-1-bingz@nvidia.com>",
        "References": "<20210427153811.11554-1-bingz@nvidia.com>\n <20210505065008.30680-1-bingz@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[172.20.145.6]",
        "X-ClientProxiedBy": "HQMAIL101.nvidia.com (172.20.187.10) To\n HQMAIL107.nvidia.com (172.20.187.13)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "46be2884-0023-4efe-3932-08d90f923ae5",
        "X-MS-TrafficTypeDiagnostic": "BYAPR12MB2599:",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-Microsoft-Antispam-PRVS": "\n <BYAPR12MB2599DBFFBAC8EE6E1D1A0DF4D0599@BYAPR12MB2599.namprd12.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:8273;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n jFDq3V/h2UkwSIrs6mcUC2jMBbvhkU6ydaEmQiW8e4B4UjtxWXEB0hlIgEddSIeyOyzBGmjoIVy/jQLPZaYap1GLdICBgziTGSOWz3bd8GCrYr8JbYKVIDULWLjGLQ+dOfEDPPTh5SVTt0Y1wFw//uKeShU+fBafV+udK8iZ91hhsSYSpIVtWA3/PBfqufRq/lH+e1eXkVgGtKyG7bSkEAy5lVrC5N94hDGKvIdp7YTKBf1HnNGGnB11mQTartjqXxwWN17eodBwvmzAOTPW+Y27jOP5OFvc+rZgMZTVg0vGi4jP6/n9WTnjBLxugx2ZJ4HDLRq/BsRLY18HU789phWBmu4GJyrdoSVSmOYcbtQitNnugWjAHBA106I8J2qYXDTzRATwsVXkzB4nu4dJnU2UcEo+E0gkkuLuwf9ayy02R7yYJpKe/50fnD6fJNTMedUPt2yCHOVUUxTalxedTmBvJCytN1LrXAlQZyZ6FHlusTDgUpGWQ5Txr09vph0EfGeqORZKDvr/7yvWXoZRN9ONwxbiHdS7XtGlRovDp/yQ8LZGM7hkA0h6VmJ+k29RlvMxcgI0i0zJgSzuIuzjAimcL9+aP3vSO8wH8bV6gPl8WL6Y1yvFdiDhqGg06IBs5+dYxQRz7n9YrrYxL/HnT8oaDPaYLYR+QefWkVbLguQ=",
        "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)(396003)(39860400002)(376002)(136003)(346002)(46966006)(36840700001)(70206006)(70586007)(107886003)(336012)(8676002)(82740400003)(82310400003)(16526019)(186003)(55016002)(47076005)(356005)(2906002)(7636003)(36756003)(86362001)(6286002)(6666004)(83380400001)(316002)(426003)(5660300002)(4326008)(1076003)(36860700001)(54906003)(26005)(7696005)(36906005)(478600001)(2616005)(110136005)(8936002);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "05 May 2021 06:51:37.5389 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 46be2884-0023-4efe-3932-08d90f923ae5",
        "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 BN8NAM11FT016.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BYAPR12MB2599",
        "Subject": "[dpdk-dev] [PATCH v3 15/17] net/mlx5: validation of CT item",
        "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": "The item of ASO connection tracking will be translated into the\nregister value when matching. The validation of this item has no\ndependency on other layers, since the flow including this item\nshould be jumped from another group. All the layers checking was\nalready done in the previous groups. Only the state bits conflict\nshould be checked.\n\nIt is assumed that the flow with CT item will always work on the\nTCP traffic.\n\nSigned-off-by: Bing Zhao <bingz@nvidia.com>\n---\n drivers/net/mlx5/mlx5_flow.h    |  3 ++\n drivers/net/mlx5/mlx5_flow_dv.c | 51 +++++++++++++++++++++++++++++++++\n 2 files changed, 54 insertions(+)",
    "diff": "diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h\nindex eb0bb42161..238befa2d4 100644\n--- a/drivers/net/mlx5/mlx5_flow.h\n+++ b/drivers/net/mlx5/mlx5_flow.h\n@@ -147,6 +147,9 @@ enum mlx5_feature_name {\n #define MLX5_FLOW_LAYER_GENEVE_OPT (UINT64_C(1) << 32)\n #define MLX5_FLOW_LAYER_GTP_PSC (UINT64_C(1) << 33)\n \n+/* Conntrack item. */\n+#define MLX5_FLOW_LAYER_ASO_CT (UINT64_C(1) << 34)\n+\n /* Outer Masks. */\n #define MLX5_FLOW_LAYER_OUTER_L3 \\\n \t(MLX5_FLOW_LAYER_OUTER_L3_IPV4 | MLX5_FLOW_LAYER_OUTER_L3_IPV6)\ndiff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c\nindex f2a2c609e2..aa0a5acdca 100644\n--- a/drivers/net/mlx5/mlx5_flow_dv.c\n+++ b/drivers/net/mlx5/mlx5_flow_dv.c\n@@ -2598,6 +2598,51 @@ flow_dv_validate_item_ipv6_frag_ext(const struct rte_flow_item *item,\n \t\t\t\t  \"specified range not supported\");\n }\n \n+/*\n+ * Validate ASO CT item.\n+ *\n+ * @param[in] dev\n+ *   Pointer to the rte_eth_dev structure.\n+ * @param[in] item\n+ *   Item specification.\n+ * @param[in] item_flags\n+ *   Pointer to bit-fields that holds the items detected until now.\n+ * @param[out] error\n+ *   Pointer to error structure.\n+ *\n+ * @return\n+ *   0 on success, a negative errno value otherwise and rte_errno is set.\n+ */\n+static int\n+flow_dv_validate_item_aso_ct(struct rte_eth_dev *dev,\n+\t\t\t     const struct rte_flow_item *item,\n+\t\t\t     uint64_t *item_flags,\n+\t\t\t     struct rte_flow_error *error)\n+{\n+\tconst struct rte_flow_item_conntrack *spec = item->spec;\n+\tconst struct rte_flow_item_conntrack *mask = item->mask;\n+\tRTE_SET_USED(dev);\n+\tuint32_t flags;\n+\n+\tif (*item_flags & MLX5_FLOW_LAYER_ASO_CT)\n+\t\treturn rte_flow_error_set(error, EINVAL,\n+\t\t\t\t\t  RTE_FLOW_ERROR_TYPE_ITEM, NULL,\n+\t\t\t\t\t  \"Only one CT is supported\");\n+\tif (!mask)\n+\t\tmask = &rte_flow_item_conntrack_mask;\n+\tflags = spec->flags & mask->flags;\n+\tif ((flags & RTE_FLOW_CONNTRACK_PKT_STATE_VALID) &&\n+\t    ((flags & RTE_FLOW_CONNTRACK_PKT_STATE_INVALID) ||\n+\t     (flags & RTE_FLOW_CONNTRACK_PKT_STATE_BAD) ||\n+\t     (flags & RTE_FLOW_CONNTRACK_PKT_STATE_DISABLED)))\n+\t\treturn rte_flow_error_set(error, EINVAL,\n+\t\t\t\t\t  RTE_FLOW_ERROR_TYPE_ITEM, NULL,\n+\t\t\t\t\t  \"Conflict status bits\");\n+\t/* State change also needs to be considered. */\n+\t*item_flags |= MLX5_FLOW_LAYER_ASO_CT;\n+\treturn 0;\n+}\n+\n /**\n  * Validate the pop VLAN action.\n  *\n@@ -6696,6 +6741,12 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,\n \t\t\t\treturn ret;\n \t\t\tlast_item = MLX5_FLOW_LAYER_ECPRI;\n \t\t\tbreak;\n+\t\tcase RTE_FLOW_ITEM_TYPE_CONNTRACK:\n+\t\t\tret = flow_dv_validate_item_aso_ct(dev, items,\n+\t\t\t\t\t\t\t   &item_flags, error);\n+\t\t\tif (ret < 0)\n+\t\t\t\treturn ret;\n+\t\t\tbreak;\n \t\tdefault:\n \t\t\treturn rte_flow_error_set(error, ENOTSUP,\n \t\t\t\t\t\t  RTE_FLOW_ERROR_TYPE_ITEM,\n",
    "prefixes": [
        "v3",
        "15/17"
    ]
}