Items tagged with: quic

Search

Items tagged with: quic


I'll talk #http3 again this week and I made this new slide explaining the #OpenSSL #QUIC "journey"

Did I miss any major milestone I should add?


#quic



The state of #QUIC support in #curl is not for the faint of hearts. The current API development is what I put in the lower part of the rightmost column.

A blog post will follow to explain some of this.


An #ngtcp2 lead developer told me they have no current plans to adapt to the new #OpenSSL #QUIC API because of its lack of 0RTT support and the "pull model".

Of course someone else can go ahead and write it and ideally someone from #OpenSSL does it, for dogfooding purposes.

I have no heard of any other QUIC stack either having adapted to it yet.


I asked the #OpenSSL team about their new #QUIC API:

Out of curiosity: since you decided to provide a quite different API than what was once offered to you and what several QUIC stacks are already using. How did you come up with this API?

github.com/openssl/openssl/pul…


I now hope for #OpenSSL to work with #ngtcp2 to make sure #QUIC works fine in that combo. Then we can leave the slow OpenSSL-QUIC implementation in its dusty corner and perhaps see rather wide HTTP/3 + curl adoption coming up.



It is now *six* years ago since I first blogged about how the #QUIC API situation was going to slow down QUIC (and HTTP/3) deployment. Unfortunately I was entirely correct.

daniel.haxx.se/blog/2019/01/21…

The follow-up post a few years later on OpenSSL's decision to be a laggard:

daniel.haxx.se/blog/2021/10/25…

#quic


Three years ago I blogged about #OpenSSL's decision to deliberately block #QUIC progress in the world: daniel.haxx.se/blog/2021/10/25…

Which is timely with the OpenSSL 3.4.0 release announced just days ago: that still does not offer a working (and performant) QUIC API. (yes, there is an attempt there but it's not production grade)

It's almost like the writing was on the wall already a long time ago.




According to @bagder the stubborn way the #OpenSSL project is handling #QUIC implementation is directly responsible for delaying HTTP/3 adoption (1), and I tend to agree. When the project rejected the community QUIC patches and decided to go with their own design, it wasn't difficult to predict problems. This was proven right by the massive feature gaps (2) and performance issues (3) discovered by @icing when trying to marry OpenSSL QUIC to #curl. Even with API fixes released in version 3.3 the implementation is still inferior, and there is no good solution in sight.

1) lwn.net/Articles/983380/
2) github.com/openssl/openssl/dis…
3) github.com/icing/blog/blob/mai…





The #curl #http3 and #quic support egg.

(also from my coming Friday talk)



April 6 at 10:00 PST (19:00 CEST) @icing and me run a webinar titled "All Things QUIC" about HTTP/3 and #QUIC with #curl and #wolfSSL. Sign up here: us02web.zoom.us/webinar/regist… - I will also live-stream the event on twitch.tv/curlhacker