Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/73112/?format=api
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" ] }{ "id": 73112, "url": "