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 b52535f..a3cd423 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 1a6d117..e4145f6 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. */