Thread (1 message) 1 message, 1 author, 2018-02-05

Re: Work in progress SMB-Direct driver for the linux kernel

From: Steve French <hidden>
Date: 2018-02-05 01:32:34
Also in: linux-cifs

On Sun, Feb 4, 2018 at 10:39 AM, Doug Ledford [off-list ref] wrote:
On Thu, 2018-02-01 at 10:52 -0700, Jason Gunthorpe wrote:
quoted
On Thu, Feb 01, 2018 at 09:18:10AM +0100, Stefan Metzmacher wrote:
quoted
The first goal is to provide a socket fd to userspace (or in kernel
consumers)
which provides semantics like a TCP socket which is used as transport
for SMB3. Basically frames are submitted with a 4 byte length header.
Part of the point of RDMA is that we don't need to make protocol
specific kernel modules like this - is there a specific reason this
needs to be in the kernel like this?
Although your question was partially answered, I think the precise cause
is that to behave like an SMB3 server, the model involves opening a TCP
connection, doing auth over that, then negotiating whether or not RDMA
connections are possible, then opening the RDMA connections.  On our
end, once the auth happens, smbd forks and the new user process handles
the connection from that point on (which is integral to smbd's security
model).  Because of this, and because the client initiates the RDMA
connection and will only use a single well known port to connect to,
incoming RDMA connections after negotiation would always go to the
master smbd process and not the forked client authed smbd process.
Because we don't have a way of then handing the RDMA connection from one
process to another forked process, the model breaks down.  Possible
solutions are:
It is interesting to think about the work Long Li did - which shows that
at least on the client side the model doesn't require opening a TCP
connection and doing auth on it before negotiating RDMA.

His smb3 kernel code allows trying SMB3 over RDMA immediately (without first
negotiating whether RDMA is allowed) - obviously finishing multichannel support
in cifs.ko is important, but I was surprised at first that it was
possible to use
RDMA for SMB3 without multichannel.


-- 
Thanks,

Steve
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help