get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 73112,
    "url": "http://patches.dpdk.org/api/patches/73112/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1593941027-86651-2-git-send-email-orika@mellanox.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": "<1593941027-86651-2-git-send-email-orika@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1593941027-86651-2-git-send-email-orika@mellanox.com",
    "date": "2020-07-05T09:23:28",
    "name": "[01/20] regex/mlx5: add RegEx PMD layer and mlx5 driver",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ec0bbb682b511e0f3e220a9781aa5f186b757aab",
    "submitter": {
        "id": 795,
        "url": "http://patches.dpdk.org/api/people/795/?format=api",
        "name": "Ori Kam",
        "email": "orika@mellanox.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1593941027-86651-2-git-send-email-orika@mellanox.com/mbox/",
    "series": [
        {
            "id": 10792,
            "url": "http://patches.dpdk.org/api/series/10792/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=10792",
            "date": "2020-07-05T09:23:27",
            "name": "add Mellanox RegEx PMD",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/10792/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/73112/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/73112/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id B7124A00C5;\n\tSun,  5 Jul 2020 11:24:30 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 5C99B1DAAE;\n\tSun,  5 Jul 2020 11:24:24 +0200 (CEST)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n by dpdk.org (Postfix) with ESMTP id A68F91DAB4\n for <dev@dpdk.org>; Sun,  5 Jul 2020 11:24:22 +0200 (CEST)",
            "from Internal Mail-Server by MTLPINE1 (envelope-from\n orika@mellanox.com) with SMTP; 5 Jul 2020 12:24:20 +0300",
            "from pegasus04.mtr.labs.mlnx. (pegasus04.mtr.labs.mlnx\n [10.210.16.126])\n by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 0659OC3l028191;\n Sun, 5 Jul 2020 12:24:19 +0300"
        ],
        "From": "Ori Kam <orika@mellanox.com>",
        "To": "jerinj@marvell.com, xiang.w.wang@intel.com, matan@mellanox.com,\n viacheslavo@mellanox.com, Thomas Monjalon <thomas@monjalon.net>,\n Shahaf Shuler <shahafs@mellanox.com>, Ray Kinsella <mdr@ashroe.eu>,\n Neil Horman <nhorman@tuxdriver.com>",
        "Cc": "guyk@marvell.com, dev@dpdk.org, pbhagavatula@marvell.com,\n hemant.agrawal@nxp.com, opher@mellanox.com, alexr@mellanox.com,\n dovrat@marvell.com, pkapoor@marvell.com, nipun.gupta@nxp.com,\n bruce.richardson@intel.com, yang.a.hong@intel.com,\n harry.chang@intel.com, gu.jian1@zte.com.cn, shanjiangh@chinatelecom.cn,\n zhangy.yun@chinatelecom.cn, lixingfu@huachentel.com,\n wushuai@inspur.com, yuyingxia@yxlink.com, fanchenggang@sunyainfo.com,\n davidfgao@tencent.com, liuzhong1@chinaunicom.cn, zhaoyong11@huawei.com,\n oc@yunify.com, jim@netgate.com, hongjun.ni@intel.com, deri@ntop.org,\n fc@napatech.com, arthur.su@lionic.com, orika@mellanox.com,\n rasland@mellanox.com, Yuval Avnery <yuvalav@mellanox.com>",
        "Date": "Sun,  5 Jul 2020 09:23:28 +0000",
        "Message-Id": "<1593941027-86651-2-git-send-email-orika@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1593941027-86651-1-git-send-email-orika@mellanox.com>",
        "References": "<1593941027-86651-1-git-send-email-orika@mellanox.com>",
        "Subject": "[dpdk-dev] [PATCH 01/20] regex/mlx5: add RegEx PMD layer and mlx5\n\tdriver",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "From: Yuval Avnery <yuvalav@mellanox.com>\n\nThis commit introduce the RegEx pull mode drivers class, and\nadds Mellanox RegEx PMD.\n\nSigned-off-by: Yuval Avnery <yuvalav@mellanox.com>\nSigned-off-by: Ori Kam <orika@mellanox.com>\n---\n config/common_base                                |  5 +++\n drivers/Makefile                                  |  2 +\n drivers/common/Makefile                           |  2 +-\n drivers/common/mlx5/Makefile                      |  4 +-\n drivers/meson.build                               |  3 +-\n drivers/regex/Makefile                            |  8 ++++\n drivers/regex/meson.build                         |  9 ++++\n drivers/regex/mlx5/Makefile                       | 55 +++++++++++++++++++++++\n drivers/regex/mlx5/meson.build                    | 32 +++++++++++++\n drivers/regex/mlx5/mlx5_regex.c                   |  5 +++\n drivers/regex/mlx5/mlx5_regex.h                   |  8 ++++\n drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map |  3 ++\n mk/rte.app.mk                                     |  5 ++-\n 13 files changed, 135 insertions(+), 6 deletions(-)\n create mode 100644 drivers/regex/Makefile\n create mode 100644 drivers/regex/meson.build\n create mode 100644 drivers/regex/mlx5/Makefile\n create mode 100644 drivers/regex/mlx5/meson.build\n create mode 100644 drivers/regex/mlx5/mlx5_regex.c\n create mode 100644 drivers/regex/mlx5/mlx5_regex.h\n create mode 100644 drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map",
    "diff": "diff --git a/config/common_base b/config/common_base\nindex e15517b..c97f8c5 100644\n--- a/config/common_base\n+++ b/config/common_base\n@@ -374,6 +374,11 @@ CONFIG_RTE_LIBRTE_MLX5_PMD=n\n CONFIG_RTE_LIBRTE_MLX5_DEBUG=n\n \n #\n+# Compile regex-oriented Mellanox PMD\n+#\n+CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD=n\n+\n+#\n # Compile vdpa-oriented Mellanox ConnectX-6 & BlueField (MLX5) PMD\n #\n CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD=n\ndiff --git a/drivers/Makefile b/drivers/Makefile\nindex c70bdf9..73a9a72 100644\n--- a/drivers/Makefile\n+++ b/drivers/Makefile\n@@ -24,5 +24,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event\n DEPDIRS-event := common bus mempool net crypto\n DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += raw\n DEPDIRS-raw := common bus mempool net event\n+DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += regex\n+DEPDIRS-regex := common\n \n include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/drivers/common/Makefile b/drivers/common/Makefile\nindex df2e840..cbc7107 100644\n--- a/drivers/common/Makefile\n+++ b/drivers/common/Makefile\n@@ -36,7 +36,7 @@ ifneq (,$(findstring y,$(IAVF-y)))\n DIRS-y += iavf\n endif\n \n-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)\n+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)\n DIRS-y += mlx5\n endif\n \ndiff --git a/drivers/common/mlx5/Makefile b/drivers/common/mlx5/Makefile\nindex f6c762b..5f12be3 100644\n--- a/drivers/common/mlx5/Makefile\n+++ b/drivers/common/mlx5/Makefile\n@@ -10,7 +10,7 @@ LIB_GLUE_BASE = librte_pmd_mlx5_glue.so\n LIB_GLUE_VERSION = 20.02.0\n \n # Sources.\n-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)\n+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)\n ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)\n SRCS-y += linux/mlx5_glue.c\n endif\n@@ -344,7 +344,7 @@ mlx5_autoconf.h: mlx5_autoconf.h.new\n \t\tcmp '$<' '$@' $(AUTOCONF_OUTPUT) || \\\n \t\tmv '$<' '$@'\n \n-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)\n+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)\n $(SRCS-y:.c=.o): mlx5_autoconf.h\n endif\n \ndiff --git a/drivers/meson.build b/drivers/meson.build\nindex 01c860c..3319c6d 100644\n--- a/drivers/meson.build\n+++ b/drivers/meson.build\n@@ -11,7 +11,8 @@ dpdk_driver_classes = ['common',\n \t       'compress', # depends on common, bus, mempool.\n \t       'vdpa',    # depends on common, bus and mempool.\n \t       'event',   # depends on common, bus, mempool and net.\n-\t       'baseband'] # depends on common and bus.\n+\t       'baseband', # depends on common and bus.\n+\t       'regex'] # depends on common, bus, regexdev.\n \n disabled_drivers = run_command(list_dir_globs, get_option('disable_drivers'),\n \t\t).stdout().split()\ndiff --git a/drivers/regex/Makefile b/drivers/regex/Makefile\nnew file mode 100644\nindex 0000000..906b205\n--- /dev/null\n+++ b/drivers/regex/Makefile\n@@ -0,0 +1,8 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2020 Mellanox Technologies, Ltd\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+DIRS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5\n+\n+include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/drivers/regex/meson.build b/drivers/regex/meson.build\nnew file mode 100644\nindex 0000000..75522e3\n--- /dev/null\n+++ b/drivers/regex/meson.build\n@@ -0,0 +1,9 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2020 Mellanox Technologies, Ltd\n+\n+drivers = ['mlx5']\n+std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc\n+std_deps += ['bus_pci']         # very many PMDs depend on PCI, so make std\n+std_deps += ['bus_vdev']        # same with vdev bus\n+config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'\n+driver_name_fmt = 'rte_pmd_@0@'\ndiff --git a/drivers/regex/mlx5/Makefile b/drivers/regex/mlx5/Makefile\nnew file mode 100644\nindex 0000000..2ddad2d\n--- /dev/null\n+++ b/drivers/regex/mlx5/Makefile\n@@ -0,0 +1,55 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2020 Mellanox Technologies, Ltd\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+# Library name.\n+LIB = librte_pmd_mlx5_regex.a\n+\n+# Sources.\n+SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex.c\n+\n+# Basic CFLAGS.\n+CFLAGS += -O3\n+CFLAGS += -std=c11 -Wall -Wextra\n+CFLAGS += -g\n+CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5\n+CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5\n+CFLAGS += -D_BSD_SOURCE\n+CFLAGS += -D_DEFAULT_SOURCE\n+CFLAGS += -D_XOPEN_SOURCE=600\n+CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -Wno-strict-prototypes\n+LDLIBS += -lrte_common_mlx5\n+LDLIBS += -lm\n+LDLIBS += -lrte_eal -lrte_mbuf\n+LDLIBS += -lrte_kvargs\n+LDLIBS += -lrte_bus_pci\n+\n+# A few warnings cannot be avoided in external headers.\n+CFLAGS += -Wno-error=cast-qual\n+\n+EXPORT_MAP := rte_pmd_mlx5_regex_version.map\n+\n+# memseg walk is not part of stable API\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n+\n+# DEBUG which is usually provided on the command-line may enable\n+# CONFIG_RTE_LIBRTE_MLX5_DEBUG.\n+ifeq ($(DEBUG),1)\n+CONFIG_RTE_LIBRTE_MLX5_DEBUG := y\n+endif\n+\n+# User-defined CFLAGS.\n+ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)\n+CFLAGS += -pedantic -UNDEBUG\n+ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)\n+CFLAGS += -DPEDANTIC\n+endif\n+AUTO_CONFIG_CFLAGS += -Wno-pedantic\n+else\n+CFLAGS += -DNDEBUG -UPEDANTIC\n+endif\n+\n+include $(RTE_SDK)/mk/rte.lib.mk\n+\ndiff --git a/drivers/regex/mlx5/meson.build b/drivers/regex/mlx5/meson.build\nnew file mode 100644\nindex 0000000..768a9d1\n--- /dev/null\n+++ b/drivers/regex/mlx5/meson.build\n@@ -0,0 +1,32 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2019 Mellanox Technologies, Ltd\n+\n+if not is_linux\n+\tbuild = false\n+\treason = 'only supported on Linux'\n+\tsubdir_done()\n+endif\n+\n+fmt_name = 'mlx5_regex'\n+deps += ['common_mlx5', 'pci', 'bus_pci', 'eal', 'sched']\n+sources = files(\n+\t'mlx5_regex.c',\n+)\n+cflags_options = [\n+\t'-std=c11',\n+\t'-Wno-strict-prototypes',\n+\t'-D_BSD_SOURCE',\n+\t'-D_DEFAULT_SOURCE',\n+\t'-D_XOPEN_SOURCE=600'\n+]\n+foreach option:cflags_options\n+\tif cc.has_argument(option)\n+\t\tcflags += option\n+\tendif\n+endforeach\n+\n+if get_option('buildtype').contains('debug')\n+\tcflags += [ '-pedantic', '-DPEDANTIC' ]\n+else\n+\tcflags += [ '-UPEDANTIC' ]\n+endif\ndiff --git a/drivers/regex/mlx5/mlx5_regex.c b/drivers/regex/mlx5/mlx5_regex.c\nnew file mode 100644\nindex 0000000..b942a75\n--- /dev/null\n+++ b/drivers/regex/mlx5/mlx5_regex.c\n@@ -0,0 +1,5 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2020 Mellanox Technologies, Ltd\n+ */\n+\n+#include \"mlx5_regex.h\"\ndiff --git a/drivers/regex/mlx5/mlx5_regex.h b/drivers/regex/mlx5/mlx5_regex.h\nnew file mode 100644\nindex 0000000..0e0495c\n--- /dev/null\n+++ b/drivers/regex/mlx5/mlx5_regex.h\n@@ -0,0 +1,8 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2020 Mellanox Technologies, Ltd\n+ */\n+\n+#ifndef MLX5_REGEX_H\n+#define MLX5_REGEX_H\n+\n+#endif /* MLX5_REGEX_H */\ndiff --git a/drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map b/drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map\nnew file mode 100644\nindex 0000000..4a76d1d\n--- /dev/null\n+++ b/drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map\n@@ -0,0 +1,3 @@\n+DPDK_21 {\n+\tlocal: *;\n+};\ndiff --git a/mk/rte.app.mk b/mk/rte.app.mk\nindex 0ce8cf5..1b9551e 100644\n--- a/mk/rte.app.mk\n+++ b/mk/rte.app.mk\n@@ -201,11 +201,12 @@ endif\n _LDLIBS-$(CONFIG_RTE_LIBRTE_LIO_PMD)        += -lrte_pmd_lio\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF)      += -lrte_pmd_memif\n _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4\n-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)\n+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)\n _LDLIBS-y                                   += -lrte_common_mlx5\n endif\n _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5\n _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)  += -lrte_pmd_mlx5_vdpa\n+_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)  += -lrte_pmd_mlx5_regex\n ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)\n _LDLIBS-y                                   += -ldl\n else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)\n@@ -214,7 +215,7 @@ _LDLIBS-y                                   += --no-whole-archive\n _LDLIBS-y                                   += $(LIBS_IBVERBS_STATIC)\n _LDLIBS-y                                   += --whole-archive\n else\n-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)\n+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)\n _LDLIBS-y                                   += -libverbs -lmlx5\n endif\n _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs -lmlx4\n",
    "prefixes": [
        "01/20"
    ]
}