IETF QUIC Interop Matrix
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

 
$
%
123
 
 
 
 
 
 
 
 
 
ABCDEFGHIJKLMNOPQRSTUVWXYZAAABAC
1
server →h2o/quiclyquantngtcp2mvfstpicoQUICmsquicf5f5_testATSquichelsquicnginx-cloudflareAppleQUICquic-goQuinnAkamaiQUICaioquic~gQUICw iNeqoHaskell QUIC
2
client ↓
3
h2o/quicly
4
quant
VHDCRZSQ
MBAUPELT
VHDCRZSQ
MBAU
3
VHDCRZQ
MB
3
VHDCRZSQ
MBAUP
3
VHDCRZSQ
MBUP
3
VHDCRZSQ
UEL
3
VHDCRZSQ
M
3
VHDCRZSQ

3
VHDCRZSQ
MBAUPE
3
VHDCRZQ

3
VHDCRSQ
MBAUPE
3
VHDCRZSQ
MBAUP
3
VHDCRQ

3
VHDCRZSQ
MB
3
5
ngtcp2VHDCRZS
MBAU
3dp
VHDCRZ
MBA
3d
VHDCRZS
MBAU
3
VHDCRZS
U
3d
VHDCRS

3
VHDCRZS
MBAU
3dp
VHDCR

3
VHDCRZS
MBAU
3d
VHDCRZS
MBAU
3dp
VHDCRZ

3d
VHDCRZS
MBA
3d
6
mvfst
VHDCRZQ
B
3
VHDCRZSQ
MBAUP
3
7
picoQUIC
VHDCRZSQ
MBAUPLT
VHDCRZSQ
MBAUT
3
VHDCRZQ
MBAT
3
VHDCRZSQ
MBAUPLT
3
VHDCRZSQ
MBAUPT
VHDCRZSQ
UPLT
3
VHDCRZSQ
MBA
3
VHDCRZSQ

3
VHDCRZSQ
MBAUPT
3
VHDCRQ

3
VHDCRZSQ
MBAUP
3
VHDCRZSQ
MBAUPLT
3
VHDCRQ

3
VHDCRZSQ
MBATL
3
8
msquic
VHDCRZSQ
MBUPL
VHDCRZQ
MB
3
VHDCRZSQ
MBAUP
3
VHDCRZSQ
MBAUP
VHCRSQ
U
VHDCRZQ
VHDCRZSQ
MBUPL
VHCRSQ
MB
9
f5
VHDCS
PELT
VHDCS
T
3
VHDC
T
3d
VHDCS
PL
3
VHDCS
P
VHDCS
PLT
3d
VHDCS
L
3
VHDCS

3
VHDCS
PE
3d
VHDC

3d
VHDCS
P
3d
VHDCS
P
3d
VHDC

3d
VHDCS
T
3
10
f5_test
11
ATS
12
quiche
13
lsquic
VHDCRSQ
MAT
3dp
VHDCRQ
T
3d
VHDCRSQ
MPT
3
V
VHDCRSQ
ET
3d
VHDCRSQ

3
VHDCRSQ
MPET
3dp
VHDCRQ

3
VHDCRSQ
MP
3d
VHDCRSQ
MPT
3dp
VHDCRQ

3d
VHDCRSQ

3d
14
nginx-cloudflare
15
quic-go
17
Quinn
VHDCRZS
BU
VHDCRZS
BU
3d
VHDCRZS
BU
3
VHDCRZS
BU
VHDCRZS
BU
3d
VHDCRZS
B
3
VHDCRZS
BU
3d
VHDCRZ
B
VHDCRZS
BU
3d
VHDCRZ
B
3d
VHDCRZS
B
18
AkamaiQUIC
19
aioquic
VHDCRZSQ
MBAULT
VHDCRZSQ
MBAU
3dp
VHDCRZQ
MBLT
3dp
VHDCRZSQ
MBAUPLT
3
VHDCRZSQ
MBAUPL
VHDCRZSQ

3
VHDCRZSQ
MBAUPT
3dp
VHDCQ

3
VHDCRZSQ
MBAUPLT
3dp
VHDCRZQ
M
3d
VHDCRZSQ
MBAL
3
20
~gQUICV
VHDCRZSQ

3d
VHDCRZSQ

3
VHDCRZQ
B
3d
VHDCRZQ
B
3d
21
Kwik&FlupkeHDCRZS
HDCRZS

3
HDCRZS

3
HDCRZSHDCRZS

3
HDCRZS

3
HDCRZS

3
22
NeqoVHDC

3
23
Haskell QUIC
VHDRZSQ
MBA
VHDRZSQ
MBA
3
VHDRZQ
MBA
3
VHDRZSQ
MBA
3
VHDRZSQ
MBA
3
VHDRZSQ

3
VHDRZSQ

3
VHDRZSQ
MBA
3
VHDRQ

3
VHDRZSQ
MBA
3
VHDRZSQ
MBA
3
VHDRQ
B
3
VHDCRZSQ
MBA
3
24
25
26
27
28
29
To Test:
https://github.com/quicwg/base-drafts/wiki/19th-Implementation-Draft
30
Version NegotiationV
A version negotiation response is elicited and acted on
31
HandshakeH
The handshake completes sucessfully
Cell format:
32
Stream DataD
Stream data is being exchanged and ACK'ed
First row: Any of VHDCRZSQ ("table stakes")
33
Connection CloseC
The connection close procedure completes with a zero error code
Second row: Anything else protocol-related (= uppercase letters)
34
ResumptionR
Connection is established using TLS Resume Ticket
Third row: H3 tests (= "3" + any lowercase letters)
35
0-RTTZ
0-RTT data is being sent and acted on
Insert linebreak with Cmd+Return (on Mac at least)
36
Stateless RetryS
A handshake that includes a Retry packet completes successfully
37
Quantum ReadyQ
A handshake using ClientHello spanning across multiple packets completed successfully (see Quantum Readiness test on Wiki)
38
Server CID changeM
A server offers new CIDs to a client in advance. Upon some events, the client starts using a new server CID
39
NAT RebindingB
A client's port changes. The client sends packets without noticing the change
40
Address MobilityA
A server offers new CIDs to a client in advance. The client moves to a new address(/port). The client sends path challenges from the new address(/port) with a new server CID. The server sends path responses on any path
41
Key UpdateU
One endpoint can update keys and its peer responds correctly
42
SpinP
A connection with the spin bit succeeds and the bit is spinning
43
ECNE
Set ECT(0) on outgoing packets and verify that ACK frames with ECN information are received. (Note: test can fail if path bleaches ECN.)
44
LoggingL
There is some form of structured logging available from both the implementations (e.g., qlog, quic-trace)
45
ThroughputT
Download objects named /5000000 and /10000000 on separate consecutive connections over both H2 and H3 (0.9 if H3 not available). H3 should at most be 10% slower than H2.
46
H33
An H3 transaction succeeded
47
QPACK Dyn. Tablesd
One or both endpoints insert entries into dynamic table and subsequenly reference them from header blocks
48
PUSHp
Client received server push
49
50
Known brokenX
51
Self-test
52
N/A-
Use this in your row or column when you don't support client or server mode
53
54
Discuss on https://quicdev.slack.com/
55
Coloring auto-applied based on the letter codes, see "conditional formatting" under the "Format" menu.
56
Interop Matrix for <TBD>
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
Loading...