Skip to content

[Partner-SQL] Multiple Quic listeners needed on same port on Windows #5795

@ShravanVuggrala

Description

@ShravanVuggrala

Describe the bug

Requirements are documented in this draft: https://www.ietf.org/archive/id/draft-banks-quic-cibir-00.html

Multiple processes need to reuse the same port on Windows VMs. Cannot expose different ports or IPs for each process running on the VM, hence different processes need to share/reuse the same listener port. Using CIBIRID the incoming connections should get demultiplexed as each process can register a different CIBIR ID but use the same port.

This is a blocker for production use case.

Currently if we spawn two different processes sharing same port and different CIBIR would get this WIN Error:
[3]1FA4.1E04::2026/02/15-22:47:26.551337800 [Microsoft-Quic][data][0x1BF50EF47E0] ERROR, 10048, SIO_ACQUIRE_PORT_RESERVATION.
[3]1FA4.1E04::2026/02/15-22:47:26.551338600 [Unknown]Unknown( 32): GUID=bbccf6c1-6cd1-48c4-80ff-839482e37671 (No Format Information found).

[3]1FA4.1E04::2026/02/15-22:47:26.551338600 [Microsoft-Quic][data][0x1BF50EF47E0] Destroyed
[3]1FA4.1E04::2026/02/15-22:47:26.551381300 [Microsoft-Quic][data][000001BF50EF4860] Socket context shutdown

Affected OS

  • Windows
  • Linux
  • macOS
  • Other (specify below)

Additional OS information

No response

MsQuic version

v2.5

Steps taken to reproduce bug

  1. Create two processes listening on the same Port.
  2. Both are using xdp configuration
  3. Second process listener would fail with the above-mentioned error

Expected behavior

Both processes should reuse port and use cibir id to route the incoming connections

Actual outcome

Getting the error mentioned above.

Additional details

No response

Metadata

Metadata

Type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions