]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic: wakeup backend MUX on handshake completed
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Wed, 28 May 2025 09:26:08 +0000 (11:26 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 12 Jun 2025 09:28:54 +0000 (11:28 +0200)
This commit is the second and final step to initiate QUIC MUX on the
backend side. On handshake completion, MUX is woken up just after its
creation. This step is necessary to notify the stream layer, via the QCS
instance pre-initialized on MUX init, so that the transfer can be
resumed.

This mode of operation is similar to TCP stack when TLS+ALPN are used,
which forces MUX initialization to be delayed after handshake
completion.

src/quic_ssl.c

index 120684f0a1d157ebb12d2afffd21357b83918c4f..3341e03cb50c7fde8ecac131d79a69e80348b276 100644 (file)
@@ -975,6 +975,8 @@ static int qc_ssl_provide_quic_data(struct ncbuf *ncbuf,
                                goto leave;
                        }
 
+                       /* Wake up MUX after its creation. Operation similar to TLS+ALPN on TCP stack. */
+                       ctx->conn->mux->wake(ctx->conn);
                        qc->mux_state = QC_MUX_READY;
                }