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 MO
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 cha
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/n
From: Olga Shern
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/mlx4.c | 17 ++---
From: Gilad Berman
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
---
drivers/net/mlx4/mlx4.c | 63 +++
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 +
From: Alex Rosenbaum
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 --git a/drivers/net/mlx4/mlx4.c
From: Olga Shern
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/mlx4.c
index 1b86e58..061f5e
From: Alex Rosenbaum
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 --git a/drivers/net/mlx4/ml
From: Alex Rosenbaum
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.c | 62 -
1 file changed, 15
From: Olga Shern
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/mlx4.c
+++ b/drivers/net/mlx4
From: Olga Shern
Query interface properties using the ethtool API instead of Verbs
through ibv_query_port(). The returned information is more accurate for
Ethernet links since several link speeds cannot be mapped to Verbs
semantics.
Signed-off-by: Olga Shern
Signed-off-by: Alex Rosenbaum
Signe
From: Alex Rosenbaum
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/Makefile | 4 +++
drivers/net/mlx4/m
From: Or Ami
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/drivers/net/mlx4/mlx4.c b/driver
From: Or Ami
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
---
drivers/net/mlx4/mlx4.c | 20 --
From: Olga Shern
This commit fixes the "Multiple RX VLAN filters can be configured, but only
the first one works" bug. Since a single flow specification cannot contain
several VLAN definitions, the flows table is extended with MLX4_MAX_VLAN_IDS
possible specifications per configured MAC address.
From: Or Ami
Querying the netdevice instead of deriving the port's MAC address from its
GID is less prone to errors. There is no guarantee that the GID will always
contain it nor that the algorithm won't change.
Signed-off-by: Or Ami
Signed-off-by: Olga Shern
Signed-off-by: Adrien Mazarguil
-
Current implemetation allows reserving/creating memzones but not the opposite
(unreserve/free). This affects mempools and other memzone based objects.
>From my point of view, implementing free functionality for memzones would look
like malloc over memsegs.
Thus, this approach moves malloc inside e
Some unit test are not relevant anymore. It is the case of those malloc
UTs that checked corner cases when allocating MALLOC_MEMZONE_SIZE
chunks, and the case of those memzone UTs relaying of specific free
memsegs of rhte reserved memzone.
Other UTs just need to be update, for example, to calculat
This ocnfig option is not used anymore and thus remove.
Signed-off-by: Sergio Gonzalez Monroy
---
config/common_bsdapp | 1 -
config/common_linuxapp | 1 -
2 files changed, 2 deletions(-)
diff --git a/config/common_bsdapp b/config/common_bsdapp
index 5d3cc39..cf495ad 100644
--- a/config/commo
Implement rte_memzone_free which, as its name implies, would free a
memzone.
Currently memzone are tracked in an array and cannot be free.
To be able to reuse the same array to track memzones, we have to
change how we keep track of reserved memzones.
With this patch, any memzone with addr NULL is
This patch moves the malloc library inside the eal.
This is the first step towards using malloc to allocate memory directly
from memsegs. Thus, memzones would allocate memory through malloc,
allowing unreserve/free memzones.
Signed-off-by: Sergio Gonzalez Monroy
---
config/common_bsdapp
Update memzone unit test for the new rte_memzone_free API.
Signed-off-by: Sergio Gonzalez Monroy
---
app/test/test_memzone.c | 49 +
1 file changed, 49 insertions(+)
diff --git a/app/test/test_memzone.c b/app/test/test_memzone.c
index c5e4872..766
Remove code setting up free_memseg as it is not used/relevant anymore.
Signed-off-by: Sergio Gonzalez Monroy
---
lib/librte_eal/linuxapp/eal/eal_ivshmem.c | 9 -
1 file changed, 9 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_ivshmem.c
b/lib/librte_eal/linuxapp/eal/eal_ivsh
In the current memory hierarchy, memsegs are groups of physically contiguous
hugepages, memzones are slices of memsegs and malloc further slices memzones
into smaller memory chunks.
This patch modifies malloc so it partitions memsegs instead of memzones.
Thus memzones would call malloc internally
Hello Cristian,
Are the slides shown in that video available? They're very helpful.
-Mike
On Fri, Jun 5, 2015 at 4:50 PM, Dumitrescu, Cristian <
cristian.dumitrescu at intel.com> wrote:
> Hi Avinash,
>
> > -Original Message-
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ye
Oops, I should have searched a bit more before asking. I see that they've
already been made available:
http://dpdk.org/ml/archives/dev/attachments/20150423/17a4d8de/attachment-0001.pdf
Thanks.
-Mike
On Sat, Jun 6, 2015 at 5:05 PM, Michael Sardo wrote:
> Hello Cristian,
>
> Are the slides shown
No problem, Mike. Enjoy!
From: Michael Sardo [mailto:m...@bandex.io]
Sent: Sunday, June 7, 2015 12:24 AM
To: Dumitrescu, Cristian
Cc: Yeddula, Avinash; dev at dpdk.org
Subject: Re: [dpdk-dev] 4 Traffic classes per Pipe limitation
Oops, I should have searched a bit more before asking. I see that t
The RTE_LOG(DEBUG, ...) messages in rte_eal_cpu_init() are printed
even when the log level on the command line was set to INFO or lower.
The problem is the rte_eal_cpu_init() routine was called before
the command line args are scanned. Setting --log-level=7 now
correctly does not print the message
Config files used RTE_LOG_LEVEL=8 to set log level to DEBUG. Using
a the RTE_LOG_ is easier to maintain.
Converted the RTE_LOG_ defines into a enum of values with
the same names for to reduct maintaining the values and allow
debuggers to print the name of the value.
Signed-off-by: Keith W
30 matches
Mail list logo