Hi, I'm currently researching how to implement SMBDirect [MS-SMBD] together with the multi channel feature of SMB 3.0 in Samba. As Samba currently uses one process per tcp connection and maintains a lot of in memory state within the process (e.g. for the SMB_VFS modules) it would require a lot of work to change Samba to coordinate two (or more) processes for one logical multi channel connection. My current plan tries to pass the socket fd of new connections (which join an existing multi channel session) via fd-passing to the existing process. Now I'm wondering if this would also be possible with a rdma connection (struct rdma_cm_i ). From reading the code of rdma_create_event_channel()/rdma_create_id() and rdma_migrate_id(), it seems that the connection state is in partly in userspace (structures) and partly in the kernel space (hidden behind the channel fd) ibv_create_comp_channel() and ibv_create_cq() seem to have a similar design. As the ibverbs interface typically has a userspace driver I'm wondering if it's always true that there's also some kernel state maintained via the rdma/ibv_comp event channels? As far as I can see there's currently no way to transfer the rdma/ibv state to another process (for me it's enough to transfer it, using it from both processes is not strictly needed). Is anybody working on this already? metze