« All posts

Go-ktls: Linux Kernel TLS Offload for Go's HTTPS Listener

Go-ktls offers TLS offload for Go's net/HTTP, supporting TLS 1.3 and 1.2 via the Linux kernel.

Go-ktls enables TLS offload for Go's net/HTTP by delegating TLS 1.3 and 1.2 encryption to the Linux kernel. The handshake occurs in user space, while encryption processes are handled directly by the kernel, facilitating sendfile(2) usage and allowing files to be DMAed directly to the NIC.