#
37ca457d |
| 30-Jun-2023 |
Bing Zhao <bingz@nvidia.com> |
common/mlx5: fix obtaining IB device in LAG mode
In hardware LAG mode, both PFs are in the same E-Switch domain but the VFs are in the other domains. Moreover, VF has its own dedicated IB device.
W
common/mlx5: fix obtaining IB device in LAG mode
In hardware LAG mode, both PFs are in the same E-Switch domain but the VFs are in the other domains. Moreover, VF has its own dedicated IB device.
When probing a VF created on the 1st PF, usually its PCIe address is the same as the PF's except the function part. Then there would be some wrong VF BDF match on the IB "bond" device due to incomplete comparison (we do not compare the function part of BDF for bonding devices to match all bonded PFs).
Adding one extra condition to check whether the current PCIe address device is a VF will solve the incorrect IB device recognition. Thus the full address comparison will be done.
Fixes: f956d3d4c33c ("net/mlx5: fix probing with secondary bonding member") Cc: stable@dpdk.org
Signed-off-by: Bing Zhao <bingz@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
0a9fff95 |
| 20-Feb-2023 |
Raslan Darawsheh <rasland@nvidia.com> |
drivers: rename NVIDIA BlueField device IDs
This updates the PCI device names for all NVIDIA BlueField family.
Signed-off-by: Raslan Darawsheh <rasland@nvidia.com>
|
#
a04322f6 |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus: hide bus object
Make rte_bus opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_bus definition an
bus: hide bus object
Make rte_bus opaque for non internal users. This will make extending this object possible without breaking the ABI.
Introduce a new driver header and move rte_bus definition and helpers. Update drivers and library to use the internal header.
Some applications may have been dereferencing rte_bus objects, mark this object's accessors as stable.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
1f37cb2b |
| 28-Jul-2022 |
David Marchand <david.marchand@redhat.com> |
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentatio
bus/pci: make driver-only headers private
The pci bus interface is for drivers only. Mark as internal and move the header in the driver headers list.
While at it, cleanup the code: - fix indentation, - remove unneeded reference to bus specific singleton object, - remove unneeded list head structure type, - reorder the definitions and macro manipulating the bus singleton object, - remove inclusion of rte_bus.h and fix the code that relied on implicit inclusion,
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Rosen Xu <rosen.xu@intel.com>
show more ...
|
#
c4c3e8af |
| 14-Feb-2022 |
Michael Baum <michaelba@nvidia.com> |
common/mlx5: share VF check function
The check if device is VF work for Linux as same as Windows. This patch removes it to the function implemented in the folder shared between the operating systems
common/mlx5: share VF check function
The check if device is VF work for Linux as same as Windows. This patch removes it to the function implemented in the folder shared between the operating systems, removing the duplication.
Signed-off-by: Michael Baum <michaelba@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
#
06c047b6 |
| 09-Feb-2022 |
Stephen Hemminger <stephen@networkplumber.org> |
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free
remove unnecessary null checks
Functions like free, rte_free, and rte_mempool_free already handle NULL pointer so the checks here are not necessary.
Remove redundant NULL pointer checks before free functions found by nullfree.cocci
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
show more ...
|
#
d3c52126 |
| 21-Jul-2021 |
Xueming Li <xuemingl@nvidia.com> |
common/mlx5: remove legacy PCI driver
Clean up legacy PCI bus driver since all mlx5 PMDs are moved to the new bus-agnostic driver interface.
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by
common/mlx5: remove legacy PCI driver
Clean up legacy PCI bus driver since all mlx5 PMDs are moved to the new bus-agnostic driver interface.
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
ad435d32 |
| 21-Jul-2021 |
Xueming Li <xuemingl@nvidia.com> |
common/mlx5: add bus-agnostic layer
To support auxiliary bus, introduces common device driver and callbacks, supposed to replace mlx5 common PCI bus driver.
Mlx5 class drivers, i.e. eth, vDPA, rege
common/mlx5: add bus-agnostic layer
To support auxiliary bus, introduces common device driver and callbacks, supposed to replace mlx5 common PCI bus driver.
Mlx5 class drivers, i.e. eth, vDPA, regex and compress normally consumes single Verbs device context to probe a device. The Verbs device comes from PCI address if the device is PCI bus device, from Auxiliary sysfs if the device is auxiliary bus device. Currently only PCI bus is supported.
Common device driver is a middle layer between mlx5 class drivers and bus, resolve and abstract bus info to Verbs device for class drivers. Both PCI bus driver and Auxiliary bus driver can utilize the common driver layer to cast bus operations to mlx5 class drivers.
Legacy mlx5 common PCI bus driver still being used by mlx5 eth, vDPA, regex and compress PMD, will be removed once all PMD drivers migrate to new common driver.
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
a99f2f90 |
| 21-Jul-2021 |
Xueming Li <xuemingl@nvidia.com> |
common/mlx5: rename ethernet device class
To align with EAL class driver, rename internal class name from "net" to "eth"
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Viacheslav Ovsiien
common/mlx5: rename ethernet device class
To align with EAL class driver, rename internal class name from "net" to "eth"
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
a7c86884 |
| 20-Jul-2021 |
Shiri Kuzin <shirik@nvidia.com> |
crypto/mlx5: introduce Mellanox crypto driver
Add a new PMD for Mellanox devices- crypto PMD.
The crypto PMD will be supported starting Nvidia ConnectX6 and BlueField2.
The crypto PMD will add the
crypto/mlx5: introduce Mellanox crypto driver
Add a new PMD for Mellanox devices- crypto PMD.
The crypto PMD will be supported starting Nvidia ConnectX6 and BlueField2.
The crypto PMD will add the support of encryption and decryption using the AES-XTS symmetric algorithm.
The crypto PMD requires rdma-core and uses mlx5 DevX.
This patch adds the PCI probing, basic functions, build files and log utility.
Signed-off-by: Shiri Kuzin <shirik@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com> Acked-by: Akhil Goyal <gakhil@marvell.com>
show more ...
|
#
35d4f17b |
| 05-Jul-2021 |
Xueming Li <xuemingl@nvidia.com> |
devargs: add common key definition
Add common devargs key definition for "bus", "class" and "driver".
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
devargs: add common key definition
Add common devargs key definition for "bus", "class" and "driver".
Signed-off-by: Xueming Li <xuemingl@nvidia.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
25245d5d |
| 04-May-2021 |
Shiri Kuzin <shirik@nvidia.com> |
common/mlx5: share hash list tool
In order to use the hash list defined in net in other drivers, the hash list is moved to common utilities.
In addition, the log definition was moved from the commo
common/mlx5: share hash list tool
In order to use the hash list defined in net in other drivers, the hash list is moved to common utilities.
In addition, the log definition was moved from the common utilities to a dedicated new log file in common in order to prevent a conflict.
Signed-off-by: Shiri Kuzin <shirik@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
#
188773a2 |
| 15-Mar-2021 |
Asaf Penso <asafp@nvidia.com> |
common/mlx5: rename definition of PCI driver name
The current define for MLX5_DRIVER_NAME refers specially for the PCI driver.
The define itself does not mention PCI and this is confusing.
Rename
common/mlx5: rename definition of PCI driver name
The current define for MLX5_DRIVER_NAME refers specially for the PCI driver.
The define itself does not mention PCI and this is confusing.
Rename from MLX5_DRIVER_NAME to MLX5_PCI_DRIVER_NAME.
Signed-off-by: Asaf Penso <asafp@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
4d509afa |
| 05-Apr-2021 |
Thomas Monjalon <thomas@monjalon.net> |
pci: rename catch-all ID
The name of the constant PCI_ANY_ID was missing RTE_ prefix. It is renamed, and the old name becomes a deprecated alias.
While renaming, the duplicate definitions in rte_bu
pci: rename catch-all ID
The name of the constant PCI_ANY_ID was missing RTE_ prefix. It is renamed, and the old name becomes a deprecated alias.
While renaming, the duplicate definitions in rte_bus_pci.h are removed to keep only those in rte_pci.h. Note: rte_pci.h is included in rte_bus_pci.h
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Parav Pandit <parav@nvidia.com> Reviewed-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
1b9e9826 |
| 09-Mar-2021 |
Thomas Monjalon <thomas@monjalon.net> |
common/mlx5: remove extra line feed in log messages
The macro DRV_LOG already includes a terminating line feed character defined in PMD_DRV_LOG_. The extra line feeds added in some messages are remo
common/mlx5: remove extra line feed in log messages
The macro DRV_LOG already includes a terminating line feed character defined in PMD_DRV_LOG_. The extra line feeds added in some messages are removed.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
#
832a4cf1 |
| 20-Jan-2021 |
Matan Azrad <matan@nvidia.com> |
compress/mlx5: introduce PMD
Add a new compress PMD for Mellanox devices.
The MLX5 compress driver library provides support for Mellanox BlueField 2 families of 25/50/100/200 Gb/s adapters.
GGAs (
compress/mlx5: introduce PMD
Add a new compress PMD for Mellanox devices.
The MLX5 compress driver library provides support for Mellanox BlueField 2 families of 25/50/100/200 Gb/s adapters.
GGAs (Generic Global Accelerators) are offload engines that can be used to do memory to memory tasks on data. These engines are part of the ARM complex of the BlueField 2 chip, and as such they do not use NIC related resources (e.g. RX/TX bandwidth). They do share the same PCI and memory bandwidth.
So, using the BlueField 2 device, the compress class operations can be run in parallel to the net, vdpa, and regex class operations.
This driver is depending on rdma-core like the other mlx5 PMDs, also it is going to use mlx5 DevX to create HW objects directly by the FW.
Add the probing functions, PCI bus connectivity, HW capabilities checks and some basic objects preparations.
Signed-off-by: Matan Azrad <matan@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
show more ...
|
#
e4b7b8d0 |
| 26-Oct-2020 |
Bing Zhao <bingz@nvidia.com> |
common/mlx5: fix PCI driver name
In the refactor of mlx5 common layer, the PCI driver name to the RTE device was changed from "net_mlx5" to "mlx5_pci". The string of name "mlx5_pci" is used directly
common/mlx5: fix PCI driver name
In the refactor of mlx5 common layer, the PCI driver name to the RTE device was changed from "net_mlx5" to "mlx5_pci". The string of name "mlx5_pci" is used directly in the structure rte_pci_driver.
In the past, a macro "MLX5_DRIVER_NAME" is used instead of any direct string, and now it is missing. The functions that use "MLX5_DRIVER_NAME" will get some mismatch, e.g mlx5_eth_find_next.
It needs to use this macro again in all code to make everything get aligned.
Fixes: 8a41f4deccc3 ("common/mlx5: introduce layer for multiple class drivers") Cc: stable@dpdk.org
Signed-off-by: Bing Zhao <bingz@nvidia.com> Reviewed-by: Parav Pandit <parav@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com>
show more ...
|
#
3475aeac |
| 25-Aug-2020 |
Ophir Munk <ophirmu@mellanox.com> |
common/mlx5: replace strsep with strtok_r
strsep() is a non-standardized API (by C or POSIX) and thus it is non-portable between different operating systems. Replace it with strtok_r() which is stan
common/mlx5: replace strsep with strtok_r
strsep() is a non-standardized API (by C or POSIX) and thus it is non-portable between different operating systems. Replace it with strtok_r() which is standardized by the C standard, and hence also by POSIX. The replacement occurs in the code that extracts individual PCI class names (e.g. class=net:vdpa:foo:bar).
Signed-off-by: Ophir Munk <ophirmu@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|
#
8a41f4de |
| 27-Jul-2020 |
Parav Pandit <parav@mellanox.com> |
common/mlx5: introduce layer for multiple class drivers
Add generic mlx5 PCI PMD layer as part of existing common_mlx5 module. This enables multiple classes (net, regex, vdpa) PMDs to be supported a
common/mlx5: introduce layer for multiple class drivers
Add generic mlx5 PCI PMD layer as part of existing common_mlx5 module. This enables multiple classes (net, regex, vdpa) PMDs to be supported at same time.
Signed-off-by: Parav Pandit <parav@mellanox.com> Acked-by: Matan Azrad <matan@mellanox.com>
show more ...
|