From: Amaury Denoyelle Date: Wed, 26 Jan 2022 10:56:48 +0000 (+0100) Subject: MEDIUM: quic: flag listener for local accept X-Git-Tag: v2.6-dev1~76 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=683b5fc7b86567a32c3b29543813daadfb0c023f;p=thirdparty%2Fhaproxy.git 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. --- diff --git a/src/proto_quic.c b/src/proto_quic.c index 29ae209bde..283484596c 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); }