commit 0eb5a7a28311baa13f9ff99c0f0296faa33f9456
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Wed Jan 14 01:55:29 2026 +0100
debian: replace old FSF postal address by URL
Lintian complains: The debian copyright file refers to the old postal
address of the Free Software Foundation (FSF). You should refer to
https://www.gnu.org/licenses/ instead of a physical address,
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit f7fb9edc80ea7cbd89c86c1f7e45de351b3af51d
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Wed Jan 14 01:40:08 2026 +0100
debian: add ${python3:Depends} to rdma-core for rdma_topo
The new `rdma_topo` command is a Python script and therefore rdma-core
must depend on Python. Rely on the dh-python3 helper to determine the
correct dependency.
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 44288b7ef4b2e6f21678862b5997e5ab608d2f99
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Wed Jan 14 01:36:29 2026 +0100
debian: add libionic1 to ibverbs-providers lintian-overrides
Add `libionic1` to the lintian overrides for ibverbs-providers.
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit b816f161fb4de336f08a3bc3489c9c230d412534
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Wed Jan 14 01:34:30 2026 +0100
debian: update private libibverbs1 symbols
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 089e939bd0bfd01afd26a7dc32741efe40fde717
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Tue Jan 6 13:07:04 2026 +0100
debian: correct symbol version of new ibverbs 1.15 functions
The functions `ibv_alloc_dmah`, `ibv_dealloc_dmah`, and `ibv_reg_mr_ex`
were introduced in rdma-core version 59 and not version 37.
Fixes: c2ba4c10bf1b ("verbs: Introduce verbs for DMA handle allocation and deallocation")
Fixes: d2391095ed42 ("verbs: Introduce the ibv_reg_mr_ex() verb")
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 71677cd79e2d096037f956e328d1fa117eb0a72e
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Wed Jan 14 01:33:10 2026 +0100
debian: drop patches applied upstream
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 4f8314288fef21383e3e5dea29a2def25f36776b
Merge: 5daabe2b 558104fc
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Wed Jan 14 01:28:41 2026 +0100
Merge tag 'v61.0' into debian/unstable
rdma-core-61.0:
Updates from version 60.0
* providers/mana: fix multi sge send
* tests: Add CX10 to MLX5_DEVS list
* pyverbs: Fix creation of DV objects
* libibumad: Increase max device supported to 128
* bnxt_re: fix assertion in bnxt_re_alloc_page
* efa: Verify QP number on CQE process
* efa: Use single threaded CQ if TD was given
* pyverbs: Change Context object return type
* tests: Remove DC bad flow test infrastructure
* tests: Add DC stream bad-flow and recovery tests
* bnxt_re/lib: Remove the unused function
* bnxt_re/lib: Fix the WQE size alignment
* bnxt_re/lib: Fix the inline size check
* efa: Fix missing mmio flush writes on WQ lock skip
* libibumad: allow choose port with state DOWN in case of explicit user port
* librdmacm: Fix rdma_resolve_addrinfo() deadlock in sync mode
* debian: Fix libionic.so wildcard conflict
* providers/efa: Fix the size check in efadv_create_cq
* dracut: do not install dracut module in non-hostonly by default
* providers/mana: Use poll credit for arming of cqs
* providers/mana: use helpers to (de-)allocate memory
* providers/mana: Fix mapping of mana vendor errors to ibv errors
* tests/efa: Fix supported capabilities check
* tests: Add EFA unsolicited write test
* tests/efa: Merge EfaCQRes and SRDResources
* Update library version to be 61.0
* ionic: Add ionic provider
* Update kernel headers
* libhns: Clean up an extra blank line
* libhns: Fix wrong WQE data when QP wraps around
* kernel-boot: Add rdma_topo tool
* mlx5: Fix byte_count type in umr_sg_list_create
* pyverbs: Release Python GIL when calling blocking CMID functions
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 5daabe2bfa150370ef2a0817fdef540effaddfca
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Apr 14 12:41:12 2025 +0200
Release rdma-core 56.1-1
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 710773272b5af4086cd3b61169cec17c8f529e55
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Apr 14 12:40:51 2025 +0200
debian: Drop patches applied upstream
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 1deb440d17fa4abcd2609b66889a084b487902eb
Merge: f7686a93 45b7e6de
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Apr 14 12:36:46 2025 +0200
Merge tag 'v56.1' into debian/unstable
rdma-core-56.1:
Updates from version 56.0
* Backport fixes:
* Revert "mlx4: Fix overrun-buffer-arg"
* libibumad: Fix iteration index for switches
* ocrdma: Fix uninit_use issues
* rxe: Fix uninit_use_in_call issues
* libibverbs: Fix cast-align warning in verbs_get_ctx()
* bnxt_re/lib: Fix the data copy during the low latency push path
* mlx4: Fix overrun-buffer-arg
* mlx4: Fix uninit_use issues
* vmw_pvrdma: Fix uninit_use issue
* mlx5: vfio: fix memory leak in mlx5_vfio_get_iommu_info
* mlx5: fix bad alloc type in dr_arg_pool_alloc_objs
* libibmad: fix memory leak in mad_rpc_open_port2
* cxgb4: Fix uninit_use issues
* qedr: Fix uninit_use issue
* iwpmd: Fix uninitialized value
* efa: Fix receive SGE length overflow
* rping: wait for acknowledgement before processing subsequent CONNECT_REQUESTs
* providers/mana: Fix modify RC QPs for RTS and INIT states
* providers/mana: Fix return values on unsupported parent domain flags
* providers/mana: fix WRs with zero sges
* providers/mana: Fix return value on unsupported QP type
* stable branch creation
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 45b7e6deffadbd81e6c95bb783926c051a5c0fa8
Author: Nicolas Morey <nmorey@suse.com>
Date: Thu Apr 3 08:44:30 2025 +0200
Bump to version 56.1
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit f7686a93513246501d532277073a29b7285acf40
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Wed Apr 2 12:56:00 2025 +0200
Release rdma-core 56.0-4
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 7c3c6edc720e28ac969f433690a9be6896212d4a
Author: Kamal Heib <kheib@redhat.com>
Date: Thu Mar 20 15:50:27 2025 -0400
Revert "mlx4: Fix overrun-buffer-arg"
[ Upstream commit 0d580203e8b287dea47c9c2b5e0d08d945c3953f ]
This reverts commit 4d92ff74aa3d4a4b0181ea0db103377c7034dcb4.
A regression was found when testing resize_cq using pyverbs.
Fixes: 4d92ff74aa3d ("mlx4: Fix overrun-buffer-arg")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 0373137bb823f0c720b45817156c40dd26852aa3
Author: Asaf Mazor <amazor@nvidia.com>
Date: Mon Mar 17 13:51:37 2025 +0200
libibumad: Fix iteration index for switches
[ Upstream commit 26ea3d88bd057b06824f63b6cf579bd5d2650da5 ]
Updated start index from 1 to 0 in:
- count_ports_by_guid
- umad_get_smi_gsi_pairs
- umad_find_active
This fix should add support for switches
(In HCA port 0 will be null and skipped)
Fixes: be54b52e94be ("libibumad: Add new API to support SMI/GSI seperation")
Signed-off-by: Asaf Mazor <amazor@nvidia.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 1279b6b86304feef1c826d97c18a62f8ec4e9c7c
Author: Kamal Heib <kheib@redhat.com>
Date: Mon Mar 10 15:39:56 2025 -0400
ocrdma: Fix uninit_use issues
[ Upstream commit 509cc96ece11bb78896ea5fdd46cf04c71139550 ]
Fix the following issues:
Error: UNINIT (CWE-457): [#def138] [important]
providers/ocrdma/ocrdma_main.c:118:2: var_decl: Declaring variable "resp" without initializer.
providers/ocrdma/ocrdma_main.c:132:2: uninit_use: Using uninitialized value "resp.dev_id".
Error: UNINIT (CWE-457): [#def140] [important]
providers/ocrdma/ocrdma_verbs.c:359:2: var_decl: Declaring variable "resp" without initializer.
providers/ocrdma/ocrdma_verbs.c:373:2: uninit_use: Using uninitialized value "resp.rq_dbid".
Error: UNINIT (CWE-457): [#def141] [important]
providers/ocrdma/ocrdma_verbs.c:469:2: var_decl: Declaring variable "resp" without initializer.
providers/ocrdma/ocrdma_verbs.c:504:2: uninit_use: Using uninitialized value "resp.qp_id".
Fixes: ede311583f51 ("Added libocrdma files")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 9c4c63f8449e582702268f343a420cb8782eb24d
Author: Kamal Heib <kheib@redhat.com>
Date: Mon Mar 10 15:32:34 2025 -0400
rxe: Fix uninit_use_in_call issues
[ Upstream commit ac976066469e26c0223e9f229217aecbfa0adc4a ]
Fix the following issues:
Error: UNINIT (CWE-457): [#def142] [important]
providers/rxe/rxe.c:584:2: var_decl: Declaring variable "resp" without initializer.
providers/rxe/rxe.c:600:2: uninit_use_in_call: Using uninitialized value "resp.mi.size" when calling "mmap".
Error: UNINIT (CWE-457): [#def143] [important]
rdma-core-54.0/providers/rxe/rxe.c:623:2: var_decl: Declaring variable "resp" without initializer.
rdma-core-54.0/providers/rxe/rxe.c:639:2: uninit_use_in_call: Using uninitialized value "resp.mi.size" when calling "mmap".
Fixes: e05647a484a5 ("providers/rxe: Implement create_srq_ex")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 469ab11758ea96a53a6df104bc4c5e315ca18f85
Author: Eli Britstein <elibr@nvidia.com>
Date: Wed Feb 26 10:25:53 2025 +0200
libibverbs: Fix cast-align warning in verbs_get_ctx()
[ Upstream commit 36461e37435f42f7a4fc6100ac13af5e07aa5625 ]
Fix the public header file verbs.h to ensure it compiles cleanly when
applications are built with the -Wcast-align=strict flag.
The current implementation triggers a cast-align warning under this
compilation flag.
For example, when compiling with GCC (Ubuntu 11.2.0-19ubuntu1) version
11.2.0, the following warning [1] is produced.
Resolve this issue by replacing uint8_t * with uintptr_t.
Additionally, to ensure verbs.h remains compliant with
-Wcast-align=strict in future builds, add this flag to the compile
options in libibverbs/examples/CMakeLists.txt.
[1] .../include/infiniband/verbs.h: In function ‘verbs_get_ctx’:
.../include/infiniband/verbs.h:2218:16: warning: cast increases required
alignment of target type [-Wcast-align]
2218 | return (struct verbs_context *)(((uint8_t *)ctx) -
| ^
Fixes: 6be16586e081 ("Infrastructure to support verbs extensions")
Signed-off-by: Eli Britstein <elibr@nvidia.com>
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 5db095b70b6f8a59870f6c9c34824a170b0761f5
Author: Selvin Xavier <selvin.xavier@broadcom.com>
Date: Mon Mar 10 07:38:03 2025 -0700
bnxt_re/lib: Fix the data copy during the low latency push path
[ Upstream commit 9558f227b158291bc3eb7044938d711e388802ce ]
The pointer used in the destination buffer is not correctly
type casted, because of which the data gets corrupted while copying.
The issue is seen in the previous adapters that has the low latency
push enabled. Fixing the pointer casting.
Fixes: 52d0870c3eac ("bnxt_re/lib: Enable low latency push")
Reported-By: Kamal Heib <kheib@redhat.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit f2c4ea31dd75841ab64f80aad43745dc26e3dea3
Author: Konstantin Taranov <kotaranov@microsoft.com>
Date: Tue Mar 11 20:49:21 2025 +0100
providers/mana: improve synchronization on the shadow queue
Use release/acquire semantics for the shadow queue.
It ensures synchronization between sender and poller threads.
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Origin: upstream, https://github.com/linux-rdma/rdma-core/pull/1584
commit fae266130ba1f6d4902fc11ec42977c8d7c7f50c
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Thu Mar 20 11:33:55 2025 +0100
Release rdma-core 56.0-3
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit ecb36fcd6498b8577d2d8c2ebf9fbfd74b5ed91a
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Thu Mar 20 10:19:55 2025 +0100
debian: Bump Standards-Version to 4.7.2
No changes are needed to support the new Debian policy version. See
https://www.debian.org/doc/debian-policy/ for details.
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 3fb62766243460e547b26905fc1940c4babe94ea
Author: Asaf Mazor <amazor@nvidia.com>
Date: Mon Mar 17 13:51:37 2025 +0200
libibumad: Fix iteration index for switches
Updated start index from 1 to 0 in:
- count_ports_by_guid
- umad_get_smi_gsi_pairs
- umad_find_active
This fix should add support for switches
(In HCA port 0 will be null and skipped)
Fixes: be54b52e94be ("libibumad: Add new API to support SMI/GSI seperation")
Signed-off-by: Asaf Mazor <amazor@nvidia.com>
Origin: upstream, https://github.com/linux-rdma/rdma-core/pull/1583
commit 21d854ed6b56aa05497c088c651709eeb2279cd8
Author: Kamal Heib <kheib@redhat.com>
Date: Thu Mar 6 12:34:45 2025 -0500
mlx4: Fix overrun-buffer-arg
[ Upstream commit 4d92ff74aa3d4a4b0181ea0db103377c7034dcb4 ]
Fix the following overrun-buffer-arg issue:
providers/mlx4/verbs.c:642:2: overrun-buffer-arg: Overrunning struct type
_ABI_REQ_STRUCT_IB_USER_VERBS_CMD_RESIZE_CQ of 24 bytes by passing it to
a function which accesses it at byte offset 31 using argument "32UL".
Fixes: cb026cc2b080 ("Implement resize CQ")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit f1a1707ca8f81fe43ac6204eabe100dc84acafb7
Author: Kamal Heib <kheib@redhat.com>
Date: Fri Feb 28 17:35:18 2025 -0500
mlx4: Fix uninit_use issues
[ Upstream commit 3ca882f24370234ac4b60b0400d201b37a253f77 ]
Fix the following uninit_use issues:
Error: UNINIT (CWE-457): [#def111] [important]
providers/mlx4/mlx4.c:146:2: var_decl: Declaring variable "resp_v3" without initializer.
providers/mlx4/mlx4.c:163:3: uninit_use: Using uninitialized value "resp_v3.qp_tab_size".
Error: UNINIT (CWE-457): [#def112] [important]
providers/mlx4/mlx4.c:144:2: var_decl: Declaring variable "resp" without initializer.
providers/mlx4/mlx4.c:171:3: uninit_use: Using uninitialized value "resp.qp_tab_size".
Error: UNINIT (CWE-457): [#def113] [important]
providers/mlx4/verbs.c:53:2: var_decl: Declaring variable "resp" without initializer.
providers/mlx4/verbs.c:67:3: uninit_use: Using uninitialized value "resp.rss_caps.rx_hash_fields_mask".
Error: UNINIT (CWE-457): [#def114] [important]
providers/mlx4/verbs.c:53:2: var_decl: Declaring variable "resp" without initializer.
providers/mlx4/verbs.c:73:3: uninit_use: Using uninitialized value "resp.tso_caps.max_tso".
Error: UNINIT (CWE-457): [#def115] [important]
providers/mlx4/verbs.c:456:2: var_decl: Declaring variable "resp" without initializer.
providers/mlx4/verbs.c:469:3: uninit_use: Using uninitialized value "resp.cqn".
Fixes: 90b1f7f28ef2 ("providers: Remove normal query_device() from providers that have _ex")
Fixes: 9a9017688062 ("Add support for 64B CQEs")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 2ac8b7c671e8979baddcd8e8e1337f6129676131
Author: Kamal Heib <kheib@redhat.com>
Date: Wed Feb 26 00:00:43 2025 -0500
vmw_pvrdma: Fix uninit_use issue
[ Upstream commit a25f6f15a92bfc2b82f82bfcd04d488227e79ee6 ]
Fix the following issues:
Error: UNINIT (CWE-457): [#def152] [important]
providers/vmw_pvrdma/pvrdma_main.c:115:2: var_decl: Declaring variable "resp" without initializer.
providers/vmw_pvrdma/pvrdma_main.c:122:2: uninit_use: Using uninitialized value "resp.qp_tab_size".
Error: UNINIT (CWE-457): [#def153] [important]
providers/vmw_pvrdma/qp.c:111:2: var_decl: Declaring variable "resp" without initializer.
providers/vmw_pvrdma/qp.c:150:2: uninit_use: Using uninitialized value "resp.srqn".
Fixes: 4c8ed14eb6b7 ("vmw_pvrdma: Add SRQ support")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 8ef43b0289e17d6ef0d77e048b359dff9106551f
Author: Nicolas Morey <nmorey@suse.com>
Date: Tue Mar 4 09:35:02 2025 +0100
mlx5: vfio: fix memory leak in mlx5_vfio_get_iommu_info
[ Upstream commit f6346c23f659d868b414b577960060789a6e715c ]
If realloc fails, info pointers is being set to NULL although its original
memory has not been freed.
Use a temporary pointer to be able to free the original memory in case
realloc fails.
Fixes: bfc56ce440b5 ("mlx5: Setup mlx5 vfio context")
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit d81e886b13ebc0730f26304750e1523f966e1931
Author: Nicolas Morey <nmorey@suse.com>
Date: Mon Mar 3 18:55:37 2025 +0100
mlx5: fix bad alloc type in dr_arg_pool_alloc_objs
[ Upstream commit 971a76e2cca14186c09d9e778574b06120059b9a ]
dr_arg_obj are wrongly allocated as dr_arg_pool.
Fix by using the correct type for allocation.
Fixes: 97f573f6797b ("mlx5: DR, Add modify_header_arg pool mechanism")
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 97ef96d3b90236bf4c4bc24f04d00e93f4a8fa51
Author: Nicolas Morey <nmorey@suse.com>
Date: Mon Mar 3 18:40:44 2025 +0100
libibmad: fix memory leak in mad_rpc_open_port2
[ Upstream commit 99ea511a7746ca357d705c74cb467b386950c28a ]
In case of malloc error, not all allocated memory is freed.
Cleanup all error handling to make sure every thing is properly freed.
Fixes: fb11e5a40402 ("libibmad: Add new API to support SMI/GSI seperation")
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 9250afa0fc05bf17d45294186713974312578c83
Author: Kamal Heib <kheib@redhat.com>
Date: Mon Feb 24 20:17:28 2025 -0500
cxgb4: Fix uninit_use issues
[ Upstream commit 67bd87ae81d2c2d0459e36e5936ee0b421462b73 ]
Error: UNINIT (CWE-457): [#def102] [important]
providers/cxgb4/verbs.c:280:2: var_decl: Declaring variable "resp" without initializer.
providers/cxgb4/verbs.c:303:2: uninit_use: Using uninitialized value "resp.srqid".
Error: UNINIT (CWE-457): [#def103] [important]
providers/cxgb4/verbs.c:420:2: var_decl: Declaring variable "resp" without initializer.
providers/cxgb4/verbs.c:443:2: uninit_use: Using uninitialized value "resp.qid_mask".
Error: UNINIT (CWE-457): [#def104] [important]
providers/cxgb4/verbs.c:523:2: var_decl: Declaring variable "resp" without initializer.
providers/cxgb4/verbs.c:547:2: uninit_use: Using uninitialized value "resp.qid_mask".
Fixes: d6e6ae69be5e ("Add libcxgb4 files.")
Fixes: 27a8a29f2089 ("cxgb4: Add support for user mode SRQs")
Fixes: b051a2ea9dc7 ("Support ABI 0 and 1 versions of the iwarp driver.")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 142a705680539ee1a44e5ef4fb342280cd33401c
Author: Kamal Heib <kheib@redhat.com>
Date: Mon Feb 24 19:31:49 2025 -0500
qedr: Fix uninit_use issue
[ Upstream commit f8256d588a5112d20e0c37eeb4ec1f056352d089 ]
Fix the following issue:
providers/qedr/qelr_verbs.c:703:2: var_decl: Declaring variable "rc" without initializer.
providers/qedr/qelr_verbs.c:726:2: uninit_use: Using uninitialized value "rc".
Fixes: cae4a99ae679 ("libqedr: add support for XRC-SRQ's.")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit af892b8418be507d4662bcf82acbb84d3d64bc4c
Author: Kamal Heib <kheib@redhat.com>
Date: Thu Feb 20 14:06:22 2025 -0500
iwpmd: Fix uninitialized value
[ Upstream commit 215cccc5e56fe13d92728514967f5ae7cc552654 ]
Fix the following:
/iwpmd/iwarp_pm_common.c:214:2: var_decl: Declaring variable "opt_len" without initializer.
/iwpmd/iwarp_pm_common.c:255:2: uninit_use_in_call: Using uninitialized value "opt_len" when calling "getsockopt".
Fixes: 095bb4bf5851 ("Adding iwpmd.conf file, which allows for changing the size of the netlink socket receive buffer")
Signed-off-by: Kamal Heib <kheib@redhat.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 7aa572c9107cb4b6bda6594bf3c0d29d8cd979b9
Author: Daniel Kranzdorf <dkkranzd@amazon.com>
Date: Sun Feb 23 10:30:40 2025 +0200
efa: Fix receive SGE length overflow
[ Upstream commit bfdc01529cc6c4b8c96ea315af644ccb96f8d455 ]
EFA supports 16 bit length for receive buffers, but will receive only up
to MTU size messages, so the rest of the receive buffer is unused.
Posting a 64KB buffer will end up wrapping around to zero. Instead,
Truncate it to the maximum size, which is higher than EFA MTU.
Fixes: f7f275f ("efa: Elastic Fabric Adapter (EFA) userspace RDMA provider")
Reviewed-by: Michael Margolin <mrgolin@amazon.com>
Reviewed-by: Yonatan Nachum <ynachum@amazon.com>
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 9ff71dfd3194f5f8f8f3aa06a089ed304056041b
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Feb 24 18:18:06 2025 +0100
Release rdma-core 56.0-2
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 894321a5a4ddb5295a5b87c9a68d45bd77624582
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Feb 24 18:16:53 2025 +0100
providers/mana: Add dma-buf support
Add support for dma-buf MR verb API in mana.
Signed-off-by: Shiraz Saleem <shirazsaleem@microsoft.com>
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Origin: upstream, https://github.com/linux-rdma/rdma-core/pull/1557
commit f95e834c9dd3a89bce2732253994afbfabde5ecc
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Feb 24 18:11:51 2025 +0100
providers/mana: fixes + error CQEs
Origin: upstream, https://github.com/linux-rdma/rdma-core/pull/1556
commit 565435fc3aaafed6216331ffdb2ac308ad7d65bd
Author: Jacob Moroni <jmoroni@google.com>
Date: Fri Feb 21 18:21:14 2025 +0000
rping: wait for acknowledgement before processing subsequent CONNECT_REQUESTs
[ Upstream commit 6f8e0056e52bc2f83a264a451396cd3b3e435679 ]
Rping uses a dedicated thread for handling CM events.
When a CONNECT_REQUEST event is received, it updates
cb->child_cm_id and then posts a semaphore to wake up
the persistent server handler.
When connection requests are being received at a high
rate, it is possible for the CM event thread to update
cb->child_cm_id and post the semaphore multiple times
before the persistent server handler has a chance to
wake up. Then, when the server thread does wake up,
it ends up trying to rdma_accept the same child_cm_id
multiple times.
Fix this by using another semaphore to make the CM
event thread wait for acknowledgement that the persistent
server thread has consumed the event before handling
additional CONNECT_REQUESTS. The semaphore is initialized
to 1 so this has no effect for non-persistent (normal)
server mode.
Reproducer:
Server:
rping -s -P
Client:
for i in $(seq 1 128); do
rping -c -C 1 -d -a 10.2.0.127 &
done
Fixes: b873915 ("librdmacm/rping: Persistent rping server.")
Signed-off-by: Jacob Moroni <jmoroni@google.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 795c88ba5598946f9eb480c815ec1c5478170b1c
Author: Konstantin Taranov <kotaranov@microsoft.com>
Date: Wed Jul 31 11:05:53 2024 +0200
providers/mana: Fix modify RC QPs for RTS and INIT states
[ Upstream commit 87b48c6cd09d264d3ed2b3c0c3897f8715127c94 ]
Reset RC QP state on RESET as user can submit
receive request during INIT state.
Use attr->sq_psn only when IBV_QP_SQ_PSN is specified.
Fixes: 166c46bc7bbd ("providers/mana: Implement modify QP state")
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 1b6c2731550fa78787c79506e77cb4702ae01c7e
Author: Shiraz Saleem <shirazsaleem@microsoft.com>
Date: Tue Sep 3 22:05:59 2024 -0500
providers/mana: Fix return values on unsupported parent domain flags
[ Upstream commit 3d17a18b7fa183c7fdecf51b44bbf86dadc21853 ]
Return EOPNOTSUPP when unsupported flags are used to create parent
domain
Fixes: 443f196deee0 ("mana: Microsoft Azure Network Adapter (MANA) RDMA provider")
Signed-off-by: Shiraz Saleem <shirazsaleem@microsoft.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit d98aa53b944f42ea242d2e2cf277a0ee41a437f0
Author: Konstantin Taranov <kotaranov@microsoft.com>
Date: Thu Sep 5 14:05:11 2024 +0200
providers/mana: fix WRs with zero sges
[ Upstream commit b8e99f5519dbcd365b1f6c86e48cc59bfd42bc5e ]
The HW requires at least one SGE posted in work queues.
Add dummy SGE when zero SGEs are requested in receive WRs.
Fixes: ec26fedd55e0 ("providers/mana: Post recv and post send")
Signed-off-by: Konstantin Taranov <kotaranov@microsoft.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 263071585ec985aad29c1ab64ccd1e602875c589
Author: Shiraz Saleem <shirazsaleem@microsoft.com>
Date: Wed Aug 14 14:40:39 2024 -0700
providers/mana: Fix return value on unsupported QP type
[ Upstream commit 3c72ef9883546ab5589154ef3826ffb406d5f5f2 ]
Return EOPNOTSUPP when QP type is not supported during create QP.
Fixes: 443f196deee0 ("mana: Microsoft Azure Network Adapter (MANA) RDMA provider")
Signed-off-by: Shiraz Saleem <shirazsaleem@microsoft.com>
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit 36d32030e14b1eed2897802dce835604fd8b34fc
Author: Nicolas Morey <nmorey@suse.com>
Date: Thu Feb 6 22:12:07 2025 +0100
stable branch creation
Add ABI files and tune Azure pipeline for changelog generation
Signed-off-by: Nicolas Morey <nmorey@suse.com>
commit a1209d47622795ab2857e151da30b1466dda1d68
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Thu Feb 6 20:12:18 2025 +0100
Release rdma-core 56.0-1
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 6c277b46934dbd8626858f3679c12832d27bb6f1
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Thu Feb 6 20:03:17 2025 +0100
debian: Update year in copyright
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 2084e32bbe3cde963124d7ca57f34937bb967a16
Merge: 9548be6b 0031f1b3
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Thu Feb 6 19:59:08 2025 +0100
Merge tag 'v56.0' into debian/unstable
rdma-core-56.0:
Updates from version 55.0
* infiniband-diags: Use correct port info to get correct cap_mask
* libibumad: Change find_preffered_port
* librdmacm/man: Add the manual page for rdma_freeaddrinfo
* tests: Skip test_rdmacm_async_udp_traffic
* librdmacm: prevent NULL pointer access during device initialization
* suse: Drop rcFOO symlinks for SLE16
* debian: Switch to automatically created -dbgsym packages
* libibmad: Correct symbols for new API to support SMI/GSI seperation
* libibumad: Correct symbols for new API to support SMI/GSI seperation
* debian: Add Debian uploads up to version 55.0-1
* debian: run wrap-and-sort
* debian: add IBMAD_1.4@IBMAD_1.4 symbol
* debian: Bump Standards-Version to 4.7.0
* providers/bnxt_re: Fix memory leak
* ibnetdisc: Use API supporting SMI/GSI seperation
* vendstat: Use API supporting SMI/GSI seperation
* sminfo: Use API supporting SMI/GSI seperation
* perfquery: Use API supporting SMI/GSI seperation
* mcm_rereg_test: Use API supporting SMI/GSI seperation
* ibtracert: Use API supporting SMI/GSI seperation
* ibsysstat: Use API supporting SMI/GSI seperation
* ibsendtrap: Use API supporting SMI/GSI seperation
* tests: test_device: Fix the use of get_device_list()
* tests: Fix test_get_pkey_index
* mlx5: update set_mkey_sig_block doc for readability
* libhns: Fix missing fields for SRQ WC
* mlx5: Align the indentation of the mlx5dv_query_device API man page
* ibroute: Use API supporting SMI/GSI seperation
* ibportstate: Use API supporting SMI/GSI seperation
* ibping: Use API supporting SMI/GSI seperation
* iblinkinfo: Use API supporting SMI/GSI seperation
* ibqueryerrors: Use API supporting SMI/GSI seperation
* ibccquery: Use API supporting SMI/GSI seperation
* ibccconfig: Use API supporting SMI/GSI seperation
* ibaddr: Use API supporting SMI/GSI seperation
* dump_fts: Use API supporting SMI/GSI seperation
* smpquery: Use the new API to retrieve SMI/GSI details properly
* libibmad: Add new API to support SMI/GSI seperation
* libibumad: Add new API to support SMI/GSI seperation
* bnxt_re/lib: Add WR API send functions
* bnxt_re/lib: Reorg PSN/MSN related functions
* bnxt_re/lib: Reorganize the create_qp code
* efa: Fix CQ doorbell unmap on CQ destroy
* libhns: Add error logs to help diagnosis
* README: Update the name of hns kernel module
* MAINTAINERS: Update hns maintainers
* bnxt_re/lib: Avoid getting push buffer from data path.
* bnxt_re/lib: Fix the inline size check
* Update library version to be 56.0
# -----BEGIN SSH SIGNATURE-----
# U1NIU0lHAAAAAQAAAEoAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAAAgca3sn6
# Hrhe4LA9bCpsgBDS8BAjIlqPSor7F428Pcs8UAAAAEc3NoOgAAAANnaXQAAAAAAAAABnNo
# YTUxMgAAAGcAAAAac2stc3NoLWVkMjU1MTlAb3BlbnNzaC5jb20AAABALIQblqVL+2KuFU
# jywa8kbuBtiVZL8mtMZL51xepwwtlTOrlvXSGnX/PKaSQOWFUzFDUiDbW0B7DOl0RsMDeP
# AQUAAAM4
# -----END SSH SIGNATURE-----
# gpg verification failed.
commit 9548be6b3821cdb2c72ee2b7071738188d247b1f
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Tue Jan 21 12:51:06 2025 +0100
Release rdma-core 55.0-1
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit d81974ad25229f28eb31ad24ac20b512a2d5ef11
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Tue Jan 21 12:14:13 2025 +0100
debian: remove unneeded package-name-doesnt-match-sonames
lintian does not complain about the t64 transition any more.
commit 270d5092c4bf900f904af0bc95292e1a7c329c43
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Tue Jan 21 12:11:24 2025 +0100
debian: add IBMAD_1.4@IBMAD_1.4 symbol
Fixes: 57b50e2064f4 ("libibmad: Expose the XDR speed decoding functions")
commit 74712ee9104aaf95bd034386295562461d426d18
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Tue Jan 21 11:52:54 2025 +0100
debian: add ibv_cmd_create_cq_ex2 symbol
commit 73c841e3688cbd04f97c013327971e74db04fb94
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Tue Jan 21 11:41:39 2025 +0100
debian: Bump Standards-Version to 4.7.0
No changes are needed to support the new Debian policy version. See
https://www.debian.org/doc/debian-policy/ for details.
commit 74f79947264d8f29e560f42c312e9dc9ff9bae1f
Merge: e25083e9 1ba947aa
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Tue Jan 21 11:40:31 2025 +0100
Merge tag 'v55.0' into debian/unstable
rdma-core-55.0:
Updates from version 54.0
* Case-insensitive FS: rename rest files to prevent collision
* pyverbs: Add 12X to width_to_str mapping array
* mlx5: invalidate cq->cur_rsc when QP is destroyed inside a polling batch
* mlx5: update mkey configuration doc for readability
* buildlib: set a proper name when creating a github release
* azp: Use v2 version of DownloadPipelineArtifact
* cbuild: Update to Fedora 41
* mlx5: Fix the license disclaimer of mlx5_vfio.c/h
* providers/mlx5: Correct argument order in calloc call to fix warning
* example/cmtime: Correct argument order in calloc call to fix warning
* libibnetdisc: Correct argument order in calloc call to fix warning
* providers/mlx5: Fix warning: 'prev' may be used uninitialized
* tests: Add test to verify MR reregistration
* tests: Add tests to cover new DV dmabuf API
* pyverbs: Add new pyverbs to DV dma-buf
* tests: Add tests to cover mlx5 OOO QP
* pyverbs: Add OOO QP support
* libhns: Fix reference to uninitialized cq pointer
* mlx5: Support OOO RX WQE consumption
* mlx5: Remove max_post assignment in create_qp()
* mlx5: Handle OOO WQE consumption in CQE generation
* Update kernel headers
* libhns: Fix out-of-order issue of requester when setting FENCE
* rxe: fix completion queue consumer index overrun
* util/udma_barrier.h: adjust ARMv8 memory barriers
* bnxt_re: set errno to 'EINVAL' in cq creation bad flow
* tests: resize cq handle provider output properly
* libibverbs: correct access range bits flag name
* pyverbs: Add EFA DV create QP with SL
* providers/efa: Add QP service level in EFA DV
* Update kernel headers
* mlx5: DR, Add support for ConnectX-8 steering
* mlx5: DR, Expand DR STE callback and consolidate common structs
* rxe: use ibv_inc_rkey helper for generating type 1 bind rkey
* providers/efa: Handle unreachable error code
* stable: clarify stable policy
* README: Bump minimum supported branch to v33.X
* Update library version to be 55.0
commit e25083e9a2ac32af59c7663a49c4e434d6c35fd8
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Thu Jun 27 13:50:03 2024 +0200
Release rdma-core 52.0-2
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 696ddf09f97e538f25310c3cc71019746459553e
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Thu Jun 27 13:06:03 2024 +0200
debian: exclude hns provider on archs without coherent DMA
The provider `hns` requires coherent DMA and will not build on
architectures that lack coherent DMA. So exclude trying to install them
on those architectures.
Bug-Debian: https://bugs.debian.org/1073050
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 30b4e226f6348786adf519f4bcca05f1e22c8d33
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Jun 3 11:07:46 2024 +0200
Release rdma-core 52.0-1
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit 9aadbc1c1ef05a718aa8469fb04650454fb3f2a3
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Jun 3 11:06:39 2024 +0200
debian: Correct llibhns library name lintian override
The llibhns library is named `libhns1` instead of `libhns-1`.
Signed-off-by: Benjamin Drung <bdrung@ubuntu.com>
commit a03a8ce52fd56ae6eed6bbe78d56a14b73269271
Merge: e2d33db4 aa4e3a80
Author: Benjamin Drung <bdrung@ubuntu.com>
Date: Mon Jun 3 10:59:27 2024 +0200
Merge tag 'v52.0' into debian/unstable
rdma-core-52.0:
Updates from version 51.0
* providers/irdma: Do not override the raw op type in CQE
* providers/irdma: Fix the number of CQEs attribute returned in create_ex CQ.
* tests: Extend DM tests
* tests: Add test to get_pkey_index
* pyverbs: Support ibv_get_pkey_index.
* pyverbs: Make Mlx5DmOpAddr read and write functions atomic
* tests: Drop unintended t10dif flags
* tests: Fix expected value after test_and_set atomic op
* tests: Add mixed MR test
* pyverbs: Extend WQ to enable creation with CQEX
* libhns: Add check for input param of hnsdv_query_device()
* libhns: Optimize cqe inline for srq
* providers/irdma: Handle OS page size of 64k
* pyverbs/efa: Support unsolicited RDMA write w/ imm. receive
* providers/efa: Add unsolicited RDMA write w/ imm. receive
* Update kernel headers
* librdmacm: Fix an overflow bug in qsort comparison function
* librdmacm: Ack the pending event in sync UD connection
* providers/efa: Rename bad op device completion status
* providers/efa: Add new completion status for unknown peer
* providers/efa: Set remote access error for bad address status
* bnxt_re/lib: Fix the stride calculation for MSN/PSN area
* librdmacm/cmtime: Add socket connection rate test option
* librdmacm/cmtime: Make output easier to import into excel
* librdmacm/cmtime: Force use of multiple threads in work queue
* librdmacm/cmtime: Add option to control number of threads
* librdmacm/cmtime: Use atomic for 'use_qpn' and 'disc_events'
* librdmacm/cmtime: Convert completed count to atomic
* librdmacm/cmtime: Skip waiting for disconnect reply
* librdmacm/cmtime: Exit test on unexpected error
* librdmacm/cmtime: Have client use work queue threads
* librdmacm/cmtime: Move small event hander functions inline
* librdmacm/cmtime: Rework work queue abstraction
* libhns: Clean up signed-unsigned mix with relational issue
* libhns: Fix owner bit when SQ wraps around in new IO
* libhns: Assign doorbell to zero when allocate it
* libhns: Add pthread_spin_destroy()
* libhns: Fix several context locks issue
* libhns: Remove unused return value
* librdmacm/cmtime: Rework event handling to sync test steps
* librdmacm/cmtime: Use local variable instead of global variable
* librdmacm/cmtime: Change how test iteration stages are tracked
* librdmacm/cmtime: Add OOB sync mechanism for coordination
* librdmacm/cmtime: Move client/server code into functions
* librdmacm/cmtime: Add 'mimic qp' operations with sleep
* librdmacm/cmtime: Update man page to reflect latest updates
* librdmacm/cmtime: Add test that skips QP operations
* librdmacm/cmtime: Report time for entire connect process
* librdmacm/cmtime: Use clock_gettime instead of gettimeofday
* librdmacm/cmtime: Update output format
* librdmacm/cmtime: Manage QP directly
* librdmacm/cmtime: Add warmup iteration to test
* librdmacm/cmtime: Separate server listen and connect handling
* librdmacm/cmtime: Separate cleanup of QPs and IDs
* librdmacm/cmtime: Rework server to use pre-allocated nodes
* librdmacm/cmtime: Redo work_list/queue abstraction
* librdmacm/cmtime: Add helper function to identify client
* librdmacm/cmtime: Limit thread processing a set number of connections
* librdmacm/examples: Rename create_first_event_channel, drop first
* librdmacm/cmtime: Pair get_rdma_addr() with rdma_freeaddrinfo()
* librdmacm/examples: Move error message for rdma_getaddrinfo to helper
* librdmacm/examples: Remove unnecessary checks before rdma_freeaddrinfo()
* librdmacm/cmtime: Only access nodes array if it was allocated
* libhns: Support DSCP in userspace
* Update kernel headers
* mlx5: use ETHERNET_LL_SIZE to unify mac addr length
* mlx4: use ETHERNET_LL_SIZE to unify mac addr length
* libibverbs: define ETHERNET_LL_SIZE and unify usage
* verbs: fix typo to describe ibv_reg_dm_mr
* librdmacm/cmtime: Fix formatting around while loops
* Update library version to be 52.0
* Improve python searching logic in buildscripts.
# -----BEGIN PGP SIGNATURE-----
#
# iHUEABYKAB0WIQT1m3YD37UfMCUQBNwp8NhrnBAZsQUCZlhAewAKCRAp8NhrnBAZ
# sYyHAQDFY9jxmvgiD4MaKi+C4PZj/9qh1/ug7xMLadS0xk+4nAD7BTGlhBhXKfSz
# I83rTVz1f4iN+AIJ9886Zx3RfXZG2ww=
# =lGFX
# -----END PGP SIGNATURE-----
# gpg: Signatur vom Do 30 Mai 2024 11:01:47 CEST
# gpg: mittels EDDSA-Schlüssel F59B7603DFB51F30251004DC29F0D86B9C1019B1
# gpg: Signatur kann nicht geprüft werden: Kein öffentlicher Schlüssel
commit aa4e3a80d4b3f268287214fb74ea8ec54e484cf2
Merge: 15b0142e 7f2d095f
Author: Leon Romanovsky <leon@kernel.org>
Date: Thu May 30 11:16:27 2024 +0300
Merge pull request #1464 from tatyana-en/irdma-fixes
Irdma fixes
commit 15b0142ed6f3794c8b68667e4b779c3e9284b0d7
Merge: 2b0f69bd c20aa53d
Author: Leon Romanovsky <leon@kernel.org>
Date: Thu May 30 11:14:47 2024 +0300
Merge pull request #1463 from EdwardSro/pr-pyverbs-tests
tests: Extend Pyverbs and add more tests
commit 2b0f69bd541ec7dd1d10c758cc2dfbdb7762860a
Merge: 2fc443a8 5f9e08f6
Author: Leon Romanovsky <leon@kernel.org>
Date: Thu May 30 11:14:31 2024 +0300
Merge pull request #1462 from hginjgerx/bugffff
libhns: One optimization and one bugfix
commit 2fc443a8c2d1a744b2095db53e47db0b0986247d
Merge: e533dec0 cfab9e08
Author: Leon Romanovsky <leon@kernel.org>
Date: Thu May 30 11:11:53 2024 +0300
Merge pull request #1460 from tatyana-en/align-os-page
providers/irdma: Handle OS page size of 64k
commit 7f2d095ff4739c03b4e7c6f0a399100feb3725f2
Author: Mustafa Ismail <mustafa.ismail@intel.com>
Date: Mon May 13 15:29:48 2024 -0500
providers/irdma: Do not override the raw op type in CQE
Do not override the raw op type in RQ CQ completions,
because the opcode is written by HW in the CQE and
it matches the protocol opcode from the received
packet.
Fixes: c8b3aca ("providers/irdma: Fix RQ completion opcode")
Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
commit 2796a42b1aacecb4a764eb49783a7b07d974d52e
Author: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Date: Mon May 13 14:53:38 2024 -0500
providers/irdma: Fix the number of CQEs attribute returned in create_ex CQ.
When an application creates extended CQ, irdma library modifies
the attribute attr_ex->cqe by doubling it to accommodate
for immediate data. This number should not be reported back to
the application. Fix this by restoring the attr_ex->cqe to the
original value.
Unit tests CqExOpTest.BasicPollSend/RecvCq are seeing this
issue, i.e. CQ create failed since the application created
the second CQE with 2 * max CQ size.
Fixes: 14a0fc8 ("rdma-core/irdma: Implement device supported verb APIs")
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
commit c20aa53d35426eb72cee2fbc143f5ebd37ca0ad3
Author: Maxim Chicherin <maximc@nvidia.com>
Date: Thu Feb 8 21:33:38 2024 +0200
tests: Extend DM tests
Add new tests for device memory to cover other send ops such as
RDMA read, atomic and more.
Signed-off-by: Maxim Chicherin <maximc@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit 69743d9c4cf90d1ff8d7d3e493bf92c25c42f24d
Author: Shlomo Assaf <sassaf@nvidia.com>
Date: Wed Jan 17 10:16:34 2024 +0200
tests: Add test to get_pkey_index
Add new test test_get_pkey_index to cover get_pkey_index newly
added pyverb.
The test queries the pkey index using the new pyverb and verifies
the index value. Also, add new test util that helps to get pkey
from the kernel using sysfs.
Signed-off-by: Shlomo Assaf <sassaf@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit 585d7f65ae00dea3562be570299cf28fb0ee3427
Author: Shlomo Assaf <sassaf@nvidia.com>
Date: Tue Jan 16 14:02:17 2024 +0200
pyverbs: Support ibv_get_pkey_index.
Every InfiniBand HCA maintains a P_Key table for each of its ports
that is indexed by an integer and with a P_Key in each element.
Certain InfiniBand data structures that work with P_Keys expect a
P_Key index. Hence the verb ibv_get_pkey_index was introduced to
get a P_Key and return its index in the P_Key table.
This commit exposes the API under the Context class.
Signed-off-by: Shlomo Assaf <sassaf@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit fa31f4db9ec0648bcbbe346b68a33770afb20fb9
Author: Elyashiv Cohen <elyashivc@nvidia.com>
Date: Thu Dec 7 13:47:05 2023 +0200
pyverbs: Make Mlx5DmOpAddr read and write functions atomic
Mlx5DmOpAddr class used to perfom actions over DM.
Some atomic operations are executed by writing or reading from the DM.
To make the operations fully atomic the writing or the reading should be
atomic as well.
Hence change the use of memcpy which iterates over the data
and copies it byte by byte. To copy all the data at once using uint
pointers for sizes 1, 2, 4, and 8 bytes.
Signed-off-by: Elyashiv Cohen <elyashivc@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit d108cda561e665afe64803b2c7f9bdb632d9cf68
Author: Sergey Gorenko <sergeygo@nvidia.com>
Date: Mon Aug 7 09:09:38 2023 +0300
tests: Drop unintended t10dif flags
Using both flags simultaneously contradicts the man page, and the tests
do not check their behavior. So we can safely drop the flags.
Fixes: 6375906c2465 ("tests: Add mkey signature tests")
Signed-off-by: Sergey Gorenko <sergeygo@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit c4f1885b428438b36a2fcae8ea389e6c81f4ef09
Author: Elyashiv Cohen <elyashivc@nvidia.com>
Date: Sun Dec 17 10:51:54 2023 +0200
tests: Fix expected value after test_and_set atomic op
The expected behaviour of test_and_set is to set the memory to 0x1 and
not ffs as implemented in the relevant tests.
Fixes: 19e132ebfc5e ("tests: Add tests for mlx5 MEMIC atomic operations")
Signed-off-by: Elyashiv Cohen <elyashivc@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit 9ac4ef038cf17880026dc8ae5b85d4ce5b0e8b0a
Author: Bar Friedman <bfriedman@nvidia.com>
Date: Thu Nov 16 12:30:40 2023 +0200
tests: Add mixed MR test
Add mixed MR test to the test_odp.py file, under OdpTestCase tests
class.
The new test creates 2 MRs for client and server, first one is ODP
and the second one is regular. Then, performs traffic using both MRs.
Signed-off-by: Bar Friedman <bfriedman@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit 7ec4b3ef3e8b81a6ee9d500f619cca58f840042b
Author: Daria Velikovsky <daria@nvidia.com>
Date: Tue Oct 17 20:52:29 2023 +0300
pyverbs: Extend WQ to enable creation with CQEX
Add the ability to create WQ with CQEX and not just CQ.
Signed-off-by: Daria Velikovsky <daria@nvidia.com>
Signed-off-by: Edward Srouji <edwards@nvidia.com>
commit 5f9e08f62feb67d0841f6fff2bd119a3df63bde9
Author: Junxian Huang <huangjunxian6@hisilicon.com>
Date: Mon May 20 14:05:33 2024 +0800
libhns: Add check for input param of hnsdv_query_device()
Add check for input param of hnsdv_query_device() to avoid null ptr.
Fixes: cf6d9149f8f5 ("libhns: Introduce hns direct verbs")
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
commit 88d6ac1f8884de03413f621f8a973ee3ce13e5aa
Author: Junxian Huang <huangjunxian6@hisilicon.com>
Date: Mon May 20 14:05:32 2024 +0800
libhns: Optimize cqe inline for srq
In the srq scenario of cqe inline, the user buffer can be obtained
from wqes directly, so actually there is no need to store an
additional copy to srq_rinl_buf.
Remove this copy can optimize both latency and memory usage.
Besides, the release of srq wqes needs to be delayed until the
processing of cqe inline payload is finished since the user buffer
is obtained from srq wqes now.
Fixes: 22cd430c6291 ("libhns: Support cqe inline")
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
commit e533dec03526a1ff036121079a0c642e4dbc13d3
Merge: 311c5919 223ddefb
Author: Leon Romanovsky <leon@kernel.org>
Date: Sun May 12 10:32:31 2024 +0300
Merge pull request #1459 from amzn/unsolicited-write-recv
efa: Add unsolicited RDMA write with immediate receive support
commit cfab9e086a375500edb9e42b3c640269e7f3746a
Author: Mike Marciniszyn <mike.marciniszyn@intel.com>
Date: Fri May 10 00:31:57 2024 -0500
providers/irdma: Handle OS page size of 64k
The allocation of IRDMA_MEMREG_TYPE_QP needs to be aligned to
the OS page size to allow for sharing the SQ area between
the kernel iwarp cm processing and user SQ posts. The kernel code
stores the struct page pointer for later use, so the allocation
must be aligned to the OS page size.
Use sysconf to get the OS page size and add a new allocator and
use that for iwarp IRDMA_MEMREG_TYPE_QP allocations. The old allocator
is now a wrapper that is used for all other call sites.
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
commit 223ddefbd4459ec4a951a66911c6f21a66ce9925
Author: Michael Margolin <mrgolin@amazon.com>
Date: Wed May 8 13:35:02 2024 +0300
pyverbs/efa: Support unsolicited RDMA write w/ imm. receive
Expose EFA direct verbs needed to enable unsolicited RDMA write with
immediate receive and to pool for related completions.
Reviewed-by: Daniel Kinsbursky <dkinsb@amazon.com>
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com>
Signed-off-by: Michael Margolin <mrgolin@amazon.com>
commit b56366c7108331f07c41a3d5b9cc210270a0506e
Author: Michael Margolin <mrgolin@amazon.com>
Date: Wed May 8 13:34:57 2024 +0300
providers/efa: Add unsolicited RDMA write w/ imm. receive
Add EFA direct verbs support for creating QPs that do not require
explicit receive WRs to accept RDMA write with immediate. Correctly
handle completions that didn't consume a WR.
Add a related capability bit and update documentation accordingly.
Reviewed-by: Daniel Kinsbursky <dkinsb@amazon.com>
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com>
Signed-off-by: Michael Margolin <mrgolin@amazon.com>
commit 8fd1bee783c267e3a7ea48f3be215c8bdc9875eb
Author: Michael Margolin <mrgolin@amazon.com>
Date: Wed May 8 10:33:03 2024 +0000
Update kernel headers
To commit: 2b8af5001abd ("RDMA/efa: Support QP with unsolicited write w/
imm. receive").
Signed-off-by: Michael Margolin <mrgolin@amazon.com>
commit 311c5919ad66c75c8103107a439bd8d9e63a7dd2
Merge: df84cc4d c4a5ac8b
Author: Leon Romanovsky <leon@kernel.org>
Date: Wed May 8 11:41:05 2024 +0300
Merge pull request #1458 from yishaih/rdmacm_misc
librdmacm: Misc. fixes
commit df84cc4dedefc5550b527794a0e86039f66ae37b
Merge: c6ff77b3 ff5f993a
Author: Leon Romanovsky <leon@kernel.org>
Date: Wed May 8 11:37:51 2024 +0300
Merge pull request #1456 from amzn/comp-status
Improve EFA work completion statuses
commit c6ff77b3ef47dce3a8a598ee8aba976a15196049
Merge: de9dc131 79475124
Author: Leon Romanovsky <leon@kernel.org>
Date: Wed May 8 11:33:32 2024 +0300
Merge pull request #1450 from hginjgerx/bug
libhns: Bugfixes and cleanups
commit de9dc1316bfe6549c54f1cde25530d7028b08941
Merge: cf8f3568 7f7f35f3
Author: Leon Romanovsky <leon@kernel.org>
Date: Wed May 8 11:31:52 2024 +0300
Merge pull request #1451 from shefty/cmtime2
librdmacm/cmtime: Add multi-thread support
commit cf8f3568c88ad9e4c7f3f5cad1df33ad753cecab
Merge: 3be56612 65197a49
Author: Leon Romanovsky <leon@kernel.org>
Date: Wed May 8 11:28:39 2024 +0300
Merge pull request #1454 from selvintxavier/ilog32_fix
bnxt_re/lib: Fix the stride calculation for MSN/PSN area
commit c4a5ac8bba611206e062c0955fb605bfc0f48b0f
Author: Mark Zhang <markzhang@nvidia.com>
Date: Fri Apr 26 14:17:55 2024 +0300
librdmacm: Fix an overflow bug in qsort comparison function
The comparison function dev_cmp() doesn't work with 64b pointers in some
cases, as it casts the pointer to int. For example it's not able to sort
this list:
{0xfffe0c2f0b00, 0xaaac741b4a90, 0xaaac741b4d70}
Fixes: e5d371cb0af0 ("librdmacm: Globally store and sort IB device list")
Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
commit 9a0fc3afdc9988e4949ee1e2a0fe41058166362a
Author: Oren Sidi <osidi@nvidia.com>
Date: Thu Feb 8 17:35:02 2024 +0200
librdmacm: Ack the pending event in sync UD connection
When the server accepts a UD connection request in sync mode,
the event needs to be acked, otherwise destroying the
listening id would get stuck because there is a pending event.
For RC, the event is acked in ucma_complete().
Fixes: 332b203d1a30 ("librdmacm: Do not wait in rdma_accept for UD QPs")
Signed-off-by: Oren Sidi <osidi@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Sean Hefty <shefty@nvidia.com>
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
commit ff5f993ad541463b7c4649250d59251ce1ffddd0
Author: Michael Margolin <mrgolin@amazon.com>
Date: Thu May 2 17:34:13 2024 +0300
providers/efa: Rename bad op device completion status
Align to device interface on work completion with unsupported operation
error. This terminology is more accurate since this error can be related
not only to an incorrect opcode.
Reviewed-by: Daniel Kranzdorf <dkkranzd@amazon.com>
Reviewed-by: Youssef Youssef <ussef@amazon.com>
Signed-off-by: Michael Margolin <mrgolin@amazon.com>
commit b16324937e872487595061f9a771c4136d959108
Author: Daniel Kranzdorf <dkkranzd@amazon.com>
Date: Thu May 2 17:34:05 2024 +0300
providers/efa: Add new completion status for unknown peer
EFA supports rdma operations only when a valid AH exists.
Add a new completion status for this remote error.
Reviewed-by: Michael Margolin <mrgolin@amazon.com>
Reviewed-by: Yonatan Nachum <ynachum@amazon.com>
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com>
Signed-off-by: Michael Margolin <mrgolin@amazon.com>
commit 18e88e8195baf4d9c1bb0dbbad16335938586b00
Author: Daniel Kranzdorf <dkkranzd@amazon.com>
Date: Thu May 2 17:33:53 2024 +0300
providers/efa: Set remote access error for bad address status
EFA returns bad address completion status when RKEY is not registered or
does not match remote IOVA. Fix the status description and match it to
the appropriate remote access verbs error.
Reviewed-by: Michael Margolin <mrgolin@amazon.com>
Reviewed-by: Yonatan Nachum <ynachum@amazon.com>
Signed-off-by: Daniel Kranzdorf <dkkranzd@amazon.com>
Signed-off-by: Michael Margolin <mrgolin@amazon.com>
commit 65197a49425ec0b7dc297f6afe8c2ce99d93df63
Author: Selvin Xavier <selvin.xavier@broadcom.com>
Date: Wed May 1 05:41:40 2024 -0700
bnxt_re/lib: Fix the stride calculation for MSN/PSN area
Library expects ilog2 of psn_size while calculating the stride.
ilog32 returns log2(v) + 1 and the calculation fails since
the psn size is a power of 2 value. Fix by passing psn_size - 1.
Fixes: 0a0e0d0114c5 ("bnxt_re/lib: Adds MSN table capability for Gen P7 adapters")
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
commit 7f7f35f39e7da5d1237273494ebea732aae7ea5c
Author: Sean Hefty <shefty@nvidia.com>
Date: Thu Apr 25 10:08:25 2024 -0700
librdmacm/cmtime: Add socket connection rate test option
To provide a reasonable baseline, add an option to connect over
tcp sockets instead of RDMA. (The author was unable to find a
suitable connection rate test for sockets. However, since this
is just to provide something to compare against, the code is
fairly simple.)
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit 0dc13ac1051fc2e2835f131c78de390d1aa5b312
Author: Sean Hefty <shefty@nvidia.com>
Date: Mon Apr 22 12:30:06 2024 -0700
librdmacm/cmtime: Make output easier to import into excel
Remove : to make it easier to import the data into excel.
Move the avg/iter forward, since it's the more useful value
to examine. Include headers with some test details.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit 39fdafabd270d926695956964342bccd92a8aea8
Author: Sean Hefty <shefty@nvidia.com>
Date: Fri Apr 19 14:16:07 2024 -0700
librdmacm/cmtime: Force use of multiple threads in work queue
When multiple work items are added to the work queue, it's
possible that only a single thread is signaled to process
the work. The result is that the other threads continue
to wait on the condition. Since the test inserts work using
a loop, this occurs frequently, and the behavior appears as
a singled thread app, even if multiple threads were
requested.
After removing a work item, if other work items remain,
signal the condition to wake up another thread.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit 79ab39af1b052863f09a735c57b836b3710661e6
Author: Sean Hefty <shefty@nvidia.com>
Date: Fri Apr 19 13:57:08 2024 -0700
librdmacm/cmtime: Add option to control number of threads
Add a command line argument to set the number of threads
assigned to a work queue.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit 78a4f9153a7fb50242bee47395297d68c8578951
Author: Sean Hefty <shefty@nvidia.com>
Date: Fri Apr 19 15:36:12 2024 -0700
librdmacm/cmtime: Use atomic for 'use_qpn' and 'disc_events'
Once multi-thread support is added to cmtime, the use_qpn
and disc_events variables will be access by multiple threads.
Use an atomic variable instead of volatiles.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit fa89ab6c6e3456e99166bd2ca6f796a2825f8a2c
Author: Sean Hefty <shefty@nvidia.com>
Date: Fri Apr 19 13:32:15 2024 -0700
librdmacm/cmtime: Convert completed count to atomic
A subsequent patch will enable multiple threads to
update the completed counters in parallel. Switch
to using atomics.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit 737ac31fd3bb31e36c7da234597b4cc5e335b430
Author: Sean Hefty <shefty@nvidia.com>
Date: Fri Apr 19 13:26:04 2024 -0700
librdmacm/cmtime: Skip waiting for disconnect reply
After the client sends a disconnect request to the server,
have it wait for the server to sync using the OOB mechanism.
As the number of connections to test gets close to 1000, it's
frequent that the DREP is not making it back to the DREQ.
The result is that the DREQ must time out completely before
the client can proceed.
Note that this appears to be exposing undesirable behavior
from the kernel CM regarding duplicate DREQ handling.
However, because the timeouts are so long, it impacts the
ability to execute the test to collect connection setup
timings.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit abe5dff69a191c11286016d9b34f83b77aa00428
Author: Sean Hefty <shefty@nvidia.com>
Date: Tue Apr 16 16:18:09 2024 -0700
librdmacm/cmtime: Exit test on unexpected error
The test tries to check for connection errors and continue if
one occurs. However, the client and server must be in synch
regarding the number of connections. Plus, since the goal of
the test is provide accurate timings of CM steps, if an error
occurs, the timings are thrown off. Finally, the error handling
is insufficient for what it attempts to do.
Just exit the test on error after printing a message, and avoid
giving a reader the idea that errors are handled properly.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit ca92ba0b750a0764baaeab1229128cbc3c9f7893
Author: Sean Hefty <shefty@nvidia.com>
Date: Wed Apr 17 10:41:25 2024 -0700
librdmacm/cmtime: Have client use work queue threads
Have the client use a work queue to multi-thread the QP
creation, address resolution, route resolution, and QP
modify operations.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit 405554d7086b62666d594b2e39609c5aedb9e785
Author: Sean Hefty <shefty@nvidia.com>
Date: Mon Apr 15 17:14:42 2024 -0700
librdmacm/cmtime: Move small event hander functions inline
To simplify reading the code, move the trivial event handler
functions into the main event handler call. This helps
make it clear that the event thread should just process the
event directly, rather than queuing to a worker thread.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit a7277c02e11a5169806cf8a9620621c90b281a4c
Author: Sean Hefty <shefty@nvidia.com>
Date: Tue Apr 16 21:50:52 2024 -0700
librdmacm/cmtime: Rework work queue abstraction
Isolate the work queue abstraction from the cmtime. Define
a work_item structure to allow individual work items to
invoke separate callbacks. Add support for multiple threads.
Move the code from the cmtime source into the common source
for future reusability.
This change will enable cmtime to use a single work queue
to process different steps in the connection process. Having
a single work queue will limit the number of threads that
the test will need to spawn.
Signed-off-by: Sean Hefty <shefty@nvidia.com>
commit 79475124d39a92819030a854b7ea94fb73d9bc39
Author: Junxian Huang <huangjunxian6@hisilicon.com>
Date: Thu Apr 18 13:49:34 2024 +0800
libhns: Clean up signed-unsigned mix with relational issue
Clean up signed-unsigned mix with relational issue.
Fixes: 36446a56eea5 ("libhns: Extended QP supports the new post send mechanism")
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
commit 0067aad0a3a9a46d6c150e089b30bc9246dfe663
Author: Chengchang Tang <tangchengchang@huawei.com>
Date: Thu Apr 18 13:49:33 2024 +0800
libhns: Fix owner bit when SQ wraps around in new IO
Commit c292b7809f38 ("libhns: Fix the owner bit error of sq in new io")
fixed a bug that the SQ head was updated before the owner bit was filled
in WQE, but only when using ibv_wr_set_sge(). Actually this bug still
exists in other ibv_wr_set_*().
For example, in the flow below, the driver will fill the owner bit in
ibv_wr_rdma_write(), but mistakenly overwrite it again in
ibv_wr_set_sge_list() or ibv_wr_set_inline_data_list().
```c
ibv_wr_start();
ibv_wr_rdma_write();
if (inline)
ibv_wr_set_inline_data_list();
else
ibv_wr_set_sge_list();
ibv_wr_complete();
```
When the SQ wraps around, the overwritten value will be incorrect.
Remove all the incorrect owner bit filling in ibv_wr_set_*().
Fixes: 36446a56eea5 ("libhns: Extended QP supports the new post send mechanism")
Fixes: c292b7809f38 ("libhns: Fix the owner bit error of sq in new io")
Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Among the 4 debian patches available in version 56.1-1 of the package, we noticed the following issues: