Vitaliy Filippov
8da99ee24a
Implement direct AES-256-GCM with a static key for benchmark
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
3c3a58aa1e
Make sure to send all TLS data before continuing
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
40d4162249
Parse standard TLS record headers
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
026aaf59e7
Omit msgr_tls_record_hdr_t for non-tls data
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
459a412f91
Implement OSD TLS support
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
2b52769d64
Allow to skip checksums for headers
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
ff83e12b79
Implement protocol-level checksums (xxhash3)
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
197ef6c171
Add image owner/owner_group/reader_group support (for antietcd VitastorAuthFilter)
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
eb1dbd7459
Batch handle_immediate_ops more
2026-05-19 17:19:35 +03:00
Vitaliy Filippov
c81cbcf69e
Add basic AES-XTS client-side encryption support
2026-05-19 17:19:34 +03:00
Vitaliy Filippov
9e28c4c6e3
Rework msgr send/receive to allow encryption support
2026-05-19 17:19:16 +03:00
Vitaliy Filippov
84919a10a9
Extract msgr_iothread to separate .{cpp,h}
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
f61190f31d
Fix send_list/outbox desync on failed SEC_READ_BMP (possible memory leak)
2026-05-11 14:59:11 +03:00
Vitaliy Filippov
07915c2881
Use surrogate peer IDs instead of FDs
2026-03-30 02:06:10 +03:00
Vitaliy Filippov
f7cbb6ed56
Remove FD from the event loop in destroy_client, not in stop_client
2026-03-28 14:18:20 +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
06c602110c
Change "BUG" short send message to a client disconnection
2025-12-14 17:15:16 +03:00
Vitaliy Filippov
aacfdf0dec
Rename try_recv_rdma to init_recv_rdma
2025-12-07 21:06:36 +03:00
Vitaliy Filippov
a1c17d90a3
Add done != expected send error message
2025-11-18 01:23:52 +03:00
Vitaliy Filippov
0be86a306d
Remove old liburing version support as it's now included
2025-08-24 16:55:58 +03:00
Vitaliy Filippov
f0a025428e
Postpone read/write handlers using timerfd in the debug use_sync_send_recv mode
2025-06-05 02:22:01 +03:00
Vitaliy Filippov
4afb617f59
Also zero-init sqe
2025-05-23 21:18:37 +03:00
Vitaliy Filippov
2b0a802ea1
Fix iothreads sometimes hanging after adding zerocopy support
2025-05-23 20:54:03 +03:00
Vitaliy Filippov
2ab0ae3bc9
Check operation sequencing and stop clients when it breaks
2025-05-02 17:01:50 +03:00
Vitaliy Filippov
05e59c1b4f
Fix MSG_WAITALL assertion added in the zero-copy patch
2025-05-02 17:01:43 +03:00
Vitaliy Filippov
9556eeae45
Implement io_uring zero-copy send support
2025-05-01 18:47:10 +03:00
Vitaliy Filippov
ebaf3fee79
Add an assertion to prevent sending message to TCP channel when switched to RDMA
2025-03-23 12:04:09 +03:00
Vitaliy Filippov
abbba6ade4
Support handling TCP I/O in simple separate io_uring-based I/O threads
...
Required mainly for clients, allows to scale parallel client I/O with TCP
from 100-150k iops to ~400k iops and from 2-3 GB/s to at least 7-8 GB/s
with 4 I/O threads, at the same time increasing Q=1 latency by 2x thread
switching delay, which is ~10 us when CPU powersaving is disabled and may
be as high as 200 us when it's enabled.
2024-07-04 13:29:20 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00