History log of /dpdk/drivers/net/mlx4/mlx4_utils.h (Results 1 – 17 of 17)
Revision Date Author Comments
# 2b843cac 13-Dec-2023 David Marchand <david.marchand@redhat.com>

drivers: use per line logging in helpers

Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chengwen Feng <fen

drivers: use per line logging in helpers

Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Thomas Monjalon <thomas@monjalon.net>

show more ...


# 7bc56bd0 09-Mar-2021 Thomas Monjalon <thomas@monjalon.net>

net/mlx4: enable debug logs dynamically

The macro DEBUG was doing nothing if not compiled with
RTE_LIBRTE_MLX4_DEBUG.

As it is not used in the data path, it can be always enabled at
compilation tim

net/mlx4: enable debug logs dynamically

The macro DEBUG was doing nothing if not compiled with
RTE_LIBRTE_MLX4_DEBUG.

As it is not used in the data path, it can be always enabled at
compilation time. Then it can be enabled at runtime with:
--log-level pmd.net.mlx4:debug

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@nvidia.com>

show more ...


# 8e08df22 30-Jan-2020 Alexander Kozyrev <akozyrev@mellanox.com>

net/mlx4: improve assert control

Use the MLX4_ASSERT macros instead of the standard assert clause.
Depends on the RTE_LIBRTE_MLX4_DEBUG configuration option to define it.
If RTE_LIBRTE_MLX4_DEBUG is

net/mlx4: improve assert control

Use the MLX4_ASSERT macros instead of the standard assert clause.
Depends on the RTE_LIBRTE_MLX4_DEBUG configuration option to define it.
If RTE_LIBRTE_MLX4_DEBUG is enabled MLX4_ASSERT is equal to RTE_VERIFY
to bypass the global CONFIG_RTE_ENABLE_ASSERT option.
If RTE_LIBRTE_MLX4_DEBUG is disabled, the global CONFIG_RTE_ENABLE_ASSERT
can still make this assert active by calling RTE_VERIFY inside RTE_ASSERT.

Signed-off-by: Alexander Kozyrev <akozyrev@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

show more ...


# e99fdaa7 30-Jan-2020 Alexander Kozyrev <akozyrev@mellanox.com>

net/mlx4: remove NDEBUG flag

Use the RTE_LIBRTE_MLX4_DEBUG compilation flag to get rid of dependency
on the NDEBUG definition. This is a preparation step to switch
from standard assert clauses to DP

net/mlx4: remove NDEBUG flag

Use the RTE_LIBRTE_MLX4_DEBUG compilation flag to get rid of dependency
on the NDEBUG definition. This is a preparation step to switch
from standard assert clauses to DPDK RTE_ASSERT ones in MLX4 driver.

Signed-off-by: Alexander Kozyrev <akozyrev@mellanox.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>

show more ...


# c3e89f69 11-Dec-2019 Ali Alnubani <alialnu@mellanox.com>

net/mlx: fix build with clang 9

This rewrites the MKSTR macro appending an empty string to its arguments
to resolve build failures similar to:

drivers/net/mlx4/mlx4.c:461:14: fatal error: format

net/mlx: fix build with clang 9

This rewrites the MKSTR macro appending an empty string to its arguments
to resolve build failures similar to:

drivers/net/mlx4/mlx4.c:461:14: fatal error: format string is not a
string literal [-Wformat-nonliteral]
MKSTR(path, "%s/device/uevent", device->ibdev_path);

drivers/net/mlx4/mlx4_utils.h:82:30: note: expanded from macro 'MKSTR'
char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \

drivers/net/mlx5/mlx5_stats.c:144:15: fatal error: format string is not a
string literal [-Wformat-nonliteral]
MKSTR(path, "%s/ports/%d/hw_counters/%s",

drivers/net/mlx5/mlx5_utils.h:149:30: note: expanded from macro 'MKSTR'
char name[snprintf(NULL, 0, __VA_ARGS__) + 1]; \

The errors reproduce with clang version 9.0.0, and the release notes
don't mention what could have caused them.

Fixes: 7fae69eeff13 ("mlx4: new poll mode driver")
Fixes: 771fa900b73a ("mlx5: introduce new driver for Mellanox ConnectX-4 adapters")
Cc: stable@dpdk.org

Signed-off-by: Ali Alnubani <alialnu@mellanox.com>
Signed-off-by: Matan Azrad <matan@mellanox.com>

show more ...


# ceadf1a4 13-Aug-2019 Christian Ehrhardt <christian.ehrhardt@canonical.com>

net/mlx4: fix build on ppc64

The AltiVec header file breaks boolean type:

error: incompatible types when initializing type
'__vector _bool int' {aka '_vector(4) __bool int'} using type 'int'

If __

net/mlx4: fix build on ppc64

The AltiVec header file breaks boolean type:

error: incompatible types when initializing type
'__vector _bool int' {aka '_vector(4) __bool int'} using type 'int'

If __APPLE_ALTIVEC__ is defined, then bool type is redefined
and conflicts with stdbool.h.

There is no good solution to fix it for the whole project without
breaking something else, so a workaround is inserted in mlx5 PMD.
This workaround is not compatible with C++ but there is no C++ in DPDK.

Related to: 725f5dd0bfb5 ("net/mlx5: fix build on PPC64")
Cc: stable@dpdk.org

Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Tested-by: David Christensen <drc@linux.vnet.ibm.com>
Acked-by: Matan Azrad <matan@mellanox.com>

show more ...


# 11a34bf2 24-May-2019 Stephen Hemminger <sthemmin@microsoft.com>

net/mlx4: use dynamic log type

This driver should use dynamic log level not RTE_LOGTYPE_PMD.
Other drivers were converted back in 18.02.

This is really a bug, all other drivers use dynamic log leve

net/mlx4: use dynamic log type

This driver should use dynamic log level not RTE_LOGTYPE_PMD.
Other drivers were converted back in 18.02.

This is really a bug, all other drivers use dynamic log levels
by now.

Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

show more ...


# 5feecc57 20-Mar-2018 Shahaf Shuler <shahafs@mellanox.com>

align SPDX Mellanox copyrights

Aligning Mellanox SPDX copyrights to a single format.
In addition replace to SPDX licence files which were missed.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>

align SPDX Mellanox copyrights

Aligning Mellanox SPDX copyrights to a single format.
In addition replace to SPDX licence files which were missed.

Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>

show more ...


# 82092c87 29-Jan-2018 Olivier Matz <olivier.matz@6wind.com>

net/mlx4: use SPDX tags in 6WIND copyrighted files

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monj

net/mlx4: use SPDX tags in 6WIND copyrighted files

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>

show more ...


# c2b3dba8 29-Nov-2017 Matan Azrad <matan@mellanox.com>

net/mlx4: revert workaround for broken Verbs

This workaround was needed to properly handle device removal with old
Mellanox OFED releases that are not supported by this PMD anymore.

Starting from r

net/mlx4: revert workaround for broken Verbs

This workaround was needed to properly handle device removal with old
Mellanox OFED releases that are not supported by this PMD anymore.

Starting from rdma-core v16 this removal issue shouldn't happen when
setting MLX4_DEVICE_FATAL_CLEANUP environment variable to 1.

Set the aforementioned variable to 1.

Reverts: 5f4677c6ad5e ("net/mlx4: workaround verbs error after plug-out")
Cc: stable@dpdk.org

Signed-off-by: Matan Azrad <matan@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>

show more ...


# 9e0207bf 02-Nov-2017 Adrien Mazarguil <adrien.mazarguil@6wind.com>

net/mlx4: fix missing include

Fixes: 76df01ff622f ("net/mlx4: separate debugging macros")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>


# f1c9ac9f 12-Oct-2017 Adrien Mazarguil <adrien.mazarguil@6wind.com>

net/mlx4: add iovec-like allocation wrappers

These wrappers implement the ability to allocate room for several disparate
objects as a single contiguous allocation while complying with their
respecti

net/mlx4: add iovec-like allocation wrappers

These wrappers implement the ability to allocate room for several disparate
objects as a single contiguous allocation while complying with their
respective alignment constraints.

This is usually more efficient than allocating and freeing them
individually if they are not expected to be reallocated with rte_realloc().

A typical use case is when several objects that cannot be dissociated must
be allocated together, as shown in the following example:

struct b {
...
struct d *d;
}

struct a {
...
struct b *b;
struct c *c;
}

struct mlx4_malloc_vec vec[] = {
{ .size = sizeof(struct a), .addr = &ptr_a, },
{ .size = sizeof(struct b), .addr = &ptr_b, },
{ .size = sizeof(struct c), .addr = &ptr_c, },
{ .size = sizeof(struct d), .addr = &ptr_d, },
};

if (!mlx4_mallocv(NULL, vec, RTE_DIM(vec)))
goto error;

struct a *a = ptr_a;

a->b = ptr_b;
a->c = ptr_c;
a->b->d = ptr_d;
...
rte_free(a);

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>

show more ...


# a5171594 12-Oct-2017 Adrien Mazarguil <adrien.mazarguil@6wind.com>

net/mlx4: expose support for flow rule priorities

This PMD supports up to 4096 flow rule priority levels (0 to 4095).

Applications were not allowed to use them until now due to overlaps with
the de

net/mlx4: expose support for flow rule priorities

This PMD supports up to 4096 flow rule priority levels (0 to 4095).

Applications were not allowed to use them until now due to overlaps with
the default flows (e.g. MAC address, promiscuous mode).

This is not an issue in isolated mode when such flows do not exist.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>

show more ...


# ed0cc677 12-Oct-2017 Adrien Mazarguil <adrien.mazarguil@6wind.com>

net/mlx4: enhance header files comments

Add missing comments and fix those not Doxygen-friendly.

Since the private structure definition is modified, use this opportunity to
add one remaining missin

net/mlx4: enhance header files comments

Add missing comments and fix those not Doxygen-friendly.

Since the private structure definition is modified, use this opportunity to
add one remaining missing include required by one of its fields
(sys/queue.h for LIST_HEAD()).

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>

show more ...


# 61cbdd41 01-Sep-2017 Adrien Mazarguil <adrien.mazarguil@6wind.com>

net/mlx4: separate device control functions

Private functions are now prefixed with "mlx4_" to prevent them from
conflicting with their mlx5 PMD counterparts at link time.

No impact on functionalit

net/mlx4: separate device control functions

Private functions are now prefixed with "mlx4_" to prevent them from
conflicting with their mlx5 PMD counterparts at link time.

No impact on functionality.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>

show more ...


# 35d02c54 01-Sep-2017 Adrien Mazarguil <adrien.mazarguil@6wind.com>

net/mlx4: refactor interrupt FD settings

File descriptors used for interrupts processing must be made non-blocking.

Doing so as soon as they are opened instead of waiting until they are
needed is m

net/mlx4: refactor interrupt FD settings

File descriptors used for interrupts processing must be made non-blocking.

Doing so as soon as they are opened instead of waiting until they are
needed is more efficient as it avoids performing redundant system calls and
run through their associated error-handling code later on.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>

show more ...


# 76df01ff 01-Sep-2017 Adrien Mazarguil <adrien.mazarguil@6wind.com>

net/mlx4: separate debugging macros

The new definitions also rely on the existing DPDK logging subsystem
instead of using fprintf() directly.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind

net/mlx4: separate debugging macros

The new definitions also rely on the existing DPDK logging subsystem
instead of using fprintf() directly.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>

show more ...