Vitaliy Filippov
decf314238
Rework msgr send/receive to allow encryption support
2026-07-05 14:10:10 +03:00
Vitaliy Filippov
27bd38d95e
Allow to create OSD with mocked blockstore and network
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
ad24be717a
Wrap delete rdma_conn into destroy_rdma_conn
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
fdaf7c88ff
Fix RDMA send buffer wraparound - could only lead to slower sending but not to corruption because the bug was canceled by send_out_pos >= send_done_pos check
2026-05-11 16:28:03 +03:00
Vitaliy Filippov
bcc6419760
Auto-select the only RDMA device/port if there is only one
2026-04-08 15:46:10 +03:00
Vitaliy Filippov
07915c2881
Use surrogate peer IDs instead of FDs
2026-03-30 02:06:10 +03:00
Vitaliy Filippov
8f8172db99
clear_immediate_ops is now done by stop_client
2026-03-26 01:08:23 +03:00
Vitaliy Filippov
44c895dc30
Fix clients possibly not destroyed after being switched to RDMA
...
It could in theory lead to hung operations on RDMA client disconnections.
Workflow (probable):
* OSD switches an outbound connection to PEER_RDMA and removes the FD from epoll
* But a receive request in io_uring is still active
* Receive response is never handled, refs remains > 0
* The connection is dropped, but osd_client_t is not destroyed because refs > 0
* Outbound ops are not canceled, suboperations hang, primary operations hang too
2026-03-17 01:04:17 +03:00
Vitaliy Filippov
2ed6760447
Remove ODP support
2026-02-17 02:35:46 +03:00
Vitaliy Filippov
9ec18f0aa1
Fix double ibv_close_device on RDMA init failure
2026-02-11 00:32:12 +03:00
Vitaliy Filippov
fc5a183959
Allow routed RoCE
2025-12-12 15:06:49 +00:00
Vitaliy Filippov
55de37e58a
Use a single memory region per client instead of separate mrs per each malloc
2025-12-12 15:05:33 +00:00
Vitaliy Filippov
aacfdf0dec
Rename try_recv_rdma to init_recv_rdma
2025-12-07 21:06:36 +03:00
Vitaliy Filippov
9fa8ae5384
Reset OSD ping state on receiving data from it via RDMA
2025-04-26 14:17:09 +03:00
Vitaliy Filippov
80e5f8ba76
Add missing WITH_RDMACM defines
2025-04-12 19:06:27 +03:00
Vitaliy Filippov
8508e78288
Add an alternative RDMA implementation via RDMA-CM
...
Required for non-RoCE cards: iWARP and, possibly, Infiniband
2025-03-31 21:01:25 +03:00
Vitaliy Filippov
f32dea02bf
Support multiple RDMA networks
2025-03-31 21:01:25 +03:00
Vitaliy Filippov
a103065d12
Support multiple OSD networks and separate OSD cluster network
2025-03-31 21:01:15 +03:00
Vitaliy Filippov
8b0389b4e8
Log RDMA ibv_modify_qp() errors
2025-03-22 15:58:13 +03:00
Vitaliy Filippov
63b85b6bfb
Fix clang warnings/errors
2024-12-19 15:30:31 +03:00
Vitaliy Filippov
1f6a061283
Move ibv_query_gid under #ifdef to only build it with libibverbs 32+
2024-11-21 23:47:57 +03:00
Vitaliy Filippov
ddea31d86d
Auto-select first RDMA device only if RoCE is not found, add rocev2->rocev1->ib priority
2024-11-19 01:54:00 +03:00
Vitaliy Filippov
7de38250ad
Auto-select RDMA device based on osd_network
2024-11-16 18:38:57 +03:00
Vitaliy Filippov
c312557ace
Do not execute remaining operations if the client is stopped during read
2024-11-10 16:44:13 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00