Crate ktls_core

Crate ktls_core 

Source
Expand description

§ktls-core

Crates.io Docs.rs Test pipeline Test pipeline Code Coverage License: MIT OR Apache-2.0

Abstraction for implementing Linux kernel TLS (kTLS) offload.

§Overview

This crate provides low-level APIs for setting up kernel TLS (kTLS) regardless of your preferred TLS library.

Please check the crate ktls-stream for a higher-level Stream abstraction.

§Kernel Compatibility

We perform daily CI tests against the following kernel versions:

Ver.Min. Ver.
mainline-
stable-
6.12.x (LTS)6.12.0
6.6.x (LTS)6.6.0
6.1.x (LTS)6.1.28
5.15.x (LTS)5.15.25
5.10.x (LTS)5.10.102
5.4.x (LTS)5.4.181
  • For LTS versions, we test against the latest patch.

  • Have simply tested the minimum applicable kernel version, and listed above, though lacking CI testing guarantees.

    We recommend using the latest Linux kernel, at least 6.6 LTS, for better support of kTLS.

§License

Licensed under either of:

at your option.

Re-exports§

pub use self::context::Context;
pub use self::error::Error;
pub use self::setup::setup_tls_params;
pub use self::setup::setup_ulp;
pub use self::setup::TlsCryptoInfoRx;
pub use self::setup::TlsCryptoInfoTx;
pub use self::tls::ConnectionTrafficSecrets;
pub use self::tls::ProtocolVersion;
pub use self::tls::TlsSession;

Modules§

context
Kernel TLS connection context.
error
Error related types and implementations.
ffi
Safe syscall wrappers.
probe
See Compatibilities::probe.
setup
Transport Layer Security (TLS) is a Upper Layer Protocol (ULP) that runs over TCP. TLS provides end-to-end data integrity and confidentiality.
shim
Shim layer for different TLS libraries.
tls
Shim layer for TLS protocol implementations.
utils
Utilities