From 683b5fc7b86567a32c3b29543813daadfb0c023f Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Wed, 26 Jan 2022 11:56:48 +0100 Subject: [PATCH] MEDIUM: quic: flag listener for local accept QUIC connections are distributed accross threads by xprt-quic according to their CIDs. As such disable the thread selection in listener_accept for QUIC listeners. This prevents connection from migrating to another threads after its allocation which can results in unexpected side-effects. --- src/proto_quic.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/proto_quic.c b/src/proto_quic.c index 29ae209bd..283484596 100644 --- a/src/proto_quic.c +++ b/src/proto_quic.c @@ -524,6 +524,7 @@ static void quic_add_listener(struct protocol *proto, struct listener *listener) MT_LIST_INIT(&listener->rx.pkts); listener->rx.odcids = EB_ROOT_UNIQUE; listener->rx.cids = EB_ROOT_UNIQUE; + listener->rx.flags |= RX_F_LOCAL_ACCEPT; HA_RWLOCK_INIT(&listener->rx.cids_lock); default_add_listener(proto, listener); }