Skip to content

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

@marten-seemann

Description

@marten-seemann

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)

Metadata

Metadata

Assignees

Labels

P0Critical: Tackled by core team ASAPexp/intermediatePrior experience is likely helpfulkind/maintenanceWork required to avoid breaking changes or harm to project's status quo

Type

No type

Projects

Status

🎉 Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions