#
b762b199 |
| 12-Dec-2024 |
Slava Shwartsman <slavash@nvidia.com> |
mlx5: Eliminate the use of mlx5_rule_fwd_action
Driver defined all flow context actions in MLX5_FLOW_CONTEXT_ACTION_*, no need to duplicate them with mlx5_rule_fwd_action.
Sponsored by: NVidia ne
mlx5: Eliminate the use of mlx5_rule_fwd_action
Driver defined all flow context actions in MLX5_FLOW_CONTEXT_ACTION_*, no need to duplicate them with mlx5_rule_fwd_action.
Sponsored by: NVidia networking MFC after: 1 week
show more ...
|
Revision tags: release/14.2.0, release/13.4.0 |
|
#
e23731db |
| 22-Jul-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5en: add IPSEC_OFFLOAD support
Right now, only IPv4 transport mode, with aes-gcm ESP, is supported. Driver also cooperates with NAT-T, and obeys socket policies, which makes IKEd like StrongSwan
mlx5en: add IPSEC_OFFLOAD support
Right now, only IPv4 transport mode, with aes-gcm ESP, is supported. Driver also cooperates with NAT-T, and obeys socket policies, which makes IKEd like StrongSwan working.
Sponsored by: NVIDIA networking
show more ...
|
Revision tags: release/14.1.0, release/13.3.0 |
|
#
b94ef2a3 |
| 13-Nov-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
mlx5ib: adjust for the mlx5_create_auto_grouped_flow_table() interface change
Sponsored by: NVidia networking MFC after: 1 week
|
Revision tags: release/14.0.0, release/13.2.0 |
|
#
76ed99ed |
| 19-Feb-2023 |
Mark Bloch <mbloch@nvidia.com> |
mlx5: Use software enum in APIs instead of PRM
Users of the steering APIs shouldn't use the PRM directly. Create an software enum to be used instead.
Signed-off-by: Mark Bloch <mbloch@nvidia.com> S
mlx5: Use software enum in APIs instead of PRM
Users of the steering APIs shouldn't use the PRM directly. Create an software enum to be used instead.
Signed-off-by: Mark Bloch <mbloch@nvidia.com> Sponsored by: NVidia networking MFC after: 1 week
show more ...
|
#
cb054a49 |
| 19-Feb-2023 |
Mark Bloch <mbloch@nvidia.com> |
mlx5: Refactor flow actions into a struct
Create a struct to hold flow actions to be used when creating a flow rule.
Signed-off-by: Mark Bloch <mbloch@nvidia.com> Sponsored by: NVidia networking MF
mlx5: Refactor flow actions into a struct
Create a struct to hold flow actions to be used when creating a flow rule.
Signed-off-by: Mark Bloch <mbloch@nvidia.com> Sponsored by: NVidia networking MFC after: 1 week
show more ...
|
#
3b173281 |
| 28-Oct-2023 |
Ka Ho Ng <khng@FreeBSD.org> |
mlx5ib: Fix ethertype to be ETH_P_IPV6
Sponsored by: Juniper Networks, Inc. MFC after: 7 days Reviewed by: ae, kib, zlei Differential Revision: https://reviews.freebsd.org/D42184
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
b0b87d91 |
| 18-Apr-2023 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5: Make mlx5_del_flow_rule() NULL safe.
This change factors out repeated NULL checks.
No functional change intended.
MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
da4068c4 |
| 05-Apr-2023 |
Zhenlei Huang <zlei@FreeBSD.org> |
mlx5ib(4): Mark driver knows net epoch
This driver has already been EPOCH(9) aware since e48813009c6a.
Reviewed by: hselasky Tested by: hselasky MFC after: 2 weeks Differential Revision: https://re
mlx5ib(4): Mark driver knows net epoch
This driver has already been EPOCH(9) aware since e48813009c6a.
Reviewed by: hselasky Tested by: hselasky MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D39406
show more ...
|
#
70510800 |
| 21-Feb-2023 |
Justin Hibbits <jhibbits@FreeBSD.org> |
mlx5: Enter network epoch when using if_foreach()
Summary: IFNET_RLOCK() is not sufficient, the epoch needs entered.
Reviewed by: hselasky Sponsored by: Juniper Networks, Inc. Differential Revision
mlx5: Enter network epoch when using if_foreach()
Summary: IFNET_RLOCK() is not sufficient, the epoch needs entered.
Reviewed by: hselasky Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38711
show more ...
|
Revision tags: release/12.4.0 |
|
#
5dc00f00 |
| 19-Sep-2022 |
Justin Hibbits <jhibbits@FreeBSD.org> |
Mechanically convert mlx5en(4) to IfAPI
Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D38595
|
Revision tags: release/13.1.0 |
|
#
91c8ffd7 |
| 21-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5ib: Add support for NDR link speed.
The IBTA specification has new speed - NDR. That speed supports signaling rate of 100Gb. mlx5 IB driver translates link modes reported by ConnectX device to I
mlx5ib: Add support for NDR link speed.
The IBTA specification has new speed - NDR. That speed supports signaling rate of 100Gb. mlx5 IB driver translates link modes reported by ConnectX device to IB speed and width. Added translation of new 100Gb, 200Gb and 400Gb link modes to NDR IB type and width of x1, x2 or x4 respectively.
Linux commits: f946e45f59ef01ff54ffb3b1eba3a8e7915e7326
MFC after: 1 week Sponsored by: NVIDIA Networking
show more ...
|
#
a30f7170 |
| 10-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5ib: Add support for parsing udata in mlx5_ib_create_flow().
Backport from Linux 5.17 (drivers/infiniband/hw/mlx5/fs.c)
This fixes creating flow rules from user-space after the kernel space upda
mlx5ib: Add support for parsing udata in mlx5_ib_create_flow().
Backport from Linux 5.17 (drivers/infiniband/hw/mlx5/fs.c)
This fixes creating flow rules from user-space after the kernel space update based on Linux 5.7-rc1 .
Sponsored by: NVIDIA Networking
show more ...
|
#
ea00d7e8 |
| 01-Feb-2022 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5: Add raw ethernet local loopback support.
Currently, unicast/multicast loopback raw ethernet (non-RDMA) packets are sent back to the vport. A unicast loopback packet is the packet with destina
mlx5: Add raw ethernet local loopback support.
Currently, unicast/multicast loopback raw ethernet (non-RDMA) packets are sent back to the vport. A unicast loopback packet is the packet with destination MAC address the same as the source MAC address. For multicast, the destination MAC address is in the vport's multicast filter list.
Moreover, the local loopback is not needed if there is one or none user space context.
After this patch, the raw ethernet unicast and multicast local loopback are disabled by default. When there is more than one user space context, the local loopback is enabled.
Note that when local loopback is disabled, raw ethernet packets are not looped back to the vport and are forwarded to the next routing level (eswitch, or multihost switch, or out to the wire depending on the configuration).
Linux commits: c85023e153e3824661d07307138fdeff41f6d86a 8978cc921fc7fad3f4d6f91f1da01352aeeeff25
MFC after: 1 week Sponsored by: NVIDIA Networking
show more ...
|
Revision tags: release/12.3.0 |
|
#
028130b8 |
| 14-Jun-2021 |
Konstantin Belousov <konstantinb@nvidia.com> |
mlx5ib: idiomatic use of preprocessor, in particular paths
MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
70600979 |
| 14-Jun-2021 |
Konstantin Belousov <konstantinb@nvidia.com> |
mlx5ib: normalize use of the opt_*.h files
MFC after: 1 week Sponsored by: NVIDIA Networking
|
#
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 ...
|
#
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 ...
|
#
626cb01d |
| 16-Jun-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
mlx5ib: Support RAW Ethernet when RoCE is disabled in mlx5ib(4)
On some environments, such as certain SRIOV VF configurations, RoCE is not supported for mlx5 Ethernet ports. Currently, the driver wi
mlx5ib: Support RAW Ethernet when RoCE is disabled in mlx5ib(4)
On some environments, such as certain SRIOV VF configurations, RoCE is not supported for mlx5 Ethernet ports. Currently, the driver will not open IB device on that port.
This is problematic, since we do want user-space RAW Ethernet (RAW_PACKET QPs) functionality to remain in place. For that end, enhance the relevant driver flows such that we do create a device instance in that case.
Linux commit: ca5b91d63192ceaa41a6145f8c923debb64c71fa
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 ...
|
Revision tags: release/13.0.0 |
|
#
4ded022d |
| 30-Mar-2021 |
Bjoern A. Zeeb <bz@FreeBSD.org> |
mlx5: remove dependency on ifnet specifics of linux/netdevice.h
Rename the last remaining bits depending on ifnet from linux/netdevice.h instead of using the compat macros. This helps clearing up st
mlx5: remove dependency on ifnet specifics of linux/netdevice.h
Rename the last remaining bits depending on ifnet from linux/netdevice.h instead of using the compat macros. This helps clearing up struct netdevice being struct ifnet from linux/netdevice.h.
Sponsored-by: The FreeBSD Foundation MFC-after: 2 weeks Reviewed-by: hselasky, kib X-D-R: D29366 Differential Revision: https://reviews.freebsd.org/D29497
show more ...
|
#
e47a6525 |
| 14-Jan-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Add missing init of new fields after new UAR API was introduced by f8f5b459d21e in mlx5ib.
MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
|
#
f8f5b459 |
| 08-Jan-2021 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Update user access region, UAR, APIs in the core in mlx5core.
This change include several changes as listed below all related to UAR. UAR is a special PCI memory area where the so-called doorbell re
Update user access region, UAR, APIs in the core in mlx5core.
This change include several changes as listed below all related to UAR. UAR is a special PCI memory area where the so-called doorbell register and blue flame register live. Blue flame is a feature for sending small packets more efficiently via a PCI memory page, instead of using PCI DMA.
- All structures and functions named xxx_uuars were renamed into xxx_bfreg. - Remove partially implemented Blueflame support from mlx5en(4) and mlx5ib. - Implement blue flame register allocator. - Use blue flame register allocator in mlx5ib. - A common UAR page is now allocated by the core to support doorbell register writes for all of mlx5en and mlx5ib, instead of allocating one UAR per sendqueue. - Add support for DEVX query UAR. - Add support for 4K UAR for libmlx5.
Linux commits: 7c043e908a74ae0a935037cdd984d0cb89b2b970 2f5ff26478adaff5ed9b7ad4079d6a710b5f27e7 0b80c14f009758cefeed0edff4f9141957964211 30aa60b3bd12bd79b5324b7b595bd3446ab24b52 5fe9dec0d045437e48f112b8fa705197bd7bc3c0 0118717583cda6f4f36092853ad0345e8150b286 a6d51b68611e98f05042ada662aed5dbe3279c1e
MFC after: 1 week Sponsored by: Mellanox Technologies // NVIDIA Networking
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
|