Revision tags: release/14.0.0, release/13.2.0 |
|
#
4366ea33 |
| 09-Feb-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
mlx4: Finish conversion to IfAPI
Fix a few stragglers found with further IfAPI work.
Sponsored by: Juniper Networks, Inc.
|
Revision tags: release/12.4.0 |
|
#
0b281376 |
| 17-Aug-2022 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Mechanically convert mlx4(4) to IfAPI
Reviewed by: hselasky, zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37823
|
Revision tags: release/13.1.0 |
|
#
b18c5108 |
| 08-Mar-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5/mlx4: Bump driver version to 3.7.1
MFC after: 1 week Sponsored by: NVIDIA Networking
|
Revision tags: release/12.3.0 |
|
#
9d593d5a |
| 25-Oct-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
mlx4: rename conflicting netdev_priv() to mlx4_netdev_priv()
netdev_priv() is a LinuxKPI function which was used with the old ifnet linux/netdevice.h implementation which was not adaptable to modern
mlx4: rename conflicting netdev_priv() to mlx4_netdev_priv()
netdev_priv() is a LinuxKPI function which was used with the old ifnet linux/netdevice.h implementation which was not adaptable to modern Linux drviers unless rewriting them for ifnet in first place which defeats the purpose. Rename the netdev_priv() calls in mlx4 to mlx4_netdev_priv() returning the ifnet softc to avoid conflicting symbol names with different implementations in the future.
MFC after: 3 days Reviewed by: hselasky, kib Differential Revision: https://reviews.freebsd.org/D32640
show more ...
|
#
d2cbfbc5 |
| 16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5/mlx4: Bump driver version to 3.7
While at it only output driver version to dmesg(8) when hardware is present.
Differential Revision: https://reviews.freebsd.org/D29100 MFC after: 1 week Review
mlx5/mlx4: Bump driver version to 3.7
While at it only output driver version to dmesg(8) when hardware is present.
Differential Revision: https://reviews.freebsd.org/D29100 MFC after: 1 week Reviewed by: kib and markj Sponsored by: NVIDIA Networking
show more ...
|
#
b633e08c |
| 16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
ibcore: Kernel space update based on Linux 5.7-rc1.
Overview:
This is the first stage of a RDMA stack upgrade introducing kernel changes only based on Linux 5.7-rc1.
This patch is based on about f
ibcore: Kernel space update based on Linux 5.7-rc1.
Overview:
This is the first stage of a RDMA stack upgrade introducing kernel changes only based on Linux 5.7-rc1.
This patch is based on about four main areas of work: - Update of the IB uobjects system: - The memory holding so-called AH, CQ, PD, SRQ and UCONTEXT objects is now managed by ibcore. This also require some changes in the kernel verbs API. The updated verbs changes are typically about initialize and deinitialize objects, and remove allocation and free of memory.
- Update of the uverbs IOCTL framework: - The parsing and handling of user-space commands has been completely refactored to integrate with the updated IB uobjects system.
- Various changes and updates to the generic uverbs interfaces in device drivers including the new uAPI surface.
- The mlx5_ib_devx.c in mlx5ib and related mlx5 core changes.
Dependencies:
- The mlx4ib driver code has been updated with the minimum changes needed.
- The mlx5ib driver code has been updated with the minimum changes needed including DV support.
Compatibility:
- All user-space facing APIs are backwards compatible after this change.
- All kernel-space facing RDMA APIs are backwards compatible after this change, with exception of ib_create_ah() and ib_destroy_ah() which takes a new flag.
- The "ib_device_ops" structure exist, but only contains the driver ID and some structure sizes.
Differences from Linux:
- Infiniband drivers must use the INIT_IB_DEVICE_OPS() macro to set the sizes needed for allocating various IB objects, when adding IB device instances.
Security:
- PRIV_NET_RAW is needed to use raw ethernet transmit features. - PRIV_DRIVER is needed to use other privileged operations.
Based on upstream Linux, Torvalds (5.7-rc1): 8632e9b5645bbc2331d21d892b0d6961c1a08429
MFC after: 1 week Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D31149 Sponsored by: NVIDIA Networking
show more ...
|
#
c8301cbb |
| 16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx4: Map core_clock page to user space only when allowed
Currently when we map the hca_core_clock page to the user space, there are vulnerable registers, one of which is semaphore, on this page as
mlx4: Map core_clock page to user space only when allowed
Currently when we map the hca_core_clock page to the user space, there are vulnerable registers, one of which is semaphore, on this page as well. If user read the wrong offset, it can modify the above semaphore and hang the device.
Hence, mapping the hca_core_clock page to the user space only when user required it specifically.
After this patch, mlx4 core_clock won't be mapped to user space by default. Oppose to current state, where mlx4 core_clock is always mapped to user space.
MFC after: 1 week Reviewed by: kib Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
#
4238b4a7 |
| 16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
ibcore: Introduce ib_port_phys_state enum.
In order to improve readability, add ib_port_phys_state enum to replace the use of magic numbers.
Linux commit: 72a7720fca37fec0daf295923f17ac5d88a613e1
ibcore: Introduce ib_port_phys_state enum.
In order to improve readability, add ib_port_phys_state enum to replace the use of magic numbers.
Linux commit: 72a7720fca37fec0daf295923f17ac5d88a613e1
MFC after: 1 week Reviewed by: kib Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
#
1411f52f |
| 04-Jun-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
mlx4/OFED: replace the struct net_device with struct ifnet
Given all the code does operate on struct ifnet, the last step in this longer series of changes now is to rename struct net_device to struc
mlx4/OFED: replace the struct net_device with struct ifnet
Given all the code does operate on struct ifnet, the last step in this longer series of changes now is to rename struct net_device to struct ifnet (that is what it was defined to in the LinuxKPi code). While mlx4 and OFED are "shared" code the decision was made years ago to not write it based on the netdevice KPI but the native ifnet KPI for most of it. This commit simply spells this out and with that frees "struct netdevice" to be re-done on LinuxKPI to become a more native/mixed implementation over time as needed by, e.g., wireless drivers.
Sponsored by: The FreeBSD Foundation MFC after: 10 days Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D30515
show more ...
|
#
60afad6f |
| 26-May-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
mlx4: replace LinuxKPI macros with ifnet functions
The LinuxKPI net_device actually is an ifnet; in order to further clean that up so we can extend "net_device" replace the few macros inline in mlx
mlx4: replace LinuxKPI macros with ifnet functions
The LinuxKPI net_device actually is an ifnet; in order to further clean that up so we can extend "net_device" replace the few macros inline in mlx4.
Sponsored by: The FreeBSD Foundation MFC after: 12 days Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D30476
show more ...
|
Revision tags: release/13.0.0 |
|
#
5a461a86 |
| 26-Mar-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
mlx4: remove no longer needed header
Remove linux/inetdevice.h as neither of the two inline functions there are used here.
Sposored-by: The FreeBSD Foundation MFC-after: 2 weeks Reviewed-by: hselas
mlx4: remove no longer needed header
Remove linux/inetdevice.h as neither of the two inline functions there are used here.
Sposored-by: The FreeBSD Foundation MFC-after: 2 weeks Reviewed-by: hselasky X-D-R: D29366 (extracted as further cleanup) Differential Revision: https://reviews.freebsd.org/D29428
show more ...
|
#
9a47ae04 |
| 08-Jan-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump driver versions for mlx5en(4) and mlx4en(4).
MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
6c43a5e9 |
| 10-Nov-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Include GID type when deleting GIDs from HW table under RoCE in mlx4ib. Refer to the Linux commit mentioned below for a more detailed description.
Linux commit: a18177925c252da7801149abe217c05b80884
Include GID type when deleting GIDs from HW table under RoCE in mlx4ib. Refer to the Linux commit mentioned below for a more detailed description.
Linux commit: a18177925c252da7801149abe217c05b80884798
Requested by: Isilon MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
show more ...
|
Revision tags: release/12.2.0 |
|
#
1866c98e |
| 06-Jul-2020 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Infiniband clients must be attached and detached in a specific order in ibcore.
Currently the linking order of the infiniband, IB, modules decide in which order the clients are attached and detached
Infiniband clients must be attached and detached in a specific order in ibcore.
Currently the linking order of the infiniband, IB, modules decide in which order the clients are attached and detached. For example one IB client may use resources from another IB client. This can lead to a potential deadlock at shutdown. For example if the ipoib is unregistered after the ib_multicast client is detached, then if ipoib is using multicast addresses a deadlock may happen, because ib_multicast will wait for all its resources to be freed before returning from the remove method.
Fix this by using module_xxx_order() instead of module_xxx().
Differential Revision: https://reviews.freebsd.org/D23973 MFC after: 1 week Sponsored by: Mellanox Technologies
show more ...
|
Revision tags: release/11.4.0, release/12.1.0, release/11.3.0 |
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
cf59f7e1 |
| 08-May-2019 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump the Mellanox driver version numbers and the FreeBSD version number.
MFC after: 3 days Sponsored by: Mellanox Technologies
|
#
67350cb5 |
| 09-Dec-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r340918 through r341763.
|
Revision tags: release/12.0.0 |
|
#
0f3b263d |
| 05-Dec-2018 |
Slava Shwartsman <slavash@FreeBSD.org> |
mlx4/mlx5: Updated driver version to 3.5.0
Approved by: hselasky (mentor) MFC after: 1 week Sponsored by: Mellanox Technologies
|
Revision tags: release/11.2.0 |
|
#
87e30305 |
| 07-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Bump version information in mlx4ib(4).
MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
c9a80d02 |
| 07-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
The mlx4ib(4) should not be loaded before the ibcore is initialized.
MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
54b55cbd |
| 07-Mar-2018 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Disable unsupported disassociate ucontext functionality in mlx4ib(4).
MFC after: 1 week Sponsored by: Mellanox Technologies
|
#
87181516 |
| 24-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
RoCE/infiniband upgrade to Linux v4.9 for kernel and userspace.
This commit merges projects/bsd_rdma_4_9 to head.
List of kernel sources used: ============================
1) kernel sources were c
RoCE/infiniband upgrade to Linux v4.9 for kernel and userspace.
This commit merges projects/bsd_rdma_4_9 to head.
List of kernel sources used: ============================
1) kernel sources were cloned from git://github.com/torvalds/linux.git Top commit 69973b830859bc6529a7a0468ba0d80ee5117826 - tag: v4.9, linux-4.9
2) krping was cloned from https://github.com/larrystevenwise/krping Top commit 292a2f1abf0348285e678a82264740d52e4dcfe4
List of userspace sources used: ===============================
1) rdma-core was cloned from https://github.com/linux-rdma/rdma-core.git Top commit d65138ef93af30b3ea249f3a84aa6a24ba7f8a75
2) OpenSM was cloned from git://git.openfabrics.org/~halr/opensm.git Top commit 85f841cf209f791c89a075048a907020e924528d
3) libibmad was cloned from git://git.openfabrics.org/~iraweiny/libibmad.git Tag 1.3.13 with some additional patches from Mellanox.
4) infiniband-diags was cloned from git://git.openfabrics.org/~iraweiny/infiniband-diags.git Tag 1.6.7 with some additional patches from Mellanox.
NOTES: ======
1) The mthca driver has been removed in kernel and in userspace. 2) All GPLv2 only sources have been removed and where applicable rewritten from scratch under a BSD license. 3) List of fully supported drivers in userspace and kernel: a) iw_cxgbe (Chelsio) b) mlx4ib (Mellanox) c) mlx5ib (Mellanox) 4) WITH_OFED=YES is still required by make in order to build OFED userspace and kernel code. 5) Full support has been added for routable RoCE, RoCE v2.
Sponsored by: Mellanox Technologies
show more ...
|
#
c3191c2e |
| 15-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update the mlx4 core and mlx4en(4) modules towards Linux v4.9.
Background: The coming ibcore update forces an update of mlx4ib(4) which in turn requires an updated mlx4 core module. This also affect
Update the mlx4 core and mlx4en(4) modules towards Linux v4.9.
Background: The coming ibcore update forces an update of mlx4ib(4) which in turn requires an updated mlx4 core module. This also affects the mlx4en(4) module because commonly used APIs are updated. This commit is a middle step updating the mlx4 modules towards the new ibcore.
This change contains no major new features.
Changes in mlx4: a) Improved error handling when mlx4 PCI devices are detached inside VMs. b) Major update of codebase towards Linux 4.9.
Changes in mlx4ib(4): a) Minimal changes needed in order to compile using the updated mlx4 core APIs.
Changes in mlx4en(4): a) Update flow steering code in mlx4en to use new APIs for registering MAC addresses and IP addresses. b) Update all statistics counters to be 64-bit. c) Minimal changes needed in order to compile using the updated mlx4 core APIs.
Sponsored by: Mellanox Technologies MFC after: 1 week
show more ...
|
#
8cc48704 |
| 13-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update mlx4ib(4) to Linux 4.9.
Sponsored by: Mellanox Technologies
|
#
c2c014f2 |
| 07-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r323559 through r325504.
|