An implementation of the SMB server in the Linux kernel has been proposed

Few days ago a proposal was released for inclusion in the next version of the Linux kernel in which a file server implementation using the SMB3 protocol is suggested.

What is contemplated is that the server is designed as a ksmbd kernel module and complements the previously available SMB client code, in addition to observing that, unlike an SMB server running in user space, kernel level implementation is more efficient in terms of performance, memory consumption and integration with advanced kernel capabilities.

The SMB family of protocols is the most widely implemented in the network file system and is the default on Windows and Mac (and even on many phones and tablets), with clients and servers on major operating systems, but lacked a kernel server for Linux.

The main authors of the ksmbd code are Namjae Jeon from Samsung and Hyunchul Lee from LG, in addition to that the ksmbd accompaniment as part of the kernel will take care of Steve French from Microsoft and who previously worked for many years at IBM, in addition to also working on the CIFS / SMB2 / SMB3 maintenance subsystems in the Linux kernel and is A longtime Samba team member who also made a significant contribution to the implementation of the SMB / CIFS Support Protocol on Samba and Linux.

For many cases, the current user space server settings were not optimal whether due to memory footprint, performance or difficulty to integrate fine with advanced Linux features.

ksmbd is a new kernel module that is implemented on the server side of the SMB3 protocol. The goal is to provide optimized performance, better lease handling (distributed caching).

What stands out about ksmbd is the improved support for distributed file caching technology (SMB leases) on local systems, which can significantly reduce traffic.

In the future, it is planned to add new features, such as support for RDMA ("Smbdirect"), as well as protocol extensions related to enhancing the strength of encryption and verification using digital signatures.

Note that such extensions are much easier to implement on a server compact and well optimized that runs at kernel level than in the Samba package. Having said that, ksmbd is not intended to be a complete replacement for Samba, which goes beyond the capabilities of a file server and provides tools that span security services, LDAP, and a domain controller.

Samba's file server implementation is cross-platform and designed for wider uses, making it difficult to optimize for some Linux environments, such as firmware for resource-limited devices.

The bigger goal is to add new features quickly (eg RDMA aka "smbdirect" and recent encryption and signature of protocol improvements) that are easier to develop on a smaller and more optimized kernel server than, for example, on Samba. The Samba project has a much broader scope (tools, security services, LDAP, Active Directory domain controller, and a cross-platform file server for a wider variety of purposes) but the file server portion of the user space Samba has proven difficult to optimize for some Linux workloads, including for smaller devices.

It is mentioned that Ksmbd does not look like a standalone product, but rather as an extension High-performance, embedded device-ready Samba device that integrates with Samba tools and libraries as needed. For example, Samba developers have already agreed to use smbd-compliant configuration files and extended attributes (xattrs) in ksmbd, which will make it easier to switch from smbd to ksmbd and vice versa.

Finally if you are interested in knowing more about it about the proposal of this implementation, you can check the details In the following link.

The content of the article adheres to our principles of editorial ethics. To report an error click here!.

Be the first to comment

Leave a Comment

Your email address will not be published. Required fields are marked with *



  1. Responsible for the data: AB Internet Networks 2008 SL
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.