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.
This commit is contained in:
Amaury Denoyelle 2022-01-26 11:56:48 +01:00
parent 7f7713d6ef
commit 683b5fc7b8

View File

@ -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);
}