virtio networking: add support for ipv6#14350
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds IPv6 support to the VirtioProxy networking mode by extending host endpoint settings to track IPv6 configuration and wiring that into the Virtio networking engine, along with new Windows network tests validating IPv6 configuration and AAAA DNS resolution.
Changes:
- Extend
NetworkSettings/routes to track a preferred IPv6 address and an IPv6 default gateway. - Update VirtioProxy networking to plumb IPv6 address + IPv6 DNS servers into the guest, and to track an IPv6 default route.
- Add VirtioProxy test coverage for IPv6 address/gateway configuration and AAAA DNS resolution.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| test/windows/NetworkTests.cpp | Adds VirtioProxy IPv6 configuration and AAAA DNS resolution tests. |
| src/windows/common/WslCoreNetworkEndpointSettings.h | Adds IPv6 fields/helpers to NetworkSettings and default-route helper. |
| src/windows/common/WslCoreNetworkEndpointSettings.cpp | Populates preferred IPv6 address + IPv6 default route from host adapter state. |
| src/windows/common/VirtioNetworking.h | Splits IP update into IPv4 vs IPv6 paths and tracks IPv6 default route. |
| src/windows/common/VirtioNetworking.cpp | Sends IPv6 address + IPv6 DNS + IPv6 default route updates to the guest. |
| packages.config | Bumps Microsoft.WSL.DeviceHost NuGet version to support client_ip_ipv6. |
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 7 out of 7 changed files in this pull request and generated no new comments.
You can also share your feedback on Copilot code review. Take the survey.
- Add PreferredIpv6Address field and GetBestGatewayV6* methods to NetworkSettings - Extend GetHostEndpointSettings() to discover IPv6 unicast address and gateway - Add UpdateIpv6Address() using ModifyGuestEndpointSettingRequest<IPAddress> - Push IPv6 default route to guest via UpdateDefaultRoute(AF_INET6) - Remove AF_INET6 early return in ModifyOpenPorts, use INETADDR_PORT() - Add EndpointRoute::DefaultRoute() static factory - Pass client_ip_ipv6 in devicehost options (not yet parsed by devicehost) - Remove gateway_ip from devicehost options (only needed for DHCP) - Include IPv6 DNS servers in non-tunneling DNS settings - Add ConfigurationV6 and DnsResolutionAAAA tests
ac9480f to
5cd82fe
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.
You can also share your feedback on Copilot code review. Take the survey.
This change adds support for ipv6 support to the virtioproxy networking mode. The changes here are primarily: