Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

quic: advertise both quic-draft29 and quic-v1 addresses #1841

Closed
2 of 6 tasks
Tracked by #1766
marten-seemann opened this issue Oct 28, 2022 · 0 comments · Fixed by #1881
Closed
2 of 6 tasks
Tracked by #1766

quic: advertise both quic-draft29 and quic-v1 addresses #1841

marten-seemann opened this issue Oct 28, 2022 · 0 comments · Fixed by #1881
Assignees
Labels
exp/intermediate Prior experience is likely helpful kind/maintenance Work required to avoid breaking changes or harm to project's status quo P0 Critical: Tackled by core team ASAP

Comments

@marten-seemann
Copy link
Contributor

marten-seemann commented Oct 28, 2022

This issue assumes that we introduce a new code point for QUIC v1 as suggested in multiformats/multiaddr#145.

For a transition period (6 months?) we should advertise both QUIC draft-29 and QUIC v1. This makes sure that legacy nodes will be able to use QUIC to connect to us for a while. After that, they can still use TCP. Really, they should upgrade their node.

To make this happen, we need to:

  • add a new QUIC codepoint for QUIC v1 multiformats/multicodec#298
  • make the corresponding change in go-multiaddr
  • change transport.Listener.Multiaddr method to return []ma.Multiaddr instead of a single ma.Multiaddr
  • use that updated interface to return QUIC draft-29 and QUIC v1 multiaddrs from the QUIC transport
  • disable QUIC draft-29 for Webtransport (both for dialing and listening)
  • pick the correct version in the QUIC transport for dialing (according to the multiaddr we're dialing)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exp/intermediate Prior experience is likely helpful kind/maintenance Work required to avoid breaking changes or harm to project's status quo P0 Critical: Tackled by core team ASAP
Projects
Archived in project
2 participants