Expand description
2026-09-26: RDMA handshake wire codecs, used by the RDMA clients and re-exported by the storage peer daemons, so both ends share one codec.
Owner: metrale-gpu-sys. Invariants:
- Every integer is little-endian.
- The byte layouts are pinned by
tests/wire_roundtrip.rsandtests/transcript_golden.rs, the constant values byfrozen_wire_constants. - Only
std::ioandanyhow, with nocfggate, so it builds without rdma-core.
Structs§
- Cache
Server Params - 2026-09-26: The peer’s half of the read-write handshake (KV paging and SSM snapshots): its QP identity plus the base address and rkey of its RW MR.
- Verbs
Client Params - 2026-09-26: The client’s half of the verbs handshake: its QP identity only.
- Verbs
Server Params - 2026-09-26: The server’s half of the read-only verbs handshake (expert,
weight and LoRA tiers): its QP identity plus one registered MR per MoE layer
(expert tier) or per shard (weight and LoRA tiers).
The expert tier reads at
layers[layer].0 + expert * record_stride.
Constants§
- MODE_
TCP - 2026-09-26: Transport byte for two-sided TCP record streaming from the expert peer.
- MODE_
VERBS - 2026-09-26: Transport byte for one-sided RDMA READ: the server sends its
MRs as
VerbsServerParamsand the client reads records from them. - STATUS_
ERR - STATUS_
OK
Traits§
- Remote
Qp - 2026-09-26: A remote QP identity a client rail can
connectto. Both server-param types implement it, soRailSet::completeserves both dialects.
Functions§
- read_
server_ rails - 2026-09-26: Read
wantrails ofVerbsServerParamsframed by a leading[u8 n_rails]. Fails when the framed count is 0, above 8, or notwant. - write_
server_ rails - 2026-09-26: Write
[u8 n_rails]followed by each rail’sVerbsServerParams. Fails before writing anything when the count is 0 or above 8.