conn_id->cid.len = QUIC_HAP_CID_LEN;
if (quic_newcid_from_hash64) {
+ TRACE_DEVEL("calculate CID value from conn hash", QUIC_EV_CONN_TXPKT, qc);
quic_newcid_from_hash64(conn_id->cid.data, conn_id->cid.len, qc->hash64,
global.cluster_secret, sizeof(global.cluster_secret));
}
- else if (RAND_bytes(conn_id->cid.data, conn_id->cid.len) != 1) {
- /* TODO: RAND_bytes() should be replaced */
- TRACE_ERROR("RAND_bytes() failed", QUIC_EV_CONN_TXPKT, qc);
- goto err;
+ else {
+ TRACE_DEVEL("generate CID value from random generator", QUIC_EV_CONN_TXPKT, qc);
+ if (RAND_bytes(conn_id->cid.data, conn_id->cid.len) != 1) {
+ /* TODO: RAND_bytes() should be replaced */
+ TRACE_ERROR("RAND_bytes() failed", QUIC_EV_CONN_TXPKT, qc);
+ goto err;
+ }
}
if (quic_stateless_reset_token_init(conn_id) != 1) {
conn_id->cid.len = QUIC_HAP_CID_LEN;
+ TRACE_DEVEL("derive CID value from a client ODCID", QUIC_EV_CONN_TXPKT);
/* Derive the new CID value from original CID. */
conn_id->cid = quic_derive_cid(orig, addr);
* <new_tid> will be set to redispatch the
* current packet.
*/
+ TRACE_STATE("duplicate CID on Initial", QUIC_EV_CONN_LPKT);
pool_free(pool_head_quic_connection_id, conn_id);
quic_conn_release(qc);
qc = NULL;
*/
if (!qc) {
if (new_tid >= 0) {
+ TRACE_STATE("re-enqueue packet to conn thread", QUIC_EV_CONN_LPKT);
MT_LIST_APPEND(&quic_dghdlrs[new_tid].dgrams,
&dgram->handler_list);
tasklet_wakeup(quic_dghdlrs[new_tid].task);