TRACE_ENTER(QUIC_EV_CONN_STIMER, ctx->conn,
NULL, NULL, &ctx->conn->qc->path->ifae_pkts);
- qc = ctx->conn->qc;
+ qc = ctx->qc;
pktns = quic_loss_pktns(qc);
if (tick_isset(pktns->tx.loss_time)) {
qc->timer = pktns->tx.loss_time;
struct ssl_sock_ctx *ctx)
{
int stream_acked;
- struct quic_conn *qc = ctx->conn->qc;
+ struct quic_conn *qc = ctx->qc;
TRACE_PROTO("Removing frame", QUIC_EV_CONN_PRSAFRM, ctx->conn, frm);
stream_acked = 0;
TRACE_ENTER(QUIC_EV_CONN_SSLDATA, ctx->conn);
ssl_err = SSL_ERROR_NONE;
- qc = ctx->conn->qc;
+ qc = ctx->qc;
+
if (SSL_provide_quic_data(ctx->ssl, el->level, data, len) != 1) {
TRACE_PROTO("SSL_provide_quic_data() error",
QUIC_EV_CONN_SSLDATA, ctx->conn, pkt, cf, ctx->ssl);
{
struct quic_frame frm;
const unsigned char *pos, *end;
- struct quic_conn *qc = ctx->conn->qc;
+ struct quic_conn *qc = ctx->qc;
TRACE_ENTER(QUIC_EV_CONN_PRSHPKT, ctx->conn);
/* Skip the AAD */
size_t dg_headlen = sizeof dglen + sizeof first_pkt;
TRACE_ENTER(QUIC_EV_CONN_PHPKTS, ctx->conn);
- qc = ctx->conn->qc;
+ qc = ctx->qc;
+
if (!quic_get_tls_enc_levels(&tel, &next_tel, HA_ATOMIC_LOAD(&qc->state), 0)) {
TRACE_DEVEL("unknown enc. levels", QUIC_EV_CONN_PHPKTS, ctx->conn);
goto err;
struct quic_conn *qc;
struct cbuf *cbuf;
- qc = ctx->conn->qc;
+ qc = ctx->qc;
cbuf = qr->cbuf;
while (cb_contig_data(cbuf)) {
unsigned char *pos;
int prev_st, st, force_ack, zero_rtt;
ctx = context;
- qc = ctx->conn->qc;
+ qc = ctx->qc;
qr = NULL;
st = HA_ATOMIC_LOAD(&qc->state);
TRACE_ENTER(QUIC_EV_CONN_HDSHK, ctx->conn, &st);
int st;
conn_ctx = task->context;
- qc = conn_ctx->conn->qc;
+ qc = conn_ctx->qc;
TRACE_ENTER(QUIC_EV_CONN_PTIMER, conn_ctx->conn,
NULL, NULL, &qc->path->ifae_pkts);
task->expire = TICK_ETERNITY;
if (qc == NULL)
goto err;
+ ctx->qc = qc;
+
/* Insert our SCID, the connection ID for the QUIC client. */
ebmb_insert(&srv->cids, &qc->scid_node, qc->scid.len);
struct bind_conf *bc = __objt_listener(conn->target)->bind_conf;
struct quic_conn *qc = ctx->conn->qc;
+ ctx->qc = qc;
+
qc->tid = ctx->wait_event.tasklet->tid = quic_get_cid_tid(&qc->scid);
if (qc_ssl_sess_init(qc, bc->initial_ctx, &ctx->ssl,
qc->enc_params, qc->enc_params_len) == -1)