]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MINOR: listener: Add QUIC info to listeners and receivers.
authorFrédéric Lécaille <flecaille@haproxy.com>
Mon, 23 Nov 2020 13:23:21 +0000 (14:23 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 23 Dec 2020 10:57:26 +0000 (11:57 +0100)
commit884f2e9f434e71d7693e8ac8a8b179b071f405ed
tree4fd450981c445c67e0c1804c04cb069841617f5a
parenta7e7ce957d57cec0115567c91950473914dbaaa9
MINOR: listener: Add QUIC info to listeners and receivers.

This patch adds a quic_transport_params struct to bind_conf struct
used for the listeners. This is to store the QUIC transport parameters
for the listeners. Also initializes them when calling str2listener().
Before str2sa_range() it's too early to figure we're going to speak QUIC,
and after it's too late as listeners are already created. So it seems that
doing it in str2listener() when the protocol is discovered is the best
place.

Also adds two ebtrees to the underlying receivers to store the connection
by connections IDs (one for the original connection IDs, and another
one for the definitive connection IDs which really identify the connections.

However it doesn't seem normal that it is stored in the receiver nor the
listener. There should be a private context in the listener so that
protocols can store internal information. This element should in
fact be the listener handle.

Something still feels wrong, and probably we'll have to make QUIC and
SSL co-exist: a proof of this is that there's some explicit code in
bind_parse_ssl() to prevent the "ssl" keyword from replacing the xprt.
include/haproxy/listener-t.h
include/haproxy/receiver-t.h
src/cfgparse.c
src/proto_quic.c