Implementing some SMB2.2/3.0 features ...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi folks,

I have started looking at implementing some of the SMB3.0 features.
This is because, in order to do SMB Direct I need multi-connect.

In reading the latest version of the spec ([MS-SMB2] dated July 5,
2012 and available from msdn.microsoft.com) I notice that each session
should have a channel list, which is a list of objects containing a
connection reference and a signing key. It also should have a channel
sequence number.

This means that I will need to change the struct cifs_ses to have a
channel list rather than a struct TCP_Server_Info.

In addition, multi-connect allows multiple connections to the same
actual server, since it allows a session to use multiple TCP
connection on a GbE or 10GbE link. So, it seems that I will need to
introduce an explicit notion of a connection, which the code does not
currently have. This will definitely be needed for SMB Direct, because
the model is that you establish a connection to the server on TCP,
negotiate a protocol and then establish a session and then send an
FSCTL to discover the (common) set of interfaces the server has. After
that, if you notice that the client and server have an RDMA-capable
interface in common, you establish a connection via that interface,
negotiate protocol and then create a session (session setup) but bind
it to the existing session.

Does anyone have any comments at this stage? This seems like a
significant undertaking :-)

-- 
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux