| b6354f04 | 24-Jun-2026 |
John Baldwin <jhb@FreeBSD.org> |
OFED: Calculate UDP source port based on flow label or lqpn/rqpn
Calculate and set UDP source port based on the flow label. If flow label is not defined in GRH then calculate it based on lqpn/rqpn.
OFED: Calculate UDP source port based on flow label or lqpn/rqpn
Calculate and set UDP source port based on the flow label. If flow label is not defined in GRH then calculate it based on lqpn/rqpn.
Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Obtained from: Linux commit 18451db82ef7f943c60a7fce685f16172bda5106 Sponsored by: Chelsio Communications
show more ...
|
| 4726b80d | 24-Jun-2026 |
John Baldwin <jhb@FreeBSD.org> |
OFED: Various changes from Linux 4.20
This contains changes from the following Linux commits:
627212c9d49b RDMA/core: Replace open-coded variant of get_device adee9f3f3bbb RDMA/core: Depend on devi
OFED: Various changes from Linux 4.20
This contains changes from the following Linux commits:
627212c9d49b RDMA/core: Replace open-coded variant of get_device adee9f3f3bbb RDMA/core: Depend on device_add() to add device attributes 954a8e3aea87 RDMA/cma: Protect cma dev list with lock 722c7b2bfead RDMA/{cma, core}: Avoid callback on rdma_addr_cancel() f9d08f1e1939 RDMA/core: Rate limit MAD error messages e1f540c3ed0e RDMA/core: Define client_data_lock as rwlock instead of spinlock 2d65f49ff961 RDMA/core: Use simpler spin lock irq API from blocking context 4512acd0d34c RDMA/core: Remove context entries from list while unregistering device f7b65d9bf2db RDMA/core: Use simplified list_for_each 93688ddbe1da RDMA/core: No need to protect kfree with spin lock and semaphore 50704e039ab1 RDMA/umem: Restore lockdep check while downgrading lock eb93c82ed8c7 RDMA/core: Document QP @event_handler function 4269024639f6 RDMA/core: Document CM @event_handler function 77addc524473 RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr a362ea1d9e1a RDMA/core: Introduce and use rdma_set_src_addr() between IPv4 and IPv6 89c5691cdd95 RDMA/core: Let protocol specific function typecast sockaddr structure caf1e3ae9fa6 RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu c31d4b2ddf07 RDMA/core: Protect against changing dst->dev during destination resolve 0e9d2c19bff1 RDMA/core: Consider net ns of gid attribute for RoCE d6b1764a8c5a RDMA/core: Introduce rdma_read_gid_attr_ndev_rcu() to check GID attribute 6aaecd385685 RDMA/core: Simplify roce_resolve_route_from_path() 0965cc953a23 RDMA/core: Properly return the error code of rdma_set_src_addr_rcu d4b4dd1b9706 RDMA/umem: Do not use current->tgid to track the mm_struct c9990ab39b6e RDMA/umem: Move all the ODP related stuff out of ucontext and into per_mm 597ecc5a0954 RDMA/umem: Get rid of struct ib_umem.odp_data 41b4deeaa123 RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem b5231b019d76 RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP 56ac9dd9177c RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path be7a57b41ad8 RDMA/umem: Handle a half-complete start/end sequence ca748c39ea3f RDMA/umem: Get rid of per_mm->notifier_count f27a0d50a4bc RDMA/umem: Use umem->owning_mm inside ODP
Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
show more ...
|
| 6a75471d | 24-Jun-2026 |
John Baldwin <jhb@FreeBSD.org> |
OFED: Various changes from Linux 4.19
Many of these changes deal with shifting from fetcing SGID attributes via an index in drivers to including references to SGID attributes in other structures pas
OFED: Various changes from Linux 4.19
Many of these changes deal with shifting from fetcing SGID attributes via an index in drivers to including references to SGID attributes in other structures passed to driver callbacks which can be used directly avoiding the need for fetching attributes via lookup functions. I had to fixup the ROCE GID management code directly as the version in FreeBSD is very different from Linux.
I also tweaked the change from commit 475c8de7bf2dc86d9806709a04e9c8f524d4ec32 to use a goto to reduce diffs with upstream to minimize conflicts when merging upstream changes.
This contains changes from the following Linux commits:
a1a4caeebac9 IB/core: Do not set the gid type when reserving default entries 1c36cf912ad1 IB/core: Store default GID property per-table instead of per-entry 1dfce2945771 IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid 83f6f8d29dd3 IB/core: Make rdma_find_gid_by_filter support all protocols c3d71b69a75c IB/core: Provide rdma_ versions of the gid cache API 77e786fcbe2e IB/core: Replace ib_query_gid with rdma_get_gid_attr bf399c2cadfa IB/core: Introduce GID attribute get, put and hold APIs f4df9a7c34d8 RDMA: Use GID from the ib_gid_attr during the add_gid() callback b150c3862d21 IB/core: Introduce GID entry reference counts 47ec38666210 RDMA: Convert drivers to use sgid_attr instead of sgid_index d97099fe53ed IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs 947c99ecfcb4 IB/core: Tidy ib_resolve_eth_dmac 8d9ec9addd6c IB/core: Add a sgid_attr pointer to struct rdma_ah_attr 89af969a6653 RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths 1a1f460ff151 RDMA: Hold the sgid_attr inside the struct ib_ah/qp 7492052a186b IB/mlx4: Use GID attribute from ah attribute 59d40813328f IB/core: Free GID table entry during GID deletion 881456789248 RDMA/cma: Consider net namespace while leaving multicast group 4ed13a5f2d60 IB/cm: Keep track of the sgid_attr that created the cm id aa74f4878d61 IB: Make init_ah_attr_grh_fields set sgid_attr f685c19529f0 IB: Make ib_init_ah_from_mcmember set sgid_attr b7403217656d IB: Make ib_init_ah_attr_from_wc set sgid_attr ea8c2d8f6014 RDMA/core: Remove unused ib cache functions a8872d53e9b7 IB/cm: Use sgid_attr from the AV 398391071f25 IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' 815d456ef21a IB/cm: Pass the sgid_attr through various events 4eefd62c17a9 include/rdma/opa_addr.h: Fix an endianness issue f8c2d2280cf6 RDMA/core: Remove set-but-not-used variables 28e39894ed4f RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port() 07e7056aff6c IB/core: Simplify check for RoCE route resolve 40ddacf2dda9 RDMA/umem: Don't hold mmap_sem for too long 1215cb7c88ec RDMA/umem: Refactor exit paths in ib_umem_get c012691508f5 IB/cm: Remove cma_multicast->igmp_joined 4b4671a0f269 IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls 1fec77bf8fcd RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls bb039a870c05 IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument 643d213a9a03 RDMA/cma: Do not ignore net namespace for unbound cm_id d274e45ce1ed RDMA/cma: Consider netdevice for RoCE ports cee104334c98 IB/core: Introduce and use sgid_attr in CM requests 7150c3d5544b RDMA/core: Remove {create,destroy}_ah from mandatory verbs 854633165164 RDMA/core: Prefix _ib to IB/RoCE specific functions 7582df826734 RDMA/core: Avoid holding lock while initializing fields on stack 79d684f02647 RDMA/core: Simplify gid type check in cma_acquire_dev() ca3a8ace2b12 RDMA/core: Return bool instead of int 05e0b86c413d RDMA/cma: Get rid of 1 bit boolean e7ff98aefc9e RDMA/cma: Constify path record, ib_cm_event, listen_id pointers 2df7dba855e1 RDMA/core: Constify dst_addr argument 219d2e9dfda9 RDMA/cma: Simplify rdma_resolve_addr() error flow 26e551c5aec5 RDMA: Fix return code check in rdma_set_cq_moderation 58796e67d5d5 IB/ucm: Initialize sgid request GID attribute pointer dd81b2c8a333 IB/core: Change filter function return type from int to bool 93065ac753e4 mm, oom: distinguish blockable mode for mmu notifiers 0d23ba6034b9 RDMA/ucma: check fd type in ucma_migrate_id()
Part of cee104334c98 was previously merged into FreeBSD. Namely, SGID index fields had been added to the two param structures instead and roce_get_net_dev_by_cm_event was implemented using SGID indices.
Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
show more ...
|
| 1d99fedd | 24-Jun-2026 |
John Baldwin <jhb@FreeBSD.org> |
OFED: Various changes from Linux 4.16
This contains changes from the following Linux commits:
c5c4e40e90b5 IB/CM: Change sgid to IB GID when handling CM request 54a6d63f14bd IB/mlx4: Potential buff
OFED: Various changes from Linux 4.16
This contains changes from the following Linux commits:
c5c4e40e90b5 IB/CM: Change sgid to IB GID when handling CM request 54a6d63f14bd IB/mlx4: Potential buffer overflow in _mlx4_set_path() 56d0a7d9a0f0 IB/core: Depend on IPv6 stack to resolve link local address for RoCEv2 1060f8653414 IB/{core/cm}: Fix generating a return AH for RoCEE 981b5a2384b7 RDMA/cma: Introduce and use helper functions to init work c42388053758 RDMA/cma: Avoid setting path record type twice 4367ec7fe2dd RDMA/cma: Simplify netdev check 151ed9d70097 IB/core: Refactor to avoid unnecessary check on GID lookup miss b0dd0d335364 IB/core: Avoid unnecessary type cast 86937fcd6ed2 RDMA/core: Avoid redundant memcpy in rdma_addr_find_l2_eth_by_grh 1c43d5d308f0 IB/core: Avoid exporting module internal ib_find_gid_by_filter() dbb12562f7c2 IB/{core, ipoib}: Simplify ib_find_gid to search only for IB link layer f6bdb14267ba IB/{core, umad, cm}: Rename ib_init_ah_from_wc to ib_init_ah_attr_from_wc 4ad6a0245ec8 IB/{core, cm, cma, ipoib}: Rename ib_init_ah_from_path to ib_init_ah_attr_from_path 33f93e1ebcf5 IB/cm: Fix sleeping while spin lock is held 16c72e402867 IB/cm: Refactor to avoid setting path record software only fields af808ece5ce9 IB/SA: Check dlid before SA agent queries for ClassPortInfo 8d20a1f0ecd5 RDMA/cma: Fix rdma_cm raw IB path setting for RoCE fe75889f2794 RDMA/{cma, ucma}: Simplify and rename rdma_set_ib_paths 9327c7afdce3 RDMA/cma: Provide a function to set RoCE path record L2 parameters 89838118a515 RDMA/cma: Fix rdma_cm path querying for RoCE cd2a6e7d384b IB/core: Fix ib_wc structure size to remain in 64 bytes boundary f2290d6d522d IB/core: Attempt DMAC resolution for only RoCE a6532e713966 RDMA/core: Clarify rdma_ah_find_type 246d8b184c10 IB/cq: Don't force IB_POLL_DIRECT poll context for ib_process_cq_direct aaebd377c0e9 IB/core: postpone WR initialization during queue drain 15cbc5197693 RDMA/core: Simplify rdma_addr_get_sgid() to not support RoCE 7a2f64ee4a95 RDMA/ucma: Use rdma cm API to query GID 411460ac50b0 RDMA/cma: Introduce API to read GIDs for multiple transports 2493a57bc10f RDMA/cma: Refactor to access multiple fields of rdma_dev_addr 00db63c128dd RDMA/cma: Check existence of netdevice during port validation 925f7ea7a6ba RDMA/cm: Fix access to uninitialized variable 87daac68f77a IB/core: Map iWarp AH type to undefined in rdma_ah_find_type 87915bf82eea RDMA/verbs: Return proper error code for not supported system call d3b9e8ad425c RDMA/core: Reduce poll batch for direct cq polling
Parts of 1060f8653414 were already merged into FreeBSD. Cosmetic changes made in rdma_addr_find_l2_eth_by_grh while merging this change were just to reduce the diff with Linux to ease merging future changes.
The merge of 56d0a7d9a0f0 differs slightly from the Linux commit as FreeBSD was missing the original changes to check for link-local addresses in ib_resolve_eth_dmac.
The merge of 2493a57bc10f is mostly a cosmetic change to reduce diffs with upstream as local changes in FreeBSD passed the dev_addr as the last argument instead of the dev_type and if_index already.
Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
show more ...
|
| 8d57de34 | 24-Jun-2026 |
John Baldwin <jhb@FreeBSD.org> |
OFED: Various changes from Linux 4.11
This contains changes from the following Linux commits:
55efcfcd7776 RDMA/core: Fix incorrect structure packing for booleans aaaca121c7cf RDMA/core: add port s
OFED: Various changes from Linux 4.11
This contains changes from the following Linux commits:
55efcfcd7776 RDMA/core: Fix incorrect structure packing for booleans aaaca121c7cf RDMA/core: add port state cache 9e2c3f1c7f3e RDMA/core: export ib_get_cached_port_state 93b1f29de71f RDMA/cma: resolve to first active ib port d43dbacfc063 IB/core: Change the type of an ib_dma_alloc_coherent() argument 6532c380bf40 IB/core: Remove ib_dma_*map_single_attrs() 0bbb3b7496ea IB/rxe, IB/rdmavt: Use dma_virt_ops instead of duplicating it f57e8ca50e23 IB/mad: Add port_num to error message 828f6fa65ce7 IB/umem: Release pid in error and ODP flow 19b752a19dce IB/cma: Allow port reuse for rdma_id 21d6454a392d RDMA/core: create struct ib_port_cache 25bf14d6f589 IB/core: Add implicit MR flag d9d0674c0f8a IB/umem: Indicate that process is being terminated d07d1d70ce1a IB/umem: Update on demand page (ODP) support a748d60df32e IB/mlx4: Take source GID by index from HW GID table 89052d784bc9 IB/cma: Add default RoCE TOS to CMA configfs 6df6b4a9ce43 IB/cma: Destination and source addr families must match
On FreeBSD, the default RoCE TOS setting is available as per-port sysctls similar to the existing default RoCE mode sysctls.
Tested by: Wafa Hamzah <wafah@nvidia.com> (mlx5_ib) Tested by: John Baldwin <jhb@FreeBSD.org> (iw_cxgbe) Sponsored by: Chelsio Communications
show more ...
|
| b3c09af2 | 13-May-2026 |
Slava Shwartsman <slavash@nvidia.com> |
ibcore: Add support for XDR link speed.
Add new IBTA speed XDR, supporting signaling rate of 200Gb.
Reviewed by: kib Tested by: Wafa Hamzah <wafah@nvidia.com> MFC after: 1 week Sponsor
ibcore: Add support for XDR link speed.
Add new IBTA speed XDR, supporting signaling rate of 200Gb.
Reviewed by: kib Tested by: Wafa Hamzah <wafah@nvidia.com> MFC after: 1 week Sponsored by: NVIDIA Networking Differential revision: https://reviews.freebsd.org/D57085
show more ...
|