CLEANUP: quic: add comments on CID code
Add minor comment to explain how the CID are stored in the QUIC
connection.
diff --git a/include/haproxy/xprt_quic-t.h b/include/haproxy/xprt_quic-t.h
index e8c6f66..ee7b19d 100644
--- a/include/haproxy/xprt_quic-t.h
+++ b/include/haproxy/xprt_quic-t.h
@@ -246,7 +246,8 @@
extern struct pool_head *pool_head_quic_tx_packet;
extern struct pool_head *pool_head_quic_frame;
-/*
+/* QUIC connection id data.
+ *
* This struct is used by ebmb_node structs as last member of flexible arrays.
* So do not change the order of the member of quic_cid struct.
* <data> member must be the first one.
@@ -627,10 +628,10 @@
struct ebmb_node odcid_node;
struct quic_cid odcid;
- struct quic_cid dcid;
+ struct quic_cid dcid; /* DCID of our endpoint - not updated whan a new DCID is used */
struct ebmb_node scid_node;
- struct quic_cid scid;
- struct eb_root cids;
+ struct quic_cid scid; /* first SCID of our endpoint - not updated when a new SCID is used */
+ struct eb_root cids; /* tree of quic_connection_id - used to match a received packet DCID with a connection */
struct quic_enc_level els[QUIC_TLS_ENC_LEVEL_MAX];
struct quic_pktns pktns[QUIC_TLS_PKTNS_MAX];
diff --git a/include/haproxy/xprt_quic.h b/include/haproxy/xprt_quic.h
index f033b66..2b59c37 100644
--- a/include/haproxy/xprt_quic.h
+++ b/include/haproxy/xprt_quic.h
@@ -181,6 +181,7 @@
cid->seq_num.key = seq_num;
cid->retire_prior_to = 0;
+ /* insert the allocated CID in the quic_conn tree */
eb64_insert(root, &cid->seq_num);
return cid;
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index d36eb46..c597405 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -3076,7 +3076,7 @@
if (qc->odcid.len)
memcpy(qc->odcid.data, dcid, dcid_len);
- /* Copy the SCID as our DCID for this connection. */
+ /* copy the packet SCID to reuse it as DCID for sending */
if (scid_len)
memcpy(qc->dcid.data, scid, scid_len);
qc->dcid.len = scid_len;