Reference

show quic

Available since

  • HAProxy 2.7
  • HAProxy Enterprise 2.7r1

Display details on active QUIC frontend connections.

Description Jump to heading

The show quic command displays details on active QUIC frontend connections. Its syntax is as follows:

An optional verbosity argument can be specified to control the output:

Verbosity argument Available since version Description
oneline HAProxy 2.8 and HAProxy Enterprise 2.8r1 Show all connections in a single-line format. This is the default.
full HAProxy 2.8 and HAProxy Enterprise 2.8r1 Show all connections in a multi-line format.
stream HAProxy 3.2 and HAProxy Enterprise 3.2r1 Show all active streams.
<format> HAProxy 3.0 and HAProxy Enterprise 3.0r1 Filter the output by specifying one or more of the following in a comma-delimited list: tp, sock, pktns, cc, mux. These values may be useful in troubleshooting.

tp: show information related to the transport parameters for QUIC connectons.

sock: show information related to the sockets for QUIC connections including the file descriptor and local and remote endpoints.

pktns: show information related to the packet number space for QUIC connections. This relates to the mechanism QUIC connections use to determine packet losses.

cc: show information related to the internal state of the congestion control algorithm used by QUIC connections.

mux: show information related to the QUIC MUX.

By default, connections on closing or draining state are not displayed. To include them in the output, specify an additional argument all:

text
show quic all
text
show quic all

Or combine it with any of the optional verbosity arguments, for example:

text
show quic full all
text
show quic full all

Alternatively, you can retrieve the information for a single connection by specifying its hexidecimal address:

text
show quic 0x5c8ccad2fb90
text
show quic 0x5c8ccad2fb90

You can combine the hexidecimal address with any of the verbosity arguments as well, for example:

text
show quic cc,pktns 0x5c8ccad2fb90
text
show quic cc,pktns 0x5c8ccad2fb90

This command requires a permission level of operator or admin.

This command is available only on the QUIC-enabled load balancer. For details, see HTTP/3.

Examples Jump to heading

The following examples show different ways you can filter the output for the show quic command.

Show a summary of active connections Jump to heading

Note

As of HAProxy 2.8 and HAProxy Enterprise 2.8r1, this is equivalent to show quic oneline.

nix
echo "show quic" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show quic" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
output
text
# conn/frontend state in_flight infl_p lost_p from to local & remote CIDs
0x55640121edd0[00]/ft_web ESTAB 0 0 0 78.2.87.205:39160 172.31.39.255:443 b254b4d91c508339
0x7fd2b8052380[01]/ft_web ESTAB 0 0 0 99.161.85.162:57929 172.31.39.255:443 642481da17fe200c
output
text
# conn/frontend state in_flight infl_p lost_p from to local & remote CIDs
0x55640121edd0[00]/ft_web ESTAB 0 0 0 78.2.87.205:39160 172.31.39.255:443 b254b4d91c508339
0x7fd2b8052380[01]/ft_web ESTAB 0 0 0 99.161.85.162:57929 172.31.39.255:443 642481da17fe200c

Note that the connection ID for each connection is in the firsts column. In this example, these hexadecimal addresses are 0x55640121edd0 and 0x7fd2b8052380.

Show all information for a specific connection Jump to heading

As of HAProxy version 3.0 and HAProxy Enterprise version 3.0, you can specify a particular connection’s hexadecimal address to see the information for only that connection. Specify an address on the show quic command to narrow the output. Note that the information displayed is equivalent to setting all of the format options tp, sock, pktns, cc, and mux for that connection.

nix
echo "show quic 0x5c8ccad83d50" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show quic 0x5c8ccad83d50" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
output
text
* 0x5c8ccad83d50[01]: scid=c4bbc35e7a739ea6........................ dcid=b2ec44068c73dbc82693b85df0c60fb62ebb91af
loc. TPs: odcid=b7a2322c8e9df3af0b74820ec4d3159d iscid=c4bbc35e7a739ea6
midle_timeout=30000ms mudp_payload_sz=2048 ack_delay_exp=3 mack_delay=25ms act_cid_limit=8
md=1638000 msd_bidi_l=16380 msd_bidi_r=1474200 msd_uni=16380 ms_bidi=100 ms_uni=3
(no_act_migr,stless_rst_tok)
rem. TPs: iscid=b2ec44068c73dbc82693b85df0c60fb62ebb91af
midle_timeout=120000ms mudp_payload_sz=65527 ack_delay_exp=3 mack_delay=25ms act_cid_limit=2
md=1048576 msd_bidi_l=131072 msd_bidi_r=131072 msd_uni=131072 ms_bidi=100 ms_uni=100
(no_act_migr)
st=opened mux=ready expire=21s
fd=-1 local_addr=127.0.0.1:80 foreign_addr=127.0.0.1:46158
[01rtt] rx.ackrng=1 tx.inflight=0 (0%)
cc: state=ss ssthresh=4294967295 K=0 last_w_max=0 wdiff=16035
srtt=1 rttvar=0 rttmin=1 ptoc=0
cwnd=16035 cwnd_last_max=16035
sentbytes=3616 sentbytesgso=2671 sentpkts=11
lostpkts=0 reorderedpkts=0
qcc=0x0x721b78061680 flags=0x0 sc=0 hreq=0 bwnd=0/16035
pacing int_sent=0 last_sent=1
qcs=0x0x721b78062720 id=2 flags=0x0 st=OPN rxb=0(1) rxoff=19
qcs=0x0x721b780624d0 id=3 flags=0x10 st=OPN txb=0(1)/0 txoff=17(0) msd=131072
qcs=0x0x721b78062280 id=6 flags=0x0 st=OPN rxb=0(1) rxoff=1
qcs=0x0x721b78061880 id=10 flags=0x0 st=OPN rxb=0(1) rxoff=1
output
text
* 0x5c8ccad83d50[01]: scid=c4bbc35e7a739ea6........................ dcid=b2ec44068c73dbc82693b85df0c60fb62ebb91af
loc. TPs: odcid=b7a2322c8e9df3af0b74820ec4d3159d iscid=c4bbc35e7a739ea6
midle_timeout=30000ms mudp_payload_sz=2048 ack_delay_exp=3 mack_delay=25ms act_cid_limit=8
md=1638000 msd_bidi_l=16380 msd_bidi_r=1474200 msd_uni=16380 ms_bidi=100 ms_uni=3
(no_act_migr,stless_rst_tok)
rem. TPs: iscid=b2ec44068c73dbc82693b85df0c60fb62ebb91af
midle_timeout=120000ms mudp_payload_sz=65527 ack_delay_exp=3 mack_delay=25ms act_cid_limit=2
md=1048576 msd_bidi_l=131072 msd_bidi_r=131072 msd_uni=131072 ms_bidi=100 ms_uni=100
(no_act_migr)
st=opened mux=ready expire=21s
fd=-1 local_addr=127.0.0.1:80 foreign_addr=127.0.0.1:46158
[01rtt] rx.ackrng=1 tx.inflight=0 (0%)
cc: state=ss ssthresh=4294967295 K=0 last_w_max=0 wdiff=16035
srtt=1 rttvar=0 rttmin=1 ptoc=0
cwnd=16035 cwnd_last_max=16035
sentbytes=3616 sentbytesgso=2671 sentpkts=11
lostpkts=0 reorderedpkts=0
qcc=0x0x721b78061680 flags=0x0 sc=0 hreq=0 bwnd=0/16035
pacing int_sent=0 last_sent=1
qcs=0x0x721b78062720 id=2 flags=0x0 st=OPN rxb=0(1) rxoff=19
qcs=0x0x721b780624d0 id=3 flags=0x10 st=OPN txb=0(1)/0 txoff=17(0) msd=131072
qcs=0x0x721b78062280 id=6 flags=0x0 st=OPN rxb=0(1) rxoff=1
qcs=0x0x721b78061880 id=10 flags=0x0 st=OPN rxb=0(1) rxoff=1

Tip

You can filter what information displays for the connection by specifying a format value. For example, we specify pktns as the format here:

nix
echo "show quic pktns 0x5c8ccad5c920" | sudo socat stdio /var/run/hapee-3.2/hapee-lb.sock
nix
echo "show quic pktns 0x5c8ccad5c920" | sudo socat stdio /var/run/hapee-3.2/hapee-lb.sock
output
text
* 0x5c8ccad5c920[01]: scid=eaac3ee167e3cf7e........................ dcid=9b2dc2803c2b9ae848db1d64a0db64627733ea0e
st=opened mux=ready expire=15s
[01rtt] rx.ackrng=1 tx.inflight=0 (0%)
output
text
* 0x5c8ccad5c920[01]: scid=eaac3ee167e3cf7e........................ dcid=9b2dc2803c2b9ae848db1d64a0db64627733ea0e
st=opened mux=ready expire=15s
[01rtt] rx.ackrng=1 tx.inflight=0 (0%)

Show full information for all connections Jump to heading

Available since

  • HAProxy 2.8
  • HAProxy Enterprise 2.8r1

The show quic full command will show all information about active QUIC connections. Note that the information displayed is equivalent to setting all of the format options tp, sock, pktns, cc, and mux.

nix
echo "show quic full all" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show quic full all" | \
sudo socat stdio tcp4-connect:127.0.0.1:9999
output
text
* 0x5c8ccadaa400[00]: scid=eedf6da8e526573f........................ dcid=b57baf2b7c28119875617679026a4be1dc50ad87
loc. TPs: odcid=bd1dae0d3d96d12765798a713139ec86 iscid=eedf6da8e526573f
midle_timeout=30000ms mudp_payload_sz=2048 ack_delay_exp=3 mack_delay=25ms act_cid_limit=8
md=1638000 msd_bidi_l=16380 msd_bidi_r=1474200 msd_uni=16380 ms_bidi=100 ms_uni=3
(no_act_migr,stless_rst_tok)
rem. TPs: iscid=b57baf2b7c28119875617679026a4be1dc50ad87
midle_timeout=120000ms mudp_payload_sz=65527 ack_delay_exp=3 mack_delay=25ms act_cid_limit=2
md=1048576 msd_bidi_l=131072 msd_bidi_r=131072 msd_uni=131072 ms_bidi=100 ms_uni=100
(no_act_migr)
st=opened mux=ready expire=28s
fd=-1 local_addr=127.0.0.1:80 foreign_addr=127.0.0.1:39505
[01rtt] rx.ackrng=1 tx.inflight=0 (0%)
cc: state=ss ssthresh=4294967295 K=0 last_w_max=0 wdiff=15793
srtt=1 rttvar=0 rttmin=0 ptoc=0
cwnd=15793 cwnd_last_max=15793
sentbytes=3374 sentbytesgso=2671 sentpkts=9
lostpkts=0 reorderedpkts=0
qcc=0x0x5c8ccad4da10 flags=0x0 sc=1 hreq=1 bwnd=0/15793
pacing int_sent=0 last_sent=1
qcs=0x0x5c8ccad523b0 id=0 flags=0x101 st=HCR rxb=0(1) rxoff=70 txb=0(0)/0 txoff=0(0) msd=131072
qcs=0x0x5c8ccad51cf0 id=2 flags=0x0 st=OPN rxb=0(1) rxoff=19
qcs=0x0x5c8ccabe25f0 id=3 flags=0x10 st=OPN txb=0(1)/0 txoff=17(0) msd=131072
qcs=0x0x5c8ccad51fe0 id=6 flags=0x0 st=OPN rxb=0(1) rxoff=1
qcs=0x0x5c8ccad52160 id=10 flags=0x0 st=OPN rxb=0(1) rxoff=1
output
text
* 0x5c8ccadaa400[00]: scid=eedf6da8e526573f........................ dcid=b57baf2b7c28119875617679026a4be1dc50ad87
loc. TPs: odcid=bd1dae0d3d96d12765798a713139ec86 iscid=eedf6da8e526573f
midle_timeout=30000ms mudp_payload_sz=2048 ack_delay_exp=3 mack_delay=25ms act_cid_limit=8
md=1638000 msd_bidi_l=16380 msd_bidi_r=1474200 msd_uni=16380 ms_bidi=100 ms_uni=3
(no_act_migr,stless_rst_tok)
rem. TPs: iscid=b57baf2b7c28119875617679026a4be1dc50ad87
midle_timeout=120000ms mudp_payload_sz=65527 ack_delay_exp=3 mack_delay=25ms act_cid_limit=2
md=1048576 msd_bidi_l=131072 msd_bidi_r=131072 msd_uni=131072 ms_bidi=100 ms_uni=100
(no_act_migr)
st=opened mux=ready expire=28s
fd=-1 local_addr=127.0.0.1:80 foreign_addr=127.0.0.1:39505
[01rtt] rx.ackrng=1 tx.inflight=0 (0%)
cc: state=ss ssthresh=4294967295 K=0 last_w_max=0 wdiff=15793
srtt=1 rttvar=0 rttmin=0 ptoc=0
cwnd=15793 cwnd_last_max=15793
sentbytes=3374 sentbytesgso=2671 sentpkts=9
lostpkts=0 reorderedpkts=0
qcc=0x0x5c8ccad4da10 flags=0x0 sc=1 hreq=1 bwnd=0/15793
pacing int_sent=0 last_sent=1
qcs=0x0x5c8ccad523b0 id=0 flags=0x101 st=HCR rxb=0(1) rxoff=70 txb=0(0)/0 txoff=0(0) msd=131072
qcs=0x0x5c8ccad51cf0 id=2 flags=0x0 st=OPN rxb=0(1) rxoff=19
qcs=0x0x5c8ccabe25f0 id=3 flags=0x10 st=OPN txb=0(1)/0 txoff=17(0) msd=131072
qcs=0x0x5c8ccad51fe0 id=6 flags=0x0 st=OPN rxb=0(1) rxoff=1
qcs=0x0x5c8ccad52160 id=10 flags=0x0 st=OPN rxb=0(1) rxoff=1

Show full information for only active streams Jump to heading

Available since

  • HAProxy 3.2
  • HAProxy Enterprise 3.2r1

Use the option stream to show information only for active streams. This will exclude connections that are closing or draining.

nix
echo "show quic stream" | socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show quic stream" | socat stdio tcp4-connect:127.0.0.1:9999
output
text
0x5c8ccad5c920.0000: 0x00 age=3s tx=[0(0)/0,0] rxb=0(1)/70 qcs[0x00000101,sd=0x721b78061ab0]
output
text
0x5c8ccad5c920.0000: 0x00 age=3s tx=[0(0)/0,0] rxb=0(1)/70 qcs[0x00000101,sd=0x721b78061ab0]

Show specific troubleshooting information for connections Jump to heading

Available since

  • HAProxy 3.0
  • HAProxy Enterprise 3.0r1

You can provide a comma-delimited list of format options to specify what information you want included in the output. The available values are tp, sock, pktns, cc, and mux.

For example, to show only information related to the socket and congestion control algorithm for a specific connection, we specify the format options sock,cc and provide the connection ID to show quic:

nix
echo "show quic sock,cc 0x5c8ccadaa400" | socat stdio tcp4-connect:127.0.0.1:9999
nix
echo "show quic sock,cc 0x5c8ccadaa400" | socat stdio tcp4-connect:127.0.0.1:9999
output
text
* 0x5c8ccadaa400[01]: scid=b815e238fe34573d........................ dcid=bc33cc0df6cf0d7c914f6fe4e1405cf044dae779
st=opened mux=ready expire=18s
fd=-1 local_addr=127.0.0.1:80 foreign_addr=127.0.0.1:46163
cc: state=ss ssthresh=4294967295 K=0 last_w_max=0 wdiff=16019
srtt=0 rttvar=0 rttmin=0 ptoc=0
cwnd=16019 cwnd_last_max=16019
sentbytes=3600 sentbytesgso=2671 sentpkts=10
lostpkts=0 reorderedpkts=0
output
text
* 0x5c8ccadaa400[01]: scid=b815e238fe34573d........................ dcid=bc33cc0df6cf0d7c914f6fe4e1405cf044dae779
st=opened mux=ready expire=18s
fd=-1 local_addr=127.0.0.1:80 foreign_addr=127.0.0.1:46163
cc: state=ss ssthresh=4294967295 K=0 last_w_max=0 wdiff=16019
srtt=0 rttvar=0 rttmin=0 ptoc=0
cwnd=16019 cwnd_last_max=16019
sentbytes=3600 sentbytesgso=2671 sentpkts=10
lostpkts=0 reorderedpkts=0

By default, all information appears in the output for show quic <connection ID> and show quic full all. The following examples show which parts of the full output correspond to each format option:

nix
echo "show quic tp" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b356a0[00]: scid=afa23221abf0a878........................ dcid=d473e9..................................
loc. TPs: odcid=0917fd0b378fc3ae5b761af255 iscid=afa23221abf0a878
midle_timeout=30000ms mudp_payload_sz=2048 ack_delay_exp=3 mack_delay=25ms act_cid_limit=8
md=1687140 msd_bidi_l=16380 msd_bidi_r=16380 msd_uni=16380 ms_bidi=100 ms_uni=3
(no_act_migr,stless_rst_tok)
rem. TPs: iscid=d473e9
midle_timeout=30000ms mudp_payload_sz=65527 ack_delay_exp=3 mack_delay=20ms act_cid_limit=8
md=25165824 msd_bidi_l=12582912 msd_bidi_r=1048576 msd_uni=1048576 ms_bidi=16 ms_uni=16
(no_act_migr) versions:chosen=0x00000001,negotiated=0x00000001
st=opened mux=ready expire=04s
nix
echo "show quic tp" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b356a0[00]: scid=afa23221abf0a878........................ dcid=d473e9..................................
loc. TPs: odcid=0917fd0b378fc3ae5b761af255 iscid=afa23221abf0a878
midle_timeout=30000ms mudp_payload_sz=2048 ack_delay_exp=3 mack_delay=25ms act_cid_limit=8
md=1687140 msd_bidi_l=16380 msd_bidi_r=16380 msd_uni=16380 ms_bidi=100 ms_uni=3
(no_act_migr,stless_rst_tok)
rem. TPs: iscid=d473e9
midle_timeout=30000ms mudp_payload_sz=65527 ack_delay_exp=3 mack_delay=20ms act_cid_limit=8
md=25165824 msd_bidi_l=12582912 msd_bidi_r=1048576 msd_uni=1048576 ms_bidi=16 ms_uni=16
(no_act_migr) versions:chosen=0x00000001,negotiated=0x00000001
st=opened mux=ready expire=04s
nix
echo "show quic sock" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b36670[01]: scid=36416af6fda6c5d2........................ dcid=47e1d4..................................
st=opened mux=ready expire=18s
fd=71 local_addr=172.22.0.5:443 foreign_addr=172.22.0.1:40203
nix
echo "show quic sock" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b36670[01]: scid=36416af6fda6c5d2........................ dcid=47e1d4..................................
st=opened mux=ready expire=18s
fd=71 local_addr=172.22.0.5:443 foreign_addr=172.22.0.1:40203
nix
echo "show quic pktns" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b36670[01]: scid=36416af6fda6c5d2........................ dcid=47e1d4..................................
st=opened mux=ready expire=07s
[01rtt] rx.ackrng=1 tx.inflight=0
nix
echo "show quic pktns" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b36670[01]: scid=36416af6fda6c5d2........................ dcid=47e1d4..................................
st=opened mux=ready expire=07s
[01rtt] rx.ackrng=1 tx.inflight=0
nix
echo "show quic cc" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b356a0[02]: scid=6efe15fc4097ac7d........................ dcid=5ed3d6..................................
st=opened mux=ready expire=27s
srtt=1 rttvar=0 rttmin=1 ptoc=0 cwnd=17093 mcwnd=17093 sentpkts=13 lostpkts=0 reorderedpkts=0
nix
echo "show quic cc" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b356a0[02]: scid=6efe15fc4097ac7d........................ dcid=5ed3d6..................................
st=opened mux=ready expire=27s
srtt=1 rttvar=0 rttmin=1 ptoc=0 cwnd=17093 mcwnd=17093 sentpkts=13 lostpkts=0 reorderedpkts=0
nix
echo "show quic mux" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b356a0[02]: scid=6efe15fc4097ac7d........................ dcid=5ed3d6..................................
st=opened mux=ready expire=16s
qcc=0x0x7f44cde23090 flags=0x0 sc=0 hreq=0
qcs=0x0x7f44cde36c60 id=2 flags=0x0 st=OPN rxoff=29
qcs=0x0x7f44cde36930 id=3 flags=0x0 st=OPN txoff=17
qcs=0x0x7f44cde36df0 id=6 flags=0x0 st=OPN rxoff=1
qcs=0x0x7f44cde0c050 id=10 flags=0x0 st=OPN rxoff=1
nix
echo "show quic mux" | socat stdio tcp4-connect:127.0.0.1:9999
* 0x7f44d3b356a0[02]: scid=6efe15fc4097ac7d........................ dcid=5ed3d6..................................
st=opened mux=ready expire=16s
qcc=0x0x7f44cde23090 flags=0x0 sc=0 hreq=0
qcs=0x0x7f44cde36c60 id=2 flags=0x0 st=OPN rxoff=29
qcs=0x0x7f44cde36930 id=3 flags=0x0 st=OPN txoff=17
qcs=0x0x7f44cde36df0 id=6 flags=0x0 st=OPN rxoff=1
qcs=0x0x7f44cde0c050 id=10 flags=0x0 st=OPN rxoff=1

See also Jump to heading

Do you have any suggestions on how we can improve the content of this page?