mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 05:41:26 +02:00
The aim of this patch is to identify the QUIC traces between the QUIC frontend and backend parts. Two haproxy instances are created. The c(1|2) http clients connect to ha1 with TCP frontends and QUIC backends. ha2 embeds two QUIC listeners with s1 as TCP backend. When the traces are activated, they are dumped to stderr. Hopefully, they are prefixed by the haproxy instance name (h1 or h2). This is very useful to identify the QUIC instances.
85 lines
2.3 KiB
Plaintext
85 lines
2.3 KiB
Plaintext
varnishtest "Two simple h3 tests (with and without QUIC RETRY)"
|
|
|
|
feature cmd "$HAPROXY_PROGRAM -cc 'version_atleast(3.3-dev2)'"
|
|
# QUIC backend are not supported with USE_QUIC_OPENSSL_COMPAT
|
|
feature cmd "$HAPROXY_PROGRAM -cc 'feature(QUIC) && !feature(QUIC_OPENSSL_COMPAT) && !feature(OPENSSL_WOLFSSL)'"
|
|
feature ignore_unknown_macro
|
|
|
|
server s1 {
|
|
rxreq
|
|
txresp
|
|
} -repeat 2 -start
|
|
|
|
haproxy ha2 -conf {
|
|
global
|
|
expose-experimental-directives
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
|
|
# Uncomment these lines to get some debug traces on stderr
|
|
# traces
|
|
# trace quic sink stderr level developer start now
|
|
# trace ssl sink stderr level developer verbosity complete start now
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
listen quic_lstnr
|
|
bind "quic+fd@${fe_quic}" ssl crt ${testdir}/common.pem
|
|
server srv ${s1_addr}:${s1_port}
|
|
|
|
listen quic_lstnr_retry
|
|
bind "quic+fd@${fe_quic_retry}" ssl crt ${testdir}/common.pem quic-force-retry
|
|
server srv ${s1_addr}:${s1_port}
|
|
} -start
|
|
|
|
haproxy ha1 -conf {
|
|
global
|
|
expose-experimental-directives
|
|
.if feature(THREAD)
|
|
thread-groups 1
|
|
.endif
|
|
|
|
# Uncomment these lines to get some debug traces on stderr
|
|
# traces
|
|
# trace quic sink stderr level developer start now
|
|
# trace ssl sink stderr level developer verbosity complete start now
|
|
|
|
defaults
|
|
mode http
|
|
timeout connect "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout client "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
timeout server "${HAPROXY_TEST_TIMEOUT-5s}"
|
|
|
|
backend quic_be
|
|
server quic quic4@${ha2_fe_quic_addr}:${ha2_fe_quic_port} ssl verify none
|
|
|
|
backend quic_be_retry
|
|
server quic_retry quic4@${ha2_fe_quic_retry_addr}:${ha2_fe_quic_retry_port} ssl verify none
|
|
|
|
frontend fe_wo_retry
|
|
bind "fd@${fe}"
|
|
use_backend quic_be
|
|
|
|
frontend fe_with_retry
|
|
bind "fd@${fe_retry}"
|
|
use_backend quic_be_retry
|
|
} -start
|
|
|
|
client c1 -connect ${ha1_fe_sock} {
|
|
txreq
|
|
rxresp
|
|
expect resp.status == 200
|
|
} -run
|
|
|
|
client c2 -connect ${ha1_fe_retry_sock} {
|
|
txreq
|
|
rxresp
|
|
expect resp.status == 200
|
|
} -run
|
|
|