Vitaliy Filippov
8b39a268b9
Implement direct AES-256-GCM with a static key for benchmark
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
d40ba7c5ce
Make sure to send all TLS data before continuing
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
985257f2d7
Parse standard TLS record headers
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
a4f3383f21
Omit msgr_tls_record_hdr_t for non-tls data
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
b2a74de715
Implement OSD TLS support
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
430761ad2e
Allow to skip checksums for headers
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
38a1f6937d
Implement protocol-level checksums (xxhash3)
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
1afda35bd3
Add image owner/owner_group/reader_group support (for antietcd VitastorAuthFilter)
2026-07-05 14:58:09 +03:00
Vitaliy Filippov
5b6a6fce9a
Batch handle_immediate_ops more
2026-07-05 14:10:10 +03:00
Vitaliy Filippov
03404ac95d
Add basic AES-XTS client-side encryption support
2026-07-05 14:10:10 +03:00
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
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