m (→Dependencies) |
|||
Line 110: | Line 110: | ||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
This feature is completely optional. Nor developers or users will be required to do anything regarding this change unless they would like to use the feature, in which case they would follow instructions in ''How To Test'' section below. | |||
== How To Test == | == How To Test == |
Revision as of 13:53, 22 July 2022
KTLS implementation for GnuTLS
Summary
Acceleration of GnuTLS with software Kernel TLS(KTLS)
Owner
- Name: František Krenželok
- Email: fkrenzel@redhat.com
Current status
- Targeted release: Fedora Linux 38
- Last updated: 2022-07-22
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
The goal of this change is to provide GnuTLS users with a high throughput data transfer mechanism on encrypted channels, with emphasis on network block devices(NBD).
We accomplish this with KTLS which offloads enc/decryption to the kernel, while GnuTLS handles initial connection(TLS handshake). This approach saves us from frequent context switching as well as data copies in userspace when using send_file() function.
Feedback
Benefit to Fedora
Scope
- Proposal owners:
- Other developers:
- Release engineering: #Releng issue number
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives:
Upgrade/compatibility impact
This feature is completely optional. Nor developers or users will be required to do anything regarding this change unless they would like to use the feature, in which case they would follow instructions in How To Test section below.
How To Test
To enable this feature, user has to load TLS kernel module (modprobe tls
) and enable ktls by entering ktls = true
in [global]
section of GnuTLS configuration file see.
User Experience
This change might interest package maintainers i.e. developers that picked GnuTLS as their go to solution when it come to transferring data securely, and wish to accelerate it. The acceleration is most noticeable on large data transfer such that of files.
Dependencies
Currently KTLS doesn't support key_update (The keys delivered to the kernel can’t be set more than once per session) so a kernel module patch would be needed for this functionality.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
Documentation
N/A (not a System Wide Change)