Skip to content

Expose a global switch to disable IPV6 to overcome DualMode socket issues in environments that do not support IPV6 #47583

Closed

Description

@antonfirsov

BCL as well as external libraries tend to shift towards dual-stack sockets in their networking code. This conforms to best practices defined in RFC1933, but can lead to issues when connections are established through VPN tunnels which do not support IPv6 and/or dual-stack properly.

A custom ConnectCallback can help in HttpClient use cases where users have direct control over their HttpClient instances (#47267), but in cases where the Socket connections are carried out by an external component, users may get blocked (#45462).

This cases are rare, but the fix is simple, and easy to communicate (see #45893), therefore we should consider implementing it in .NET 6.

Activity

  1. ghost added
    untriagedNew issue has not been triaged by the area owner
    on Jan 28, 2021
  2. karelz commented on Feb 2, 2021

    @karelz
    Member

    Would it make sense to generalize it to global switch to disable either IPv4 or IPv6?

  3. added this to the 6.0.0 milestone on Feb 2, 2021
  4. added
    enhancementProduct code improvement that does NOT require public API changes/additions
    on Feb 2, 2021
  5. geoffkizer commented on Feb 3, 2021

    @geoffkizer
    Contributor

    Would it make sense to generalize it to global switch to disable either IPv4 or IPv6?

    I doubt it. I haven't heard any issues re IPv4.

    Even if we wanted to do this, I think it would be a separate switch.

  6. removed
    untriagedNew issue has not been triaged by the area owner
    on Feb 16, 2021
  7. karelz commented on Feb 16, 2021

    @karelz
    Member

    Triage: We cannot do today IPv6 only, so let's add DisableIPv6 switch.

  8. karelz commented on May 5, 2021

    @karelz
    Member

    Another case in #52287

  9. ghost added
    in-prThere is an active PR which will close this issue when it is merged
    on Jul 1, 2021
  10. added a commit that references this issue on Jul 12, 2021
    067aa16
  11. ghost removed
    in-prThere is an active PR which will close this issue when it is merged
    on Jul 12, 2021
  12. ghost locked as resolved and limited conversation to collaborators on Aug 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area-System.NetenhancementProduct code improvement that does NOT require public API changes/additions

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions