Skip to content
Snippets Groups Projects
Commit 04bee6e3 authored by Namjae Jeon's avatar Namjae Jeon Committed by Steve French
Browse files

cifsd: update cifsd.rst document


Add work flow of cifsd and feature stats table.

Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 50355b0b
No related branches found
No related tags found
No related merge requests found
...@@ -10,6 +10,34 @@ for sharing files over network. ...@@ -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 ...@@ -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
============ CIFSD Feature Status
====================
The supported features are:
* SMB3 protocols for basic file sharing ============================== =================================================
* Auto negotiation Feature name Status
* Compound requests ============================== =================================================
* Oplock/Lease Dialects Supported. SMB2.1 SMB3.0, SMB3.1.1 dialects
* Large MTU excluding security vulnerable SMB1.
* NTLM/NTLMv2 Auto Negotiation Supported.
* HMAC-SHA256 Signing Compound Request Supported.
* Secure negotiate Oplock Cache Mechanism Supported.
* Signing Update SMB2 leases(v1 lease) Supported.
* Pre-authentication integrity(SMB 3.1.1) Directory leases(v2 lease) Planned for future.
* SMB3 encryption(CCM, GCM) Multi-credits Supported.
* SMB direct(RDMA) NTLM/NTLMv2 Supported.
* SMB3.1.1 POSIX extension support HMAC-SHA256 Signing Supported.
* ACLs Secure negotiate Supported.
* Kerberos Signing Update Supported.
Pre-authentication integrity Supported.
The features that are planned or not supported: SMB3 encryption(CCM, GCM) Supported.
* SMB3 Multi-channel SMB direct(RDMA) Partial Supported. SMB3 Multi-channel is required
* Durable handle v1,v2 to connect to Windows client.
* Persistent handles SMB3 Multi-channel In Progress.
* Directory lease SMB3.1.1 POSIX extension Supported.
* SMB2 notify 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.
============================== =================================================
How to run How to run
========== ==========
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment