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] IPv6 addresses don't work on Linux #67301

Closed
rzikm opened this issue Mar 29, 2022 · 4 comments
Closed

[QUIC] IPv6 addresses don't work on Linux #67301

rzikm opened this issue Mar 29, 2022 · 4 comments

Comments

@rzikm
Copy link
Member

rzikm commented Mar 29, 2022

#66794 replaced SOCKADDR_INET structure serialization by existing code in SocketAddress class, which uses platform-dependent values for the OS-level IPv6 address family enum. However, current version of MsQuic used by runtime uses Windows values on all platforms.

The IPv6 functionality on Linux will be fixed once we upgrade to MsQuic 2.0 (tracked by #64554), since that release uses the platform-specific enum values.

cc @ManickaP

@dotnet-issue-labeler dotnet-issue-labeler bot added area-System.Net.Quic untriaged New issue has not been triaged by the area owner labels Mar 29, 2022
@ghost
Copy link

ghost commented Mar 29, 2022

Tagging subscribers to this area: @dotnet/ncl
See info in area-owners.md if you want to be subscribed.

Issue Details

#66794 replaced SOCKADDR_INET structure serialization by existing code in SocketAddress class, which uses platform-dependent values for the OS-level IPv6 address family enum. However, current version of MsQuic used by runtime uses Windows values on all platforms.

The IPv6 functionality on Linux will be fixed once we upgrade to MsQuic 2.0 (tracked by #64554), since that release uses the platform-specific enum values.

cc @ManickaP

Author: rzikm
Assignees: -
Labels:

untriaged, area-System.Net.Quic

Milestone: -

@ManickaP ManickaP removed the untriaged New issue has not been triaged by the area owner label Mar 31, 2022
@ManickaP
Copy link
Member

I'm still getting:
System.Net.Quic.QuicException : Failed to connect to peer. Error Code: INVALID_PARAMETER
With newest and greatest msquic, so the msquic update is not enough to solve this issue.

I'll keep the tests disabled. @rzikm could you give it a look after I put up a PR for the update?

@rzikm rzikm self-assigned this Apr 8, 2022
@rzikm
Copy link
Member Author

rzikm commented Apr 8, 2022

The problem is the QUIC_ADDRESS_FAMILY we pass into the QuicConnectionStart function, which still uses the windows value for IPv6.

We can either plug UNSPEC temporarily. The value is not used anyway because we set the REMOTE_ADDRESS connection parameter separately before calling QuicConnectionStart. Or we can just wait for #67377.

@rzikm
Copy link
Member Author

rzikm commented May 5, 2022

#67377 was merged, tests pass. Closing

@rzikm rzikm closed this as completed May 5, 2022
@rzikm rzikm reopened this May 9, 2022
@ghost ghost added the untriaged New issue has not been triaged by the area owner label May 9, 2022
@rzikm rzikm removed the untriaged New issue has not been triaged by the area owner label May 9, 2022
@rzikm rzikm closed this as completed May 12, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jun 11, 2022
@karelz karelz added this to the 7.0.0 milestone Jul 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants