]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: quic: remove TID encoding in CID
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 13 Apr 2023 15:34:56 +0000 (17:34 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Tue, 18 Apr 2023 14:54:31 +0000 (16:54 +0200)
CIDs were moved from a per-thread list to a global list instance. The
TID-encoded is thus non needed anymore.

This should be backported up to 2.7 after a period of observation.

include/haproxy/quic_conn.h
src/quic_conn.c

index b52535ff3e194c6b4937d715fe5500085198f9d8..a3cd423d2d59ed59fddd175b6ac623447192355c 100644 (file)
@@ -208,17 +208,6 @@ static inline void quic_connection_id_to_frm_cpy(struct quic_frame *dst,
        to->stateless_reset_token = src->stateless_reset_token;
 }
 
-/* Modify <cid> to have a CID linked to the thread ID <target_tid> that
- * quic_get_cid_tid() will be able to extract return.
- */
-static inline void quic_pin_cid_to_tid(unsigned char *cid, uint target_tid)
-{
-       uint16_t prev_id;
-
-       prev_id = read_n16(cid);
-       write_n16(cid, (prev_id & ~4095) | target_tid);
-}
-
 /* Return a 32-bits integer in <val> from QUIC packet with <buf> as address.
  * Makes <buf> point to the data after this 32-bits value if succeeded.
  * Note that these 32-bits integers are network bytes ordered.
index 1a6d1176a03b023d8f8eb880297c2856dd8a0325..e4145f6dccab5db864d75decb68316cc5d17222e 100644 (file)
@@ -3906,8 +3906,7 @@ static int quic_stateless_reset_token_init(struct quic_connection_id *conn_id)
        return ret;
 }
 
-/* Generate a CID directly derived from <orig> CID and <addr> address. The CID
- * is then marked with the current thread ID.
+/* Generate a CID directly derived from <orig> CID and <addr> address.
  *
  * Returns the derived CID.
  */
@@ -3962,9 +3961,6 @@ struct quic_cid quic_derive_cid(const struct quic_cid *orig,
                cid.data[i] = hash >> ((sizeof(hash) * 7) - (8 * i));
        cid.len = sizeof(hash);
 
-       /* Mark the current thread id in the CID. */
-       quic_pin_cid_to_tid(cid.data, tid);
-
        return cid;
 }
 
@@ -4055,7 +4051,6 @@ static struct quic_connection_id *new_quic_cid(struct eb_root *root,
                        TRACE_ERROR("RAND_bytes() failed", QUIC_EV_CONN_TXPKT, qc);
                        goto err;
                }
-               quic_pin_cid_to_tid(conn_id->cid.data, tid);
        }
        else {
                /* Derive the new CID value from original CID. */