]> git.droids-corp.org - dpdk.git/commitdiff
regex/mlx5: introduce driver for BlueField 2
authorYuval Avnery <yuvalav@mellanox.com>
Mon, 20 Jul 2020 06:26:05 +0000 (06:26 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 21 Jul 2020 17:04:05 +0000 (19:04 +0200)
This commit introduce the RegEx poll mode drivers class, and
adds Mellanox RegEx PMD.

Signed-off-by: Yuval Avnery <yuvalav@mellanox.com>
Signed-off-by: Ori Kam <orika@mellanox.com>
24 files changed:
.gitignore
MAINTAINERS
config/common_base
doc/guides/conf.py
doc/guides/index.rst
doc/guides/regexdevs/features/default.ini [new file with mode: 0644]
doc/guides/regexdevs/features/mlx5.ini [new file with mode: 0644]
doc/guides/regexdevs/features_overview.rst [new file with mode: 0644]
doc/guides/regexdevs/index.rst [new file with mode: 0644]
doc/guides/regexdevs/mlx5.rst [new file with mode: 0644]
doc/guides/rel_notes/release_20_08.rst
drivers/Makefile
drivers/common/Makefile
drivers/common/mlx5/Makefile
drivers/common/mlx5/mlx5_common.h
drivers/meson.build
drivers/regex/Makefile [new file with mode: 0644]
drivers/regex/meson.build [new file with mode: 0644]
drivers/regex/mlx5/Makefile [new file with mode: 0644]
drivers/regex/mlx5/meson.build [new file with mode: 0644]
drivers/regex/mlx5/mlx5_regex.c [new file with mode: 0644]
drivers/regex/mlx5/mlx5_regex.h [new file with mode: 0644]
drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map [new file with mode: 0644]
mk/rte.app.mk

index f2f88929460427fb09180f9739b5c56b5444d5fa..f73d93ca5369a1efa0b3ea72868ccc3a12f8d055 100644 (file)
@@ -9,6 +9,7 @@ doc/guides/cryptodevs/overview_auth_table.txt
 doc/guides/cryptodevs/overview_aead_table.txt
 doc/guides/cryptodevs/overview_asym_table.txt
 doc/guides/compressdevs/overview_feature_table.txt
 doc/guides/cryptodevs/overview_aead_table.txt
 doc/guides/cryptodevs/overview_asym_table.txt
 doc/guides/compressdevs/overview_feature_table.txt
+doc/guides/regexdevs/overview_feature_table.txt
 doc/guides/vdpadevs/overview_feature_table.txt
 doc/guides/bbdevs/overview_feature_table.txt
 
 doc/guides/vdpadevs/overview_feature_table.txt
 doc/guides/bbdevs/overview_feature_table.txt
 
index 3cd402b34c912b111892d171ec6a81d12b363534..171c4c78c888bc18ded51eac665b78e073061b83 100644 (file)
@@ -454,6 +454,7 @@ RegEx API - EXPERIMENTAL
 M: Ori Kam <orika@mellanox.com>
 F: lib/librte_regexdev/
 F: doc/guides/prog_guide/regexdev.rst
 M: Ori Kam <orika@mellanox.com>
 F: lib/librte_regexdev/
 F: doc/guides/prog_guide/regexdev.rst
+F: doc/guides/regexdevs/features/default.ini
 
 Eventdev API
 M: Jerin Jacob <jerinj@marvell.com>
 
 Eventdev API
 M: Jerin Jacob <jerinj@marvell.com>
@@ -1128,6 +1129,16 @@ F: doc/guides/compressdevs/zlib.rst
 F: doc/guides/compressdevs/features/zlib.ini
 
 
 F: doc/guides/compressdevs/features/zlib.ini
 
 
+RegEx Drivers
+-------------
+
+Mellanox mlx5
+M: Ori Kam <orika@mellanox.com>
+F: drivers/regex/mlx5/
+F: doc/guides/regexdevs/mlx5.rst
+F: doc/guides/regexdevs/features/mlx5.ini
+
+
 vDPA Drivers
 ------------
 T: git://dpdk.org/next/dpdk-next-virtio
 vDPA Drivers
 ------------
 T: git://dpdk.org/next/dpdk-next-virtio
index f7a8824f52a0377faf67739acbe77a1ac74bbc05..f76585f1650b93e51f0f744d4b3cdb421f4233d1 100644 (file)
@@ -374,6 +374,11 @@ CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
 CONFIG_RTE_LIBRTE_MLX5_PMD=n
 CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
 
 CONFIG_RTE_LIBRTE_MLX5_PMD=n
 CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
 
+#
+# Compile regex-oriented Mellanox PMD
+#
+CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD=n
+
 #
 # Compile vdpa-oriented Mellanox ConnectX-6 & BlueField (MLX5) PMD
 #
 #
 # Compile vdpa-oriented Mellanox ConnectX-6 & BlueField (MLX5) PMD
 #
index 700e05e170af308c1da6f80ab0e74029d89f5e84..d8fe5cccd79ba41207d41180f17d0123f0d288e4 100644 (file)
@@ -47,7 +47,7 @@ release = version
 master_doc = 'index'
 
 # Maximum feature description string length
 master_doc = 'index'
 
 # Maximum feature description string length
-feature_str_len = 25
+feature_str_len = 30
 
 # Figures, tables and code-blocks automatically numbered if they have caption
 numfig = True
 
 # Figures, tables and code-blocks automatically numbered if they have caption
 numfig = True
@@ -409,6 +409,11 @@ def setup(app):
                             'Features',
                             'Features availability in compression drivers',
                             'Feature')
                             'Features',
                             'Features availability in compression drivers',
                             'Feature')
+    table_file = dirname(__file__) + '/regexdevs/overview_feature_table.txt'
+    generate_overview_table(table_file, 1,
+                            'Features',
+                            'Features availability in regex drivers',
+                            'Feature')
     table_file = dirname(__file__) + '/vdpadevs/overview_feature_table.txt'
     generate_overview_table(table_file, 1,
                             'Features',
     table_file = dirname(__file__) + '/vdpadevs/overview_feature_table.txt'
     generate_overview_table(table_file, 1,
                             'Features',
index 988c6ea8700d94e50a1c9a9d760c921d159fc6ef..857f0363d3914578fd1d715826de59843f3bc7f4 100644 (file)
@@ -20,6 +20,7 @@ DPDK documentation
    cryptodevs/index
    compressdevs/index
    vdpadevs/index
    cryptodevs/index
    compressdevs/index
    vdpadevs/index
+   regexdevs/index
    eventdevs/index
    rawdevs/index
    mempool/index
    eventdevs/index
    rawdevs/index
    mempool/index
diff --git a/doc/guides/regexdevs/features/default.ini b/doc/guides/regexdevs/features/default.ini
new file mode 100644 (file)
index 0000000..10f6c50
--- /dev/null
@@ -0,0 +1,32 @@
+;
+; Features of a default RegEx driver.
+;
+; This file defines the features that are valid for inclusion in
+; the other driver files and also the order that they appear in
+; the features table in the documentation. The feature description
+; string should not exceed feature_str_len defined in conf.py.
+;
+[Features]
+Cross buffer                =
+PCRE start anchor           =
+PCRE atomic grouping        =
+PCRE back reference         =
+PCRE back tracking ctrl     =
+PCRE call outs              =
+PCRE forward reference      =
+PCRE greedy                 =
+PCRE match all              =
+PCRE match as end           =
+PCRE match point rst        =
+PCRE New line conventions   =
+PCRE new line SEQ           =
+PCRE look around            =
+PCRE possessive qualifiers  =
+PCRE subroutine references  =
+PCRE UTF 8                  =
+PCRE UTF 16                 =
+PCRE UTF 32                 =
+PCRE word boundary          =
+Run time compilation        =
+Armv8                       =
+x86                         =
diff --git a/doc/guides/regexdevs/features/mlx5.ini b/doc/guides/regexdevs/features/mlx5.ini
new file mode 100644 (file)
index 0000000..9f1116f
--- /dev/null
@@ -0,0 +1,8 @@
+;
+; Supported features of the 'mlx5' RegEx driver.
+;
+; Refer to default.ini for the full list of available driver features.
+;
+[Features]
+Armv8                = Y
+x86                  = Y
diff --git a/doc/guides/regexdevs/features_overview.rst b/doc/guides/regexdevs/features_overview.rst
new file mode 100644 (file)
index 0000000..f90b394
--- /dev/null
@@ -0,0 +1,100 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+   Copyright 2020 Mellanox Technologies, Ltd
+
+Overview of RegEx Drivers Features
+==================================
+
+This section explains the supported features that are listed in the table below.
+
+Cross buffer
+  Support cross buffer detection.
+
+PCRE start anchor
+  Support PCRE start anchor.
+
+PCRE atomic grouping
+  Support PCRE atomic grouping.
+
+PCRE back reference
+  Support PCRE back regerence.
+
+PCRE back tracking ctrl
+  Support PCRE back tracking ctrl.
+
+PCRE call outs
+  Support PCRE call outes.
+
+PCRE forward reference
+  Support Forward reference.
+
+PCRE greedy
+  Support PCRE greedy mode.
+
+PCRE match all
+  Support PCRE match all.
+
+PCRE match as end
+  Support match as end.
+
+PCRE match point rst
+  Support PCRE match point reset directive.
+
+PCRE New line conventions
+  Support new line conventions.
+
+PCRE new line SEQ
+  Support new line sequence.
+
+PCRE look around
+  Support PCRE look around.
+
+PCRE possessive qualifiers
+  Support PCRE possessive qualifiers.
+
+PCRE subroutine references
+  Support PCRE subroutine references.
+
+PCRE UTF 8
+  Support UTF-8.
+
+PCRE UTF 16
+  Support UTF-16.
+
+PCRE UTF 32
+  Support UTF-32.
+
+PCRE word boundary
+  Support word boundaries.
+
+Run time compilation
+  Support compilation during run time.
+
+Armv8
+  Support armv8 (64bit) architecture.
+
+x86
+  Support x86 architecture.
+
+.. note::
+
+   Most of the features capabilities should be provided by the drivers via the
+   RegEx ``info_get`` operation.
+
+
+References
+==========
+
+  * `PCRE: PCRE pattern man page <https://www.pcre.org/original/doc/html/pcrepattern.html>`_
+
+
+Features Table
+==============
+
+.. _table_regex_pmd_features:
+
+.. include:: overview_feature_table.txt
+
+.. Note::
+
+   Features marked with "P" are partially supported. Refer to the appropriate
+   driver guide in the following sections for details.
diff --git a/doc/guides/regexdevs/index.rst b/doc/guides/regexdevs/index.rst
new file mode 100644 (file)
index 0000000..49216a9
--- /dev/null
@@ -0,0 +1,15 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+   Copyright 2020 Mellanox Technologies, Ltd
+
+REGEX Device Drivers
+====================
+
+The following are a list of RegEx (Regular Expression) device drivers,
+which can be used from an application through RegEx API.
+
+.. toctree::
+   :maxdepth: 2
+   :numbered:
+
+   features_overview
+   mlx5
diff --git a/doc/guides/regexdevs/mlx5.rst b/doc/guides/regexdevs/mlx5.rst
new file mode 100644 (file)
index 0000000..0e6ee8c
--- /dev/null
@@ -0,0 +1,53 @@
+.. SPDX-License-Identifier: BSD-3-Clause
+   Copyright 2020 Mellanox Technologies, Ltd
+
+.. include:: <isonum.txt>
+
+MLX5 RegEx driver
+=================
+
+The MLX5 RegEx (Regular Expression) driver library
+(**librte_pmd_mlx5_regex**) provides support for **Mellanox BlueField 2**
+families of 25/50/100/200 Gb/s adapters.
+
+Design
+------
+
+This PMD is configuring the RegEx HW engine.
+For the PMD to work, the application must supply
+a precompiled rule file in rof2 format.
+
+The PMD uses libibverbs and libmlx5 to access the device firmware
+or directly the hardware components.
+There are different levels of objects and bypassing abilities
+to get the best performances:
+
+- Verbs is a complete high-level generic API
+- Direct Verbs is a device-specific API
+- DevX allows to access firmware objects
+
+Enabling librte_pmd_mlx5_regex causes DPDK applications to be linked against
+libibverbs.
+
+Mellanox mlx5 pci device can be probed by number of different pci devices,
+for example net / vDPA / RegEx. To select the RegEx PMD ``class=regex`` should
+be specified as device parameter. The RegEx device can be probed and used with
+other Mellanox devices, by adding more options in the class.
+For example: ``class=net:regex`` will probe both the net PMD and the RegEx PMD.
+
+Supported NICs
+--------------
+
+* Mellanox\ |reg| BlueField 2 SmartNIC
+
+Prerequisites
+-------------
+
+- BlueField 2 running Mellanox supported kernel.
+- Enable the RegEx capabilities using system call from the BlueField 2.
+- Official support is not yet released.
+
+Run-time configuration
+~~~~~~~~~~~~~~~~~~~~~~
+
+- **ethtool** operations on related kernel interfaces also affect the PMD.
index 2c8ac364704b54864839ce55531dd41552a67f97..75e05b6d3f3a170f305e9a791544c7a686c55b60 100644 (file)
@@ -81,6 +81,8 @@ New Features
   Added the RegEx library which provides an API for offload of regular
   expressions search operations to hardware or software accelerator devices.
 
   Added the RegEx library which provides an API for offload of regular
   expressions search operations to hardware or software accelerator devices.
 
+  Added Mellanox RegEx PMD, allowing to offload RegEx searches.
+
 * **Added eCPRI protocol support in rte_flow.**
 
   The ``ECPRI`` item has been added to support eCPRI packet offloading for
 * **Added eCPRI protocol support in rte_flow.**
 
   The ``ECPRI`` item has been added to support eCPRI packet offloading for
index c70bdf9ccf5d0862d315aa5b5d5b144aca155123..1551272efad18a40ac80631fa1a05b4960de3513 100644 (file)
@@ -18,6 +18,8 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += common/qat
 DEPDIRS-common/qat := bus mempool
 DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
 DEPDIRS-compress := bus mempool
 DEPDIRS-common/qat := bus mempool
 DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
 DEPDIRS-compress := bus mempool
+DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += regex
+DEPDIRS-regex := common bus
 DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vdpa
 DEPDIRS-vdpa := common bus mempool
 DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
 DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vdpa
 DEPDIRS-vdpa := common bus mempool
 DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
index df2e840cf6101a30934001b37297bb65a2b43c67..cbc71077cf48613d3a2647753154edbb5692a737 100644 (file)
@@ -36,7 +36,7 @@ ifneq (,$(findstring y,$(IAVF-y)))
 DIRS-y += iavf
 endif
 
 DIRS-y += iavf
 endif
 
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)
+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
 DIRS-y += mlx5
 endif
 
 DIRS-y += mlx5
 endif
 
index f6c762bf0ce9812bfa424ce0a8132f81c6f2f9cb..5f12be3f5201f6b7438b89e966059b50dbd516bf 100644 (file)
@@ -10,7 +10,7 @@ LIB_GLUE_BASE = librte_pmd_mlx5_glue.so
 LIB_GLUE_VERSION = 20.02.0
 
 # Sources.
 LIB_GLUE_VERSION = 20.02.0
 
 # Sources.
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)
+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
 ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
 SRCS-y += linux/mlx5_glue.c
 endif
 ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
 SRCS-y += linux/mlx5_glue.c
 endif
@@ -344,7 +344,7 @@ mlx5_autoconf.h: mlx5_autoconf.h.new
                cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
                mv '$<' '$@'
 
                cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
                mv '$<' '$@'
 
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)
+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
 $(SRCS-y:.c=.o): mlx5_autoconf.h
 endif
 
 $(SRCS-y:.c=.o): mlx5_autoconf.h
 endif
 
index 2851507058217e47680545efd6d78f56eadb16f3..a68e61cbd27b12ae4cec1a643738bf1b4c558301 100644 (file)
@@ -210,6 +210,7 @@ int mlx5_get_ifname_sysfs(const char *ibdev_path, char *ifname);
 enum mlx5_class {
        MLX5_CLASS_NET,
        MLX5_CLASS_VDPA,
 enum mlx5_class {
        MLX5_CLASS_NET,
        MLX5_CLASS_VDPA,
+       MLX5_CLASS_REGEX,
        MLX5_CLASS_INVALID,
 };
 
        MLX5_CLASS_INVALID,
 };
 
index 161cfda043e87bbc9d49c7f3700bb1c80bd20596..e76ebddfa02a7e962b8e6246c1b76862e87723dd 100644 (file)
@@ -9,6 +9,7 @@ dpdk_driver_classes = ['common',
               'raw',     # depends on common, bus and net.
               'crypto',  # depends on common, bus and mempool (net in future).
               'compress', # depends on common, bus, mempool.
               'raw',     # depends on common, bus and net.
               'crypto',  # depends on common, bus and mempool (net in future).
               'compress', # depends on common, bus, mempool.
+              'regex', # depends on common, bus, regexdev.
               'vdpa',    # depends on common, bus and mempool.
               'event',   # depends on common, bus, mempool and net.
               'baseband'] # depends on common and bus.
               'vdpa',    # depends on common, bus and mempool.
               'event',   # depends on common, bus, mempool and net.
               'baseband'] # depends on common and bus.
diff --git a/drivers/regex/Makefile b/drivers/regex/Makefile
new file mode 100644 (file)
index 0000000..906b205
--- /dev/null
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+DIRS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5
+
+include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/regex/meson.build b/drivers/regex/meson.build
new file mode 100644 (file)
index 0000000..8edeba3
--- /dev/null
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+drivers = ['mlx5']
+std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
+config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
+driver_name_fmt = 'rte_pmd_@0@'
diff --git a/drivers/regex/mlx5/Makefile b/drivers/regex/mlx5/Makefile
new file mode 100644 (file)
index 0000000..d9a1573
--- /dev/null
@@ -0,0 +1,34 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+include $(RTE_SDK)/mk/rte.vars.mk
+
+# Library name.
+LIB = librte_pmd_mlx5_regex.a
+
+# Sources.
+SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex.c
+
+# Basic CFLAGS.
+CFLAGS += -O3
+CFLAGS += -std=c11 -Wall -Wextra
+CFLAGS += -g
+CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
+CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
+CFLAGS += -D_BSD_SOURCE
+CFLAGS += -D_DEFAULT_SOURCE
+CFLAGS += -D_XOPEN_SOURCE=600
+CFLAGS += $(WERROR_FLAGS)
+CFLAGS += -Wno-strict-prototypes
+LDLIBS += -lrte_common_mlx5
+LDLIBS += -lm
+LDLIBS += -lrte_eal -lrte_mbuf -lrte_regexdev
+LDLIBS += -lrte_kvargs
+LDLIBS += -lrte_bus_pci
+
+# A few warnings cannot be avoided in external headers.
+CFLAGS += -Wno-error=cast-qual
+
+EXPORT_MAP := rte_pmd_mlx5_regex_version.map
+
+include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/regex/mlx5/meson.build b/drivers/regex/mlx5/meson.build
new file mode 100644 (file)
index 0000000..6ebe6d4
--- /dev/null
@@ -0,0 +1,26 @@
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright 2020 Mellanox Technologies, Ltd
+
+if not is_linux
+       build = false
+       reason = 'only supported on Linux'
+       subdir_done()
+endif
+
+fmt_name = 'mlx5_regex'
+deps += ['common_mlx5', 'bus_pci', 'eal', 'regexdev']
+sources = files(
+       'mlx5_regex.c',
+)
+cflags_options = [
+       '-std=c11',
+       '-Wno-strict-prototypes',
+       '-D_BSD_SOURCE',
+       '-D_DEFAULT_SOURCE',
+       '-D_XOPEN_SOURCE=600'
+]
+foreach option:cflags_options
+       if cc.has_argument(option)
+               cflags += option
+       endif
+endforeach
diff --git a/drivers/regex/mlx5/mlx5_regex.c b/drivers/regex/mlx5/mlx5_regex.c
new file mode 100644 (file)
index 0000000..b942a75
--- /dev/null
@@ -0,0 +1,5 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2020 Mellanox Technologies, Ltd
+ */
+
+#include "mlx5_regex.h"
diff --git a/drivers/regex/mlx5/mlx5_regex.h b/drivers/regex/mlx5/mlx5_regex.h
new file mode 100644 (file)
index 0000000..0e0495c
--- /dev/null
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright 2020 Mellanox Technologies, Ltd
+ */
+
+#ifndef MLX5_REGEX_H
+#define MLX5_REGEX_H
+
+#endif /* MLX5_REGEX_H */
diff --git a/drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map b/drivers/regex/mlx5/rte_pmd_mlx5_regex_version.map
new file mode 100644 (file)
index 0000000..4a76d1d
--- /dev/null
@@ -0,0 +1,3 @@
+DPDK_21 {
+       local: *;
+};
index 0ce8cf5417bc817986a311379a80b59512247b89..1b9551ecf2c2b5d08c69a3b0695b5b6524501acd 100644 (file)
@@ -201,11 +201,12 @@ endif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_LIO_PMD)        += -lrte_pmd_lio
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF)      += -lrte_pmd_memif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4
 _LDLIBS-$(CONFIG_RTE_LIBRTE_LIO_PMD)        += -lrte_pmd_lio
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF)      += -lrte_pmd_memif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)
+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
 _LDLIBS-y                                   += -lrte_common_mlx5
 endif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)  += -lrte_pmd_mlx5_vdpa
 _LDLIBS-y                                   += -lrte_common_mlx5
 endif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)  += -lrte_pmd_mlx5_vdpa
+_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)  += -lrte_pmd_mlx5_regex
 ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
 _LDLIBS-y                                   += -ldl
 else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
 ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
 _LDLIBS-y                                   += -ldl
 else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
@@ -214,7 +215,7 @@ _LDLIBS-y                                   += --no-whole-archive
 _LDLIBS-y                                   += $(LIBS_IBVERBS_STATIC)
 _LDLIBS-y                                   += --whole-archive
 else
 _LDLIBS-y                                   += $(LIBS_IBVERBS_STATIC)
 _LDLIBS-y                                   += --whole-archive
 else
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)),y)
+ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
 _LDLIBS-y                                   += -libverbs -lmlx5
 endif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs -lmlx4
 _LDLIBS-y                                   += -libverbs -lmlx5
 endif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs -lmlx4