[dpdk-dev] [PATCH v2 0/4] Mellanox ConnectX-3 PMD

2015-02-21 Thread Adrien Mazarguil
://www.openfabrics.org/ [2] http://www.mellanox.com/page/products_dyn?product_family=26=linux_sw_drivers v2: - Include minor bugfix for VLAN filtering. - Add maintainers entry. - Add documentation. Adrien Mazarguil (4): scripts: add auto-config-h.sh mlx4: new poll mode driver maintainers: claim

[dpdk-dev] [PATCH v2 1/4] scripts: add auto-config-h.sh

2015-02-21 Thread Adrien Mazarguil
This script looks for types, macros and functions in header files using compilation options found in the environment (CC, CFLAGS, CPPFLAGS) to define feature macros in a generated header. Useful in combination with external headers that do not provide such macros. Signed-off-by: Adrien Mazarguil

[dpdk-dev] [PATCH v2 2/4] mlx4: new poll mode driver

2015-02-21 Thread Adrien Mazarguil
userland at the moment partly because /sys (sysfs) support is required. Signed-off-by: Adrien Mazarguil Signed-off-by: Olga Shern --- config/common_bsdapp | 11 + config/common_linuxapp | 11 + lib/Makefile |1 + lib/librte_pmd_mlx4/Makefile | 119 ++ lib

[dpdk-dev] [PATCH v2 3/4] maintainers: claim responsibility for mlx4 PMD

2015-02-21 Thread Adrien Mazarguil
Signed-off-by: Adrien Mazarguil --- MAINTAINERS | 4 1 file changed, 4 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 7ac6d59..b4328d6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -217,6 +217,10 @@ Intel fm10k M: Jing Chen F: lib/librte_pmd_fm10k/ +Mellanox mlx4 +M: Adrien

[dpdk-dev] [PATCH v2 4/4] doc: add librte_pmd_mlx4 documentation

2015-02-21 Thread Adrien Mazarguil
This documentation covers implementation details, features and limitations, configuration, prerequisites and provides a usage example. Signed-off-by: Adrien Mazarguil --- doc/guides/prog_guide/index.rst | 1 + doc/guides/prog_guide/mlx4_poll_mode_drv.rst | 327

[dpdk-dev] [PATCH v3 0/3] Mellanox ConnectX-3 PMD

2015-02-25 Thread Adrien Mazarguil
. - Remove unwanted executable bits. - Fix coding style and typos found by checkpatch. - Add shared library compilation support. Adrien Mazarguil (3): scripts: check features to generate configuration header mlx4: new poll mode driver doc: add librte_pmd_mlx4 documentation MAINTAINERS

[dpdk-dev] [PATCH v3 1/3] scripts: check features to generate configuration header

2015-02-25 Thread Adrien Mazarguil
This script looks for types, macros and functions in header files using compilation options found in the environment (CC, CFLAGS, CPPFLAGS) to define feature macros in a generated header. Useful in combination with external headers that do not provide such macros. Signed-off-by: Adrien Mazarguil

[dpdk-dev] [PATCH v3 2/3] mlx4: new poll mode driver

2015-02-25 Thread Adrien Mazarguil
userland at the moment partly because /sys (sysfs) support is required. Also claim responsibility in the MAINTAINERS file. Signed-off-by: Adrien Mazarguil Signed-off-by: Olga Shern --- MAINTAINERS |4 + config/common_bsdapp | 11

[dpdk-dev] [PATCH v3 3/3] doc: add librte_pmd_mlx4 documentation

2015-02-25 Thread Adrien Mazarguil
This documentation covers implementation details, features and limitations, configuration, prerequisites and provides a usage example. Signed-off-by: Adrien Mazarguil --- MAINTAINERS | 1 + doc/guides/prog_guide/index.rst | 1 + doc/guides

[dpdk-dev] [PATCH v3 0/3] Mellanox ConnectX-3 PMD

2015-02-26 Thread Adrien Mazarguil
ion. In short, unload mlx4_core, mlx4_en, mlx4_ib and ib_uverbs, install this package, run depmod and load them again. Since they have similar names, the updated kernel modules should be found in a "extra" or "updates" subdirectory of /lib/modules and come first when queried by modinfo. [1] http://www.mellanox.com/page/products_dyn?product_family=26=linux_sw_drivers -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] mlx4: avoid init errors when kernel modules are not loaded

2015-02-27 Thread Adrien Mazarguil
ce "mlx4_1" (VF: false) PMD: librte_pmd_mlx4: cannot use device, are drivers up to date? EAL: No probed ethernet devices [...] Signed-off-by: Adrien Mazarguil --- lib/librte_pmd_mlx4/mlx4.c | 14 -- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/librte_p

[dpdk-dev] [PATCH] mbuf: fix tunnel flags check

2015-07-23 Thread Adrien Mazarguil
types") > > Signed-off-by: Thomas Monjalon Makes sense. Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH 00/16] mlx4: MOFED 3.0 support, bugfixes and enhancements

2015-06-06 Thread Adrien Mazarguil
This patchset adds compatibility with the upcoming Mellanox OFED 3.0 release (new kernel drivers and userland support libraries), which supports new features such as L3/L4 checksum validation offloads and addresses several bugs and limitations at the same time. Adrien Mazarguil (3): mlx4: add

[dpdk-dev] [PATCH 01/16] mlx4: add MOFED 3.0 compatibility to interfaces names retrieval

2015-06-06 Thread Adrien Mazarguil
Since Mellanox OFED 3.0 and Linux 3.15, interface port numbers are stored in dev_port instead of dev_id sysfs files. Signed-off-by: Or Ami Signed-off-by: Nitzan Weller Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 51 + 1 file

[dpdk-dev] [PATCH 02/16] mlx4: use experimental verbs for polling and completions

2015-06-06 Thread Adrien Mazarguil
This API implements additional flags in work completions that are required to support checksum offloads. Signed-off-by: Gilad Berman Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/drivers

[dpdk-dev] [PATCH 03/16] mlx4: make sure experimental device query function is implemented

2015-06-06 Thread Adrien Mazarguil
From: Olga Shern <ol...@mellanox.com> HAVE_EXP_QUERY_DEVICE is used to check whether ibv_exp_query_device() can be used. RSS and inline receive features depend on it. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 4 drivers/net/mlx4/

[dpdk-dev] [PATCH 04/16] mlx4: add L3 and L4 RX checksum offload support

2015-06-06 Thread Adrien Mazarguil
From: Gilad Berman <gil...@mellanox.com> Mellanox ConnectX-3 adapters can handle L3 (IPv4) and L4 (TCP, UDP, TCP6, UDP6) RX checksums validation, with and without 802.1Q (VLAN) headers. Signed-off-by: Gilad Berman Signed-off-by: Adrien Mazarguil Acked-by: Guillaume Gaudonville --- d

[dpdk-dev] [PATCH 05/16] mlx4: add L2 tunnel (VXLAN) RX checksum offload support

2015-06-06 Thread Adrien Mazarguil
Depending on adapters features and VXLAN support in the kernel, VXLAN frames can be automatically recognized, in which case checksum validation occurs on inner and outer L3 and L4. Signed-off-by: Adrien Mazarguil Acked-by: Guillaume Gaudonville --- drivers/net/mlx4/mlx4.c | 34

[dpdk-dev] [PATCH 06/16] mlx4: use faster CQ polling function

2015-06-06 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> Replace ibv_exp_poll_cq() with direct function call to improve performance. Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff

[dpdk-dev] [PATCH 07/16] mlx4: update optimized steering warning message

2015-06-06 Thread Adrien Mazarguil
From: Olga Shern <ol...@mellanox.com> This feature is now also supported in VMs. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/

[dpdk-dev] [PATCH 08/16] mlx4: avoid looking up WR ID to improve RX performance

2015-06-06 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> This is done by storing the current index in the RX queue structure. Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 24 ++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff

[dpdk-dev] [PATCH 09/16] mlx4: merge RX queue setup functions

2015-06-06 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> Make rxq_setup_qp() handle inline support like rxq_setup_qp_rss() instead of having two separate functions. Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.

[dpdk-dev] [PATCH 10/16] mlx4: allow applications to use fork() safely

2015-06-06 Thread Adrien Mazarguil
From: Olga Shern <ol...@mellanox.com> Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index f7186fa..cc16e8c 100644 --- a/drivers/net/mlx4/

[dpdk-dev] [PATCH 11/16] mlx4: improve accuracy of link status information

2015-06-06 Thread Adrien Mazarguil
ed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 44 +--- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index cc16e8c..f9faeb0 100644 --- a/drivers/net/mlx

[dpdk-dev] [PATCH 12/16] mlx4: add support for upstream flow steering API

2015-06-06 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> This commit makes librte_pmd_mlx4 support both the extended Verbs API from upstream and the original experimental Verbs API. Signed-off-by: Olga Shern Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefil

[dpdk-dev] [PATCH 13/16] mlx4: fix error message for invalid number of descriptors

2015-06-06 Thread Adrien Mazarguil
From: Or Ami <o...@mellanox.com> The number of descriptors must be a multiple of MLX4_PMD_SGE_WR_N. Signed-off-by: Or Ami Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drive

[dpdk-dev] [PATCH 14/16] mlx4: remove provision for flow creation failure in DMFS A0 mode

2015-06-06 Thread Adrien Mazarguil
From: Or Ami <o...@mellanox.com> Starting from MLNX_OFED 3.0 FW 2.34.5000 when working with optimized steering mode (-7) QPs can be attached to the port's MAC, therefore no need for the check. Signed-off-by: Or Ami Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drive

[dpdk-dev] [PATCH 15/16] mlx4: fix support for multiple VLAN filters

2015-06-06 Thread Adrien Mazarguil
ecifications per configured MAC address. Signed-off-by: Olga Shern Signed-off-by: Or Ami Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 174 1 file changed, 115 insertions(+), 59 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/

[dpdk-dev] [PATCH 16/16] mlx4: query netdevice to get initial MAC address

2015-06-06 Thread Adrien Mazarguil
ed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 34 ++ 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 4c4f693..04cc5e1 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/

[dpdk-dev] [PATCH] mlx4: fix compilation warnings for 32 bit

2015-06-12 Thread Adrien Mazarguil
D(wr_id).offset); > struct rte_mbuf *rep; > > /* Sanity checks. */ > @@ -2891,7 +2895,8 @@ rxq_rehash(struct rte_eth_dev *dev, struct rxq *rxq) > for (i = 0; (i != elemof(*elts)); ++i) { > struct rxq_elt *elt = &(

[dpdk-dev] [PATCH v2 1/3] spinlock: add support for HTM lock elision for x86

2015-06-22 Thread Adrien Mazarguil
t that, as a PMD's Makefile is obviously not the right place to add a -pedantic parameter anyway. However outside of PMD usage, I think public API headers (I'm not talking about the entire DPDK code base, just headers) should handle all kind of warnings a user application might throw at it for its own

[dpdk-dev] [PATCH 0/2] add mlx4 release notes

2015-08-11 Thread Adrien Mazarguil
Following John McNamara's changes we've noticed that mlx4 release notes were missing from DPDK 2.0.0. This patchset adds them retroactively and also provides mlx4 release notes for DPDK 2.1.0. Adrien Mazarguil (2): doc: add missing release notes for mlx4 availability in DPDK 2.0.0 doc: add

[dpdk-dev] [PATCH 1/2] doc: add missing release notes for mlx4 availability in DPDK 2.0.0

2015-08-11 Thread Adrien Mazarguil
Signed-off-by: Adrien Mazarguil --- doc/guides/rel_notes/release_2_0.rst | 6 ++ 1 file changed, 6 insertions(+) diff --git a/doc/guides/rel_notes/release_2_0.rst b/doc/guides/rel_notes/release_2_0.rst index 4341a0c..62737ae 100644 --- a/doc/guides/rel_notes/release_2_0.rst +++ b/doc

[dpdk-dev] [PATCH 2/2] doc: add mlx4 release notes to DPDK 2.1.0

2015-08-11 Thread Adrien Mazarguil
Signed-off-by: Adrien Mazarguil --- doc/guides/rel_notes/release_2_1.rst | 20 1 file changed, 20 insertions(+) diff --git a/doc/guides/rel_notes/release_2_1.rst b/doc/guides/rel_notes/release_2_1.rst index c39418c..00edd4b 100644 --- a/doc/guides/rel_notes/release_2_1.rst

[dpdk-dev] [PATCH v2] mk: fix objects/library order when linking

2015-12-04 Thread Adrien Mazarguil
n commitlog since Thomas does not like "safer" > argument :-) Obvious issue that did not show up in our tests under Debian. Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] doc: announce ABI change for link speed

2015-12-15 Thread Adrien Mazarguil
> > Signed-off-by: Thomas Monjalon Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] eal: fix cpu_feature_table[] compilation with -pedantic

2015-06-29 Thread Adrien Mazarguil
rte_cpuflags.h. Fixes: ba7468997ea6 ("spinlock: add HTM lock elision for x86") Signed-off-by: Adrien Mazarguil --- lib/librte_eal/common/include/generic/rte_cpuflags.h | 4 1 file changed, 4 insertions(+) diff --git a/lib/librte_eal/common/include/generic/rte_cpuflags.h b/lib/

[dpdk-dev] [PATCH v2 00/23] mlx4: MOFED 3.0 support, bugfixes and enhancements

2015-06-30 Thread Adrien Mazarguil
when allocating mbufs. - Several API changes following the release of Mellanox OFED 3.0. - Performance improvements made possible by the new API. - Add TX checksum offloads. - Update documentation to reflect the changes. Adrien Mazarguil (6): mlx4: fix possible crash on scattered mbuf

[dpdk-dev] [PATCH v2 01/23] mlx4: fix possible crash on scattered mbuf allocation failure

2015-06-30 Thread Adrien Mazarguil
When failing to allocate a segment, mlx4_rx_burst_sp() may call rte_pktmbuf_free() on an incomplete scattered mbuf whose next pointer in the last segment is not set. Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git

[dpdk-dev] [PATCH v2 02/23] mlx4: add MOFED 3.0 compatibility to interfaces names retrieval

2015-06-30 Thread Adrien Mazarguil
Since Mellanox OFED 3.0 and Linux 3.15, interface port numbers are stored in dev_port instead of dev_id sysfs files. Signed-off-by: Or Ami Signed-off-by: Nitzan Weller Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 51 + 1 file

[dpdk-dev] [PATCH v2 03/23] mlx4: make sure experimental device query function is implemented

2015-06-30 Thread Adrien Mazarguil
From: Olga Shern <ol...@mellanox.com> HAVE_EXP_QUERY_DEVICE is used to check whether ibv_exp_query_device() can be used. RSS and inline receive features depend on it. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 4 drivers/net/mlx4/

[dpdk-dev] [PATCH v2 04/23] mlx4: avoid looking up WR ID to improve RX performance

2015-06-30 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> This is done by storing the current index in the RX queue structure. Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 24 ++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff

[dpdk-dev] [PATCH v2 05/23] mlx4: merge RX queue setup functions

2015-06-30 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> Make rxq_setup_qp() handle inline support like rxq_setup_qp_rss() instead of having two separate functions. Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.

[dpdk-dev] [PATCH v2 06/23] mlx4: allow applications to partially use fork()

2015-06-30 Thread Adrien Mazarguil
From: Olga Shern <ol...@mellanox.com> Although using the PMD from a forked process is still unsupported, this commit makes Verbs safe enough for applications to call fork() for other purposes. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4

[dpdk-dev] [PATCH v2 07/23] mlx4: improve accuracy of link status information

2015-06-30 Thread Adrien Mazarguil
ed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 44 +--- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index ed68beb..02dd894 100644 --- a/drivers/net/mlx

[dpdk-dev] [PATCH v2 08/23] mlx4: use MOFED 3.0 extended flow steering API

2015-06-30 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> This commit drops "exp" from related function and type names to stop using the experimental API. Signed-off-by: Olga Shern Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/

[dpdk-dev] [PATCH v2 09/23] mlx4: fix error message for invalid number of descriptors

2015-06-30 Thread Adrien Mazarguil
From: Or Ami <o...@mellanox.com> The number of descriptors must be a multiple of MLX4_PMD_SGE_WR_N. Signed-off-by: Or Ami Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drive

[dpdk-dev] [PATCH v2 10/23] mlx4: remove provision for flow creation failure in DMFS A0 mode

2015-06-30 Thread Adrien Mazarguil
From: Or Ami <o...@mellanox.com> Starting from MLNX_OFED 3.0 FW 2.34.5000 when working with optimized steering mode (-7) QPs can be attached to the port's MAC, therefore no need for the check. Signed-off-by: Or Ami Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drive

[dpdk-dev] [PATCH v2 11/23] mlx4: fix support for multiple VLAN filters

2015-06-30 Thread Adrien Mazarguil
ecifications per configured MAC address. Signed-off-by: Olga Shern Signed-off-by: Or Ami Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 174 1 file changed, 115 insertions(+), 59 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/

[dpdk-dev] [PATCH v2 12/23] mlx4: query netdevice to get initial MAC address

2015-06-30 Thread Adrien Mazarguil
ed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 34 ++ 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 37aca55..cdc679a 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/

[dpdk-dev] [PATCH v2 13/23] mlx4: use MOFED 3.0 fast verbs interface for RX operations

2015-06-30 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> This commit replaces the CQ polling and QP posting functions (mlx4_rx_burst() only) with a new low level interface to improve performance. Signed-off-by: Alex Rosenbaum Signed-off-by: Gilad Berman Signed-off-by: Adrien Mazarguil --- drivers/ne

[dpdk-dev] [PATCH v2 14/23] mlx4: improve performance by requesting TX completion events less often

2015-06-30 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> Instead of requesting a completion event for each TX burst, request it on a fixed schedule once every MLX4_PMD_TX_PER_COMP_REQ (currently 64) packets to improve performance. Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drive

[dpdk-dev] [PATCH v2 15/23] mlx4: use MOFED 3.0 fast verbs interface for TX operations

2015-06-30 Thread Adrien Mazarguil
Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 4 -- drivers/net/mlx4/mlx4.c | 167 +++--- 2 files changed, 85 insertions(+), 86 deletions(-) diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile index ce1f2b0..fd74

[dpdk-dev] [PATCH v2 16/23] mlx4: move scattered TX processing to helper function

2015-06-30 Thread Adrien Mazarguil
This commit makes scattered TX support entirely optional by moving it to a separate function that is only available when MLX4_PMD_SGE_WR_N > 1. Improves performance when scattered support is not needed. Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx

[dpdk-dev] [PATCH v2 17/23] mlx4: shrink TX queue elements for better performance

2015-06-30 Thread Adrien Mazarguil
g SGEs. For scattered mbufs, SGEs are allocated on the stack and passed to send_pending_sg_list(). Signed-off-by: Alex Rosenbaum Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 244 +--- 1 file changed, 84 insertions(+), 160 deletions(-) diff

[dpdk-dev] [PATCH v2 19/23] mlx4: add L3 and L4 checksum offload support

2015-06-30 Thread Adrien Mazarguil
From: Gilad Berman <gil...@mellanox.com> Mellanox ConnectX-3 adapters can handle L3 (IPv4) and L4 (TCP, UDP, TCP6, UDP6) RX checksums validation and TX checksums generation, with and without 802.1Q (VLAN) headers. Signed-off-by: Gilad Berman Signed-off-by: Olga Shern Signed-off-by:

[dpdk-dev] [PATCH v2 20/23] mlx4: add L2 tunnel (VXLAN) checksum offload support

2015-06-30 Thread Adrien Mazarguil
Depending on adapters features and VXLAN support in the kernel, VXLAN frames can be automatically recognized, in which case checksum validation and generation occurs on inner and outer L3 and L4. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/mlx4.c | 49

[dpdk-dev] [PATCH v2 21/23] mlx4: associate resource domain with CQs and QPs to enhance performance

2015-06-30 Thread Adrien Mazarguil
From: Alex Rosenbaum <al...@mellanox.com> RDs are a new feature of MOFED 3.0 that makes Verbs aware of how CQ and QP resources are being used for internal performance tuning. Signed-off-by: Alex Rosenbaum Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/

[dpdk-dev] [PATCH v2 22/23] mlx4: disable multicast echo when device is not VF

2015-06-30 Thread Adrien Mazarguil
From: Olga Shern <ol...@mellanox.com> Multicast loopback must be disabled on PF devices to prevent the adapter from sending frames back. Required with MOFED 3.0. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 5 + drivers/net/mlx4/mlx4.c

[dpdk-dev] [PATCH v2 23/23] doc: update mlx4 documentation following MOFED 3.0 changes

2015-06-30 Thread Adrien Mazarguil
. Signed-off-by: Adrien Mazarguil --- doc/guides/nics/mlx4.rst | 29 ++--- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index ac2dd56..c33aa38 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4

[dpdk-dev] [PATCH 5/7] mlx4: fix build with mempool debug enabled

2015-03-03 Thread Adrien Mazarguil
t;-pedantic" > #endif > > -/* Verbs header. */ > -/* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */ > -#ifdef PEDANTIC > -#pragma GCC diagnostic ignored "-pedantic" > -#endif > - > -#include > - > -#ifdef PEDANTIC > -#pragma GCC diagnostic error "-pedantic" > -#endif > - > /* Generated configuration header. */ > #include "mlx4_autoconf.h" > > -- > 2.2.2 Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH 6/7] mlx4: mute auto config in quiet mode

2015-03-03 Thread Adrien Mazarguil
NE_RECV_SZ > + enum IBV_EXP_DEVICE_ATTR_INLINE_RECV_SZ $(AUTOCONF_OUTPUT) > $Q sh -- '$<' '$@' \ > SEND_RAW_WR_SUPPORT \ > infiniband/verbs.h \ > - type 'struct ibv_send_wr_raw' > + type 'struct ibv_send_wr_raw

[dpdk-dev] [PATCH] mlx4: remove old VMware compatibility code

2015-03-25 Thread Adrien Mazarguil
steering API), remove it entirely. Signed-off-by: Olga Shern Signed-off-by: Adrien Mazarguil --- config/common_bsdapp | 1 - config/common_linuxapp | 1 - doc/guides/prog_guide/mlx4_poll_mode_drv.rst | 11 - lib/librte_pmd_mlx4/Makefile

[dpdk-dev] [PATCH] eal: fix type of pointer arithmetic result

2013-07-26 Thread Adrien Mazarguil
+), 3 deletions(-) Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] mem: more const qualifiers in malloc API

2013-07-26 Thread Adrien Mazarguil
c |2 +- > lib/librte_malloc/malloc_heap.h |2 +- > lib/librte_malloc/rte_malloc.c |4 ++-- > lib/librte_malloc/rte_malloc.h |2 +- > 5 files changed, 8 insertions(+), 8 deletions(-) Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH 1/2] mem: get hugepages config

2013-07-26 Thread Adrien Mazarguil
- > lib/librte_eal/linuxapp/eal/eal.c |4 > 2 files changed, 16 insertions(+), 1 deletions(-) Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] app: fix refcnt in mbuf allocation

2013-05-06 Thread Adrien Mazarguil
> + m = __rte_mbuf_raw_alloc(mp); > __rte_mbuf_sanity_check(m, RTE_MBUF_PKT, 1); > return m; > } > -- > 1.7.10.4 Looks good. Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] doc: update mlx4 usage and dependencies

2015-04-02 Thread Adrien Mazarguil
-by: Adrien Mazarguil --- doc/guides/nics/mlx4.rst | 85 1 file changed, 78 insertions(+), 7 deletions(-) diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index b26c219..93a7f57 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides

[dpdk-dev] Testpmd with Mellanox ConnectX-3

2015-04-02 Thread Adrien Mazarguil
lies on it. > I would be happy to contribute to the help page with end-to-end > instructions for using the Mellanox with testpmd. I've just submitted a patch to provide more details about the installation process, you should have a look. -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] enic: disable debug traces

2015-04-09 Thread Adrien Mazarguil
{} while (0) How about defining it as (void)0 instead of an empty do/while block? Doing so will prevent warnings if this macro happens to be used in an expression. RTE_LOG() supports it. > +#endif > > /* > * The set of PCI devices this driver supports > -- > 2.2.2 -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] enic: disable debug traces

2015-04-13 Thread Adrien Mazarguil
On Thu, Apr 09, 2015 at 09:28:53AM -0700, Stephen Hemminger wrote: > On Thu, 9 Apr 2015 10:32:24 +0200 > Adrien Mazarguil wrote: > > > > > > > +#ifdef RTE_LIBRTE_ENIC_DEBUG > > > #define ENICPMD_FUNC_TRACE() \ > > > RTE_LOG(DEBUG, PMD,

[dpdk-dev] [PATCH] enic: set correct port ID in received mbufs

2015-04-14 Thread Adrien Mazarguil
This field is not supposed to contain the RX queue index. Applications can rely on it to determine the port a given mbuf comes from. Signed-off-by: Adrien Mazarguil --- lib/librte_pmd_enic/enic.h| 1 + lib/librte_pmd_enic/enic_ethdev.c | 1 + lib/librte_pmd_enic/enic_main.c | 4

[dpdk-dev] [PATCH 0/2] Mellanox ConnectX-3 PMD

2015-01-29 Thread Adrien Mazarguil
documentation will be added in V2. [1] https://www.openfabrics.org/ [2] http://www.mellanox.com/page/products_dyn?product_family=26=linux_sw_drivers Adrien Mazarguil (2): scripts: add auto-config-h.sh mlx4: new poll mode driver config/common_bsdapp | 11 + config/common_linuxapp

[dpdk-dev] [PATCH 1/2] scripts: add auto-config-h.sh

2015-01-29 Thread Adrien Mazarguil
This script looks for types, macros and functions in header files using compilation options found in the environment (CC, CFLAGS, CPPFLAGS) to define feature macros in a generated header. Useful in combination with external headers that do not provide such macros. Signed-off-by: Adrien Mazarguil

[dpdk-dev] [PATCH 2/2] mlx4: new poll mode driver

2015-01-29 Thread Adrien Mazarguil
userland at the moment partly because /sys (sysfs) support is required. Signed-off-by: Adrien Mazarguil Signed-off-by: Olga Shern --- config/common_bsdapp | 11 + config/common_linuxapp | 11 + lib/Makefile |1 + lib/librte_pmd_mlx4/Makefile | 119 ++ lib

[dpdk-dev] [PATCH 2/2] mlx4: new poll mode driver

2015-01-29 Thread Adrien Mazarguil
On Thu, Jan 29, 2015 at 03:37:39PM +, Stephen Hemminger wrote: > On Thu, 29 Jan 2015 16:20:46 +0100 > Adrien Mazarguil wrote: > > > This PMD manages all variants of Mellanox ConnectX-3 (EN 40, EN 10, Pro EN > > 40) as well as their virtual functions in SR-IOV con

[dpdk-dev] [PATCH] doc: announce driver name changes

2016-07-22 Thread Adrien Mazarguil
rt from Christian Ehrhardt's)? Yes, since you're suggesting to prefix driver names, shall "librte_pmd_mlx5" really become "net_librte_pmd_mlx5" or shortened to "net_mlx5" instead? What about using a '/' separator instead of '_'? Will this impact directories as well ("net/mlx5" -> "net/net_mlx5")? -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] doc: announce driver name changes

2016-07-22 Thread Adrien Mazarguil
v] [PATCH] doc: announce driver name changes > > > > On 7/22/2016 1:54 PM, Adrien Mazarguil wrote: > > > Hi Pablo, > > > > > > On Fri, Jul 22, 2016 at 12:37:22PM +, De Lara Guarch, Pablo wrote: > > >> Hi, > > >> > > >>

[dpdk-dev] [PATCH] mbuf: remove inconsistent assert statements

2016-06-08 Thread Adrien Mazarguil
. Considering users are not expected to reset the reference count to satisfy assert() and that raw functions are designed on purpose without safety belts, remove these checks. Signed-off-by: Adrien Mazarguil --- lib/librte_mbuf/rte_mbuf.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib

[dpdk-dev] [PATCH] mbuf: remove inconsistent assert statements

2016-06-08 Thread Adrien Mazarguil
ake these PMDs slower and is not acceptable either. What remains is the consistency issue, I think these statements were only added to catch multiple frees, and those should be caught at a higher level, where other consistency checks are also performed. > > Signed-off-by: Adrien Mazarguil &

[dpdk-dev] [PATCH] mbuf: remove inconsistent assert statements

2016-06-08 Thread Adrien Mazarguil
r names when dealing with mbufs. > Why instead you choose to change common functions and compromise > librte_mbuf debug ability? No, I'm fine with keeping the debug ability, however I did not find a way to both keep it and fix the consistency issue without breaking something (performance or r

[dpdk-dev] supported packet types

2016-06-09 Thread Adrien Mazarguil
s in received mbufs, which is fine but not very useful. That suggestion is also in line with the recent RX checksum discussion [1], where basically HW not reporting something about a packet does not mean it is the opposite. [1] http://dpdk.org/ml/archives/dev/2016-May/039920.html > By the way, I'm working on a software implementation that return a > packet_type from a mbuf. I may need it for virtio offload, but before > that, I think it could be useful for debug purposes. I'll submit a > patchset for this in the coming days. > > Regards, > Olivier > > PS: sorry, many questions to you these days... answer when you have > the time ;) -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH 1/2] mlx: fix compilation with recent Glibc

2016-06-10 Thread Adrien Mazarguil
Various BSD ioctl macros are not exposed anymore when _XOPEN_SOURCE is defined, and linux/if.h now conflicts with net/if.h. Suggested-by: Bruce Richardson Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 1 + drivers/net/mlx4/mlx4.c| 7 +++ drivers/net/mlx5

[dpdk-dev] [PATCH 2/2] mlx: regenerate autoconf file automatically

2016-06-10 Thread Adrien Mazarguil
Mellanox PMDs must be rebuilt if a Verbs update would cause the autoconf file to differ. Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 13 +++-- drivers/net/mlx5/Makefile | 13 +++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/drivers/net

[dpdk-dev] [PATCH] mlx: fix compilation with older Glibc

2016-06-14 Thread Adrien Mazarguil
A missing define in the previous patch causes additional compilation issues. Fixes: 3025206f5060 ("mlx: fix compilation with recent Glibc") Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 1 + drivers/net/mlx5/Makefile | 1 + 2 files changed, 2 insertions(+)

[dpdk-dev] [PATCH v2] mlx: fix icc compilation error

2016-06-14 Thread Adrien Mazarguil
priv *priv, enum > hash_rxq_flow_type type) > int > priv_rehash_flows(struct priv *priv) > { > - unsigned int i; > + enum hash_rxq_flow_type i; > > - for (i = 0; (i != RTE_DIM((*priv->hash_rxqs)[0].special_flow)); ++i) > + for (i = HASH_RXQ_FLOW_TYPE_PROMISC; > + i != RTE_DIM((*priv->hash_rxqs)[0].special_flow); ++i) Here also. > if (!priv_allow_flow_type(priv, i)) { > priv_special_flow_disable(priv, i); > } else { > -- > 2.5.5 > Otherwise that fix looks fine, thanks. -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH v3] mlx: fix icc compilation error

2016-06-16 Thread Adrien Mazarguil
;mlx5: handle link status interrupts") > Fixes: 0d2186743d62 ("mlx5: manage all special flow types at once") > Fixes: 612ad38209f7 ("mlx5: fix hash Rx queue type in RSS mode") > Fixes: 083c2dd31776 ("mlx5: refactor special flows handling") > > Signed-off-by: Ferruh Yigit Acked-by: Adrien Mazarguil -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH] mlx: fix compilation with older Glibc

2016-06-20 Thread Adrien Mazarguil
On Fri, Jun 17, 2016 at 05:29:53PM +0100, Ferruh Yigit wrote: > On 6/14/2016 10:22 AM, Adrien Mazarguil wrote: > > A missing define in the previous patch causes additional compilation > > issues. > > > > Fixes: 3025206f5060 ("mlx: fix compilation with recent Glibc&

[dpdk-dev] [PATCH v2] mlx: fix compilation with Glibc 2.20

2016-06-20 Thread Adrien Mazarguil
with older versions. Suggested-by: Bruce Richardson Signed-off-by: Adrien Mazarguil --- drivers/net/mlx4/Makefile | 2 ++ drivers/net/mlx4/mlx4.c| 7 +++ drivers/net/mlx5/Makefile | 2 ++ drivers/net/mlx5/mlx5.h| 1 - drivers/net/mlx5/mlx5_ethdev.c | 7 +++ drivers/net

[dpdk-dev] [PATCH] mbuf: remove inconsistent assert statements

2016-06-20 Thread Adrien Mazarguil
I'm dropping this patch for now. We'll update our last mlx5 patchset to do it properly and keep these assert in place. Thanks. -- Adrien Mazarguil 6WIND

[dpdk-dev] [PATCH v3 00/25] Refactor mlx5 to improve performance

2016-06-22 Thread Adrien Mazarguil
; > > Changes in v3: > > - Rebased patchset on top of next-net/rel_16_07. > > > > Changes in v2: > > - Rebased patchset on top of dpdk/master. > > - Fixed CQE size on Power8. > > - Fixed mbuf assertion failure in debug mode. > > - Fixed missing class_id field

[dpdk-dev] [PATCH v3 00/25] Refactor mlx5 to improve performance

2016-06-22 Thread Adrien Mazarguil
On Wed, Jun 22, 2016 at 10:19:14AM +0100, Bruce Richardson wrote: > On Wed, Jun 22, 2016 at 10:20:54AM +0200, Adrien Mazarguil wrote: > > On Tue, Jun 21, 2016 at 05:42:29PM +0100, Ferruh Yigit wrote: > > > On 6/21/2016 8:23 AM, Nelio Laranjeiro wrote: > > > >

[dpdk-dev] [PATCH v3 00/25] Refactor mlx5 to improve performance

2016-06-23 Thread Adrien Mazarguil
On Wed, Jun 22, 2016 at 11:30:05AM +0200, Adrien Mazarguil wrote: > On Wed, Jun 22, 2016 at 10:19:14AM +0100, Bruce Richardson wrote: > > On Wed, Jun 22, 2016 at 10:20:54AM +0200, Adrien Mazarguil wrote: > > > On Tue, Jun 21, 2016 at 05:42:29PM +0100, Ferruh Yigit wrote: > &g

[dpdk-dev] [PATCH v7 22/25] mlx5: work around spurious compilation errors

2016-06-27 Thread Adrien Mazarguil
On Mon, Jun 27, 2016 at 01:12:15PM +0100, Bruce Richardson wrote: > On Fri, Jun 24, 2016 at 03:18:01PM +0200, Nelio Laranjeiro wrote: > > From: Adrien Mazarguil > > > > Since commit "mlx5: resurrect Tx gather support", older GCC versions (such > > as 4.

[dpdk-dev] [PATCH v2 00/13] Mellanox ConnectX-4 PMD (mlx5)

2015-10-30 Thread Adrien Mazarguil
these modes. - Updated comments about maximum number of MAC addresses and VLAN filters. - Improved performance with better prefetching. - Fixed deadlock in case of error during port start. - Simplified VLAN filtering configuration storage using a basic list instead of a table (with holes). Adrien

[dpdk-dev] [PATCH v2 01/13] mlx5: new poll-mode driver for Mellanox ConnectX-4 adapters

2015-10-30 Thread Adrien Mazarguil
In its current state, this driver implements the bare minimum to initialize itself and Mellanox ConnectX-4 adapters without doing anything else (no RX/TX for instance). It is disabled by default since it is based on the mlx4 driver and also depends on libibverbs. Signed-off-by: Adrien Mazarguil

[dpdk-dev] [PATCH v2 02/13] mlx5: add non-scattered TX and RX support

2015-10-30 Thread Adrien Mazarguil
RSS implementation with parent/child QPs comes from mlx4 and is temporary. Signed-off-by: Adrien Mazarguil Signed-off-by: Nelio Laranjeiro --- config/common_bsdapp | 3 + config/common_linuxapp| 3 + drivers/net/mlx5/Makefile | 15 + drivers/net/mlx5/mlx5.c

[dpdk-dev] [PATCH v2 03/13] mlx5: add MAC handling

2015-10-30 Thread Adrien Mazarguil
This commit adds support for MAC flow steering rules mandatory for the RX path as well as the related callbacks to add/remove MAC addresses. Signed-off-by: Adrien Mazarguil Signed-off-by: Nelio Laranjeiro Signed-off-by: Didier Pallard --- drivers/net/mlx5/mlx5.c | 4 +- drivers/net

[dpdk-dev] [PATCH v2 04/13] mlx5: add device configure/start/stop

2015-10-30 Thread Adrien Mazarguil
This commit adds the remaining missing callbacks to make mlx5 usable. Like mlx4, device start and stop are implemented on top of MAC RX flows. Signed-off-by: Adrien Mazarguil Signed-off-by: Nelio Laranjeiro Signed-off-by: Francesco Santoro Signed-off-by: Didier Pallard --- drivers/net/mlx5

[dpdk-dev] [PATCH v2 05/13] mlx5: add support for scattered RX and TX buffers

2015-10-30 Thread Adrien Mazarguil
in a given mbuf, the remaining segments are linearized in the last SGE entry. Signed-off-by: Adrien Mazarguil Signed-off-by: Nelio Laranjeiro --- drivers/net/mlx5/mlx5_rxq.c | 175 +++- drivers/net/mlx5/mlx5_rxtx.c | 376 +++ drivers/net

  1   2   3   4   5   >