Hi Aleks,

On Mon, Sep 04, 2017 at 09:34:07AM +0200, Aleksandar Lazic wrote:
> Hi,
> 
> Have anyone seen KTLS also?
> 
> https://lwn.net/Articles/666509/
> 
> https://netdevconf.org/1.2/papers/ktls.pdf
> 
> looks pretty interesting.

As I already mentionned (I don't remember to whom), I really don't see *any*
benefit in this approach and only problems in fact. By the way, others have
attempted it in the past and failed.

The intended purpose is to save memory copies. But memory copies cost very
little compared to AES encryption, so the savings are very marginal, as the
graph shows. The reality is that in order to increase the performance by
only 5% :

  - existing TLS application code will require modifications to be able to
    use both openssl and ktls

  - as new algorithms are deployed, you'll have to switch back to openssl
    and disable kernel offloading for the time it takes to upgrade to a
    new kernel. FWIW we're seeing people install openssl 1.0.2 or 1.1.0
    on centos 7. This proves that userland moves faster than kernels. This
    problem could slow down adoption of new algorithms by the way, which is
    exactly what QUIC is fighting by moving all the TCP stack into the
    browser :-(

  - the data to be encrypted are now transferred to the kernel and visible
    using strace. One could argue that it will help with debugging, but it
    is also sometimes useful on some production systems to know that strace
    remains a safe tool to use because you don't see clear text data.

  - the application has less control over the TLS record size, which is
    critical to page load time as it allows browsers to parse contents on
    the fly without having to wait for a full transfer before decrypting.

So for me it's attacking a non-problem and will cause new problems. I'm
still not seeing any real benefit, I'm sorry. And you know that usually
I'm the one trying to push stuff into the kernel to make things faster.
It's just that *this* specific thing doesn't bring any obvious savings
to me.

Cheers,
Willy

Reply via email to