ktls-core-0.0.2 has been yanked.
ktls-core
Abstraction for implementing Linux kernel TLS (kTLS) offload in Rust.
Overview
This crate provides a low-level interface for setting up kernel TLS (kTLS) regardless of your preferred TLS library.
Implementation Guide
Setting up kTLS generally involves these steps:
- Creates a
TcpStream
(or something else likeUnixStream
). - Configures the TLS User Level Protocol (ULP) on the stream.
- Performs the TLS handshake using your preferred TLS library over the stream.
- Creates the
Stream
using the configured stream and crypto materials.
Then you can use the Stream
as a drop-in replacement of the original TcpStream
.
Kernel Compatibility
We perform daily CI tests against the following kernel versions:
Version |
---|
mainline |
stable |
6.6.x (LTS) |
6.1.x (LTS) |
5.15.x (LTS) |
5.10.x (LTS) |
5.4.x (LTS) |
(For LTS kernels, we test against the latest patch version)
For examples and tests details, please refer to the ktls-tests.
License
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.