diff --git a/include/haproxy/xprt_quic.h b/include/haproxy/xprt_quic.h
index ce65e8bf8..080d65fd1 100644
--- a/include/haproxy/xprt_quic.h
+++ b/include/haproxy/xprt_quic.h
@@ -456,9 +456,13 @@ static inline void quic_dflt_transport_params_cpy(struct quic_transport_params *
dst->active_connection_id_limit = quic_dflt_transport_params.active_connection_id_limit;
}
-/* Initialize
transport parameters depending boolean value which
- * must be set to 1 for a server (haproxy listener), 0 for a client (connection
- * to haproxy server).
+/* Initialize transport parameters. is a boolean, set if TPs are
+ * used by a server (haproxy frontend) else this is for a client (haproxy
+ * backend).
+ *
+ * This must only be used for haproxy local parameters. To initialize peer
+ * parameters, see quic_dflt_transport_params_cpy().
+ *
* Never fails.
*/
static inline void quic_transport_params_init(struct quic_transport_params *p,
@@ -885,7 +889,6 @@ static inline int quic_transport_params_decode(struct quic_transport_params *p,
pos = buf;
- quic_transport_params_init(p, server);
while (pos != end) {
uint64_t type, len;
@@ -925,6 +928,9 @@ static inline int quic_transport_params_store(struct quic_conn *conn, int server
struct quic_transport_params *tx_params = &conn->tx.params;
struct quic_transport_params *rx_params = &conn->rx.params;
+ /* initialize peer TPs to RFC default value */
+ quic_dflt_transport_params_cpy(tx_params);
+
if (!quic_transport_params_decode(tx_params, server, buf, end))
return 0;