]> git.kaiwu.me - haproxy.git/commit
MINOR: connection/mux_quic: add MUX <init_xprt> field for QMux handshake
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 18 May 2026 14:58:04 +0000 (16:58 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 19 May 2026 16:40:50 +0000 (18:40 +0200)
commit879c78c9094886c73301a8847995e9ef48d560e8
tree138a0776e534a3dd221afc658b4f2378fa3644b2
parent356f1ab5d791c933dfbc130a30f3de3cd9842c5d
MINOR: connection/mux_quic: add MUX <init_xprt> field for QMux handshake

The first part of this patch defines a new mux_proto_list field named
<xprt_init>. This allows to define an extra XPRT layer which should be
activated first prior to the MUX creation both on frontend and backend
sides.

This is immediately used for QMux mux_proto_list to require XPRT_QMUX
handshake. With this change, activation of QMux connection flags in
session_accept_fd() and connect_server() are adjusted to take into
account <init_xprt> field. This approach is much more evolutive than
relying on the previous MUX name.

Change in connect_server() will also be necessary to support QMux
activation on a TCP server with h3 ALPN without explicit "proto qmux".
This guarantees that MUX initialization is delayed after QMux handshake.
include/haproxy/connection-t.h
src/backend.c
src/mux_quic.c
src/session.c