mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-17 18:56:24 +00:00
cifsd: update cifsd.rst document
Add work flow of cifsd and feature stats table. Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
50355b0b20
commit
04bee6e336
@ -10,6 +10,34 @@ for sharing files over network.
|
|||||||
CIFSD architecture
|
CIFSD architecture
|
||||||
==================
|
==================
|
||||||
|
|
||||||
|
|--- ...
|
||||||
|
--------|--- ksmbd/3 - Client 3
|
||||||
|
|-------|--- ksmbd/2 - Client 2
|
||||||
|
| | ____________________________________________________
|
||||||
|
| | |- Client 1 |
|
||||||
|
<--- Socket ---|--- ksmbd/1 <<= Authentication : NTLM/NTLM2, Kerberos |
|
||||||
|
| | | | <<= SMB engine : SMB2, SMB2.1, SMB3, SMB3.0.2, |
|
||||||
|
| | | | SMB3.1.1 |
|
||||||
|
| | | |____________________________________________________|
|
||||||
|
| | |
|
||||||
|
| | |--- VFS --- Local Filesystem
|
||||||
|
| |
|
||||||
|
KERNEL |--- ksmbd/0(forker kthread)
|
||||||
|
---------------||---------------------------------------------------------------
|
||||||
|
USER ||
|
||||||
|
|| communication using NETLINK
|
||||||
|
|| ______________________________________________
|
||||||
|
|| | |
|
||||||
|
ksmbd.mountd <<= DCE/RPC(srvsvc, wkssvc, smar, lsarpc) |
|
||||||
|
^ | <<= configure shares setting, user accounts |
|
||||||
|
| |______________________________________________|
|
||||||
|
|
|
||||||
|
|------ smb.conf(config file)
|
||||||
|
|
|
||||||
|
|------ ksmbdpwd.db(user account/password file)
|
||||||
|
^
|
||||||
|
ksmbd.adduser ---------------|
|
||||||
|
|
||||||
The subset of performance related operations belong in kernelspace and
|
The subset of performance related operations belong in kernelspace and
|
||||||
the other subset which belong to operations which are not really related with
|
the other subset which belong to operations which are not really related with
|
||||||
performance in userspace. So, DCE/RPC management that has historically resulted
|
performance in userspace. So, DCE/RPC management that has historically resulted
|
||||||
@ -59,32 +87,48 @@ dozen) that are most important for file server from NetShareEnum and
|
|||||||
NetServerGetInfo. Complete DCE/RPC response is prepared from the user space
|
NetServerGetInfo. Complete DCE/RPC response is prepared from the user space
|
||||||
and passed over to the associated kernel thread for the client.
|
and passed over to the associated kernel thread for the client.
|
||||||
|
|
||||||
Key Features
|
|
||||||
============
|
|
||||||
|
|
||||||
The supported features are:
|
CIFSD Feature Status
|
||||||
* SMB3 protocols for basic file sharing
|
====================
|
||||||
* Auto negotiation
|
|
||||||
* Compound requests
|
============================== =================================================
|
||||||
* Oplock/Lease
|
Feature name Status
|
||||||
* Large MTU
|
============================== =================================================
|
||||||
* NTLM/NTLMv2
|
Dialects Supported. SMB2.1 SMB3.0, SMB3.1.1 dialects
|
||||||
* HMAC-SHA256 Signing
|
excluding security vulnerable SMB1.
|
||||||
* Secure negotiate
|
Auto Negotiation Supported.
|
||||||
* Signing Update
|
Compound Request Supported.
|
||||||
* Pre-authentication integrity(SMB 3.1.1)
|
Oplock Cache Mechanism Supported.
|
||||||
* SMB3 encryption(CCM, GCM)
|
SMB2 leases(v1 lease) Supported.
|
||||||
* SMB direct(RDMA)
|
Directory leases(v2 lease) Planned for future.
|
||||||
* SMB3.1.1 POSIX extension support
|
Multi-credits Supported.
|
||||||
* ACLs
|
NTLM/NTLMv2 Supported.
|
||||||
* Kerberos
|
HMAC-SHA256 Signing Supported.
|
||||||
|
Secure negotiate Supported.
|
||||||
|
Signing Update Supported.
|
||||||
|
Pre-authentication integrity Supported.
|
||||||
|
SMB3 encryption(CCM, GCM) Supported.
|
||||||
|
SMB direct(RDMA) Partial Supported. SMB3 Multi-channel is required
|
||||||
|
to connect to Windows client.
|
||||||
|
SMB3 Multi-channel In Progress.
|
||||||
|
SMB3.1.1 POSIX extension Supported.
|
||||||
|
ACLs Partial Supported. only DACLs available, SACLs is
|
||||||
|
planned for future. ksmbd generate random subauth
|
||||||
|
values(then store it to disk) and use uid/gid
|
||||||
|
get from inode as RID for local domain SID.
|
||||||
|
The current acl implementation is limited to
|
||||||
|
standalone server, not a domain member.
|
||||||
|
Kerberos Supported.
|
||||||
|
Durable handle v1,v2 Planned for future.
|
||||||
|
Persistent handle Planned for future.
|
||||||
|
SMB2 notify Planned for future.
|
||||||
|
Sparse file support Supported.
|
||||||
|
DCE/RPC support Partial Supported. a few calls(NetShareEnumAll,
|
||||||
|
NetServerGetInfo, SAMR, LSARPC) that needed as
|
||||||
|
file server via netlink interface from
|
||||||
|
ksmbd.mountd.
|
||||||
|
============================== =================================================
|
||||||
|
|
||||||
The features that are planned or not supported:
|
|
||||||
* SMB3 Multi-channel
|
|
||||||
* Durable handle v1,v2
|
|
||||||
* Persistent handles
|
|
||||||
* Directory lease
|
|
||||||
* SMB2 notify
|
|
||||||
|
|
||||||
How to run
|
How to run
|
||||||
==========
|
==========
|
||||||
|
Loading…
x
Reference in New Issue
Block a user