-
Notifications
You must be signed in to change notification settings - Fork 636
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RDMA builtin support #1209
base: unstable
Are you sure you want to change the base?
RDMA builtin support #1209
Conversation
Originally, special config 'bind' is used for socket and TLS, however multiple addresses handling is also workable for RDMA(QUIC in the future). Abstract bind option as helper functions to apply more connection types. rewriteConfigBindOption is a local function, declare it as 'static' function. Signed-off-by: zhenwei pi <[email protected]>
Socket family use close() syscall to close listener, however RDMA has another style. Use an abstract function handler instead of hard code syscall style. Signed-off-by: zhenwei pi <[email protected]>
Move 4 parameters from valkey-rdma.so to valkey-server, keep RDMA listener similar to TCP/TLS. Also prepare to build Valkey Over RDMA into builtin. Signed-off-by: zhenwei pi <[email protected]>
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## unstable #1209 +/- ##
============================================
- Coverage 70.72% 70.52% -0.20%
============================================
Files 114 115 +1
Lines 63090 63152 +62
============================================
- Hits 44621 44540 -81
- Misses 18469 18612 +143
|
Support RDMA builtin and module together. To build a builtin version: $ make BUILD_RDMA=yes Signed-off-by: zhenwei pi <[email protected]>
35884e2
to
047c7ec
Compare
@valkey-io/core-team Please approve. This adds It is a step towards official (non-experimantal) RDMA support. I already merged the RDMA fork-safety here: #1244. It makes sure the server doesn't crash if we try to talk to an RDMA client from a forked child process. |
Hi,
There are several patches in this PR:
bind
option is a special config,socket
andtls
are using the same one. However RDMA uses the similar style but different one. Use a bit abstract work to make it flexible for bothsocket
andRDMA
. Even for QUIC in the future.--rdma-bind
and--rdma-port
style instead of module parameters.make BUILD_RDMA=yes
. module style is still kept for now. Once module style is decided to drop, I volunteer to do it for TLS and RDMA together.Each patch has independent functionality, also been tested by CI and local commands, so request no-squash merge for this PR.