forked from namjaejeon/ksmbd
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
105 lines (95 loc) · 4.42 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
================================================================================
* WHAT IS CIFSD?
================================================================================
CIFSD is an opensource In-kernel CIFS/SMB3 server created by Namjae Jeon for
Linux Kernel. It's an implementation of SMB/CIFS protocol in kernel space for
sharing files and IPC services over network. Initially the target is to provide
improved file I/O performances, but the bigger goal is to have some new features
which are much easier to develop and maintain inside the kernel and expose the
layers fully. Directions can be attributed to sections where SAMBA is moving to
few modules inside the kernel to have features like RDMA(Remote direct memory
access) to work with actual performance gain.
================================================================================
* Under PFIF
================================================================================
This code was developed in participation with the Protocol Freedom
Information Foundation.
Please see
http://protocolfreedom.org/ and
http://samba.org/samba/PFIF/
for more details.
================================================================================
* Git
================================================================================
The development git tree is available at
- https://github.com/namjaejeon/cifsd
- https://github.com/namjaejeon/cifsd-tools
================================================================================
* Maintainers
================================================================================
Namjae Jeon <[email protected]>
Sergey Senozhatsky <[email protected]>
================================================================================
* Bug Report or contribution for cifsd development
================================================================================
For reporting bugs and sending patches, please send the patches to the following
mail address:
================================================================================
* Features
===============================================================================
- Implemented
a. SMB1(CIFS), SMB2/3 protocols for basic file sharing
b. Dynamic crediting
c. Compound requests
d. Durable handle
e. oplock/lease
f. Large MTU
g. NTLM/NTLMv2
h. Auto negotiation
i. HMAC-SHA256 Signing
j. Secure negotiate
k. Signing Update
l. Preautentication integrity(SMB 3.1.1)
m. SMB3 encryption
- Planned
a. SMB direct(RDMA)
b. Multi-channel
c. Durable handle v2
d. Kerberos
e. persistent handles
f. directory lease
================================================================================
* CIFSD Architecture
================================================================================
|--- ...
--------|--- kcifsd/3 - Client 3
|-------|--- kcifsd/2 - Client 2
| | _____________________________________________________
| | |- Client 1 |
<--- Socket ---|--- kcifsd/1 <<= Authentication : NTLM/NTLM2, Kerberos(TODO)|
| | | | <<= SMB : SMB1, SMB2, SMB2.1, SMB3, SMB3.0.2, |
| | | | SMB3.1.1 |
| | | |_____________________________________________________|
| | |
| | |--- VFS --- Local Filesystem
| |
KERNEL |--- kcifsd/0(forker kthread)
---------------||---------------------------------------------------------------
USER ||
|| communication using NETLINK
|| ______________________________________________
|| | |
cifsd <<= DCE/RPC, WINREG |
^ | <<= configure shares setting, user accounts |
| |______________________________________________|
|
|------ smb.conf(config file)
|
|------ cifspwd.db(user account/password file)
^
cifsadmin ----------------|
================================================================================
================================================================================