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
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
Dependencies
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)