==== Multi-Channel - Windows/Protocol ====
-+<2->{
* find interfaces with interface discovery: \\ %
@FSCTL\_QUERY\_NETWORK\_INTERFACE\_INFO@
* bind additional TCP (or RDMA) connection (channel) to established SMB3 session (session bind)
* windows: uses connections of same (and best quality)
* windows: binds only to a single node
* replay / retry mechanisms, epoch numbers
-}
==== Multi-Channel - Samba ====
-+<2->{
* samba/smbd: multi-process
** process $\Leftrightarrow$ tcp connection
** ==> transfer new connection to existing smbd
** use fd-passing (sendmsg/recvmsg)
-}
-+<3->{
+
* preparation: messaging rewrite using unix dgm sockets with sendmsg [DONE,4.2]
* add fd-passing [DONE,4.2]
* transfer connection already in negprot (ClientGUID) [ess.DONE]
* implement channel epoch numbers [WIP]
* implement interface discovery [WIP]
-}
==== Multi-Channel - Samba ====
==== SMB Direct (RDMA) ====
-+<2->{
* windows:
** requires multi-channel
** start with TCP, bind an RDMA channel
** reads and writes use RDMB write/read
** protocol/metadata via send/receive
-}
-+<3->{
+
* wireshark dissector: [DONE]
-}
-+<4->{
+
* samba (TODO):
** prereq: multi-channel / fd-passing
** buffer / transport abstractions [TODO]
** _red_problem_: libraries: not fork safe and no fd-passing \\ %
==> central daemon (or kernel module) to serve as RDMA "proxy"
-}
==== SMB Direct (RDMA) - Plan ====
* Volker Lendecke
* Stefan Metzmacher
* Ralph Böhme
+* Jeremy Allison
* David Disseldorp
* Andreas Schneider
[block]>