Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR addresses gaps in WSL mirrored networking route mirroring, specifically improving handling of default on-link routes (no next hop) and adjusting mirrored route metrics to better match Linux behavior.
Changes:
- Add a Windows NetworkTests coverage case for adding default on-link routes in both IPv4 and IPv6.
- Update mirrored route metric mapping to avoid emitting metric 0.
- Extend Linux netlink route programming to support default on-link routes by sending a default route without
RTA_GATEWAY.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| test/windows/NetworkTests.cpp | Adds a new test validating default on-link routes for IPv4/IPv6. |
| src/windows/service/exe/WslMirroredNetworking.cpp | Adjusts route metric handling to remap metric 0 to 1. |
| src/linux/netlinkutil/RoutingTable.h | Declares a new helper for default on-link route netlink messages. |
| src/linux/netlinkutil/RoutingTable.cpp | Implements default on-link default-route netlink messaging and updates default-route logging. |
keith-horton
reviewed
Apr 3, 2026
f8b1912 to
ea607a8
Compare
ea607a8 to
9c60a6d
Compare
keith-horton
reviewed
Apr 6, 2026
keith-horton
reviewed
Apr 7, 2026
keith-horton
requested changes
Apr 8, 2026
keith-horton
reviewed
Apr 8, 2026
keith-horton
reviewed
Apr 9, 2026
keith-horton
previously approved these changes
Apr 10, 2026
keith-horton
previously approved these changes
Apr 10, 2026
keith-horton
approved these changes
Apr 10, 2026
Contributor
Author
|
@microsoft-github-policy-service agree company="Microsoft" |
OneBlue
approved these changes
Apr 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary of the Pull Request
Testing mirrored mode with Proton VPN exposed some issues with route mirroring:
Validation Steps Performed
Testing with ProtonVPN and confirming v6 traffic is correctly routed over the mirrored interface that corresponds to the VPN
Running all NetworkTests
Added new tests that verify adding default onlink routes works as expected for both IPv4 and IPv6