Support Http3 in scenarios where ipv6 has been disabled at the runtime level

Open
#113,100 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
43/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
csharp
Domain
networking

Research direction

Start by reproducing the failure with System.Net.DisableIPv6 and the HttpClient configuration using HttpVersion.Version30 and RequestVersionExact. Trace the Http3 connection path around Socket.OSSupportsIPv6 and determine why runtime-level IPv6 disabling blocks it. Done means the same HttpClient scenario succeeds when IPv6 is disabled.

Written by the indexing model from the issue text.

Description

area-System.Net.Quic enhancement
Description

Currently if you attempt to disable ipv6 via System.Net.DisableIPv6 and initiate a Http3 connection it will fail because Socket.OSSupportsIPv6 will return false.

Reproduction Steps

Disable ipv6 via System.Net.DisableIPv6
Create a http3 client with

HttpClient Client = new HttpClient()
        {
            DefaultRequestVersion = HttpVersion.Version30,
            DefaultVersionPolicy = HttpVersionPolicy.RequestVersionExact
        };

attempt to use the httpclient and it will throw an exception

Expected behavior

Http3 should work regardless of the presence of ipv6

Actual behavior

It does not work

Regression?

No response

Known Workarounds

No response

Configuration

No response

Other information

No response

Dominant language
C#
Stars
18.3k
Forks
5.6k
PR merge metrics
PR metrics pending

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/runtime

All issues in dotnet/runtime

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.