virtio networking: fix two minor issues by benhillis · Pull Request #13810 · microsoft/WSL
Pull request overview
This PR resolves two issues with virtio proxy networking mode: ensuring proper cleanup of the GNS channel during VirtioNetworking teardown, and fixing MTU propagation to the guest virtual adapter.
Key Changes
- Added explicit destructor to VirtioNetworking that calls
m_gnsChannel.Stop()to unblock any stuck guest communications - Implemented
GetMinimumConnectedInterfaceMtu()helper function to extract duplicated MTU calculation logic into a reusable, properly namespaced function - Fixed critical bug in VirtioNetworking::UpdateMtu() where
m_networkMtuwas never updated, causing incorrect MTU values (always 0) to be used - Uncommented and fixed the MTU notification sending in VirtioNetworking (was using non-existent
m_endpointIdinstead ofm_adapterId)
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/windows/common/WslCoreNetworkingSupport.h | Added declaration for GetMinimumConnectedInterfaceMtu() helper function with documentation |
| src/windows/common/WslCoreNetworkingSupport.cpp | Implemented GetMinimumConnectedInterfaceMtu() to extract common MTU calculation logic with proper error handling |
| src/windows/common/VirtioNetworking.h | Changed destructor from default to explicit declaration to enable cleanup logic |
| src/windows/common/VirtioNetworking.cpp | Added destructor implementation with GNS channel stop; fixed UpdateMtu() to actually update m_networkMtu and send notifications with correct adapter ID |
| src/windows/common/NatNetworking.cpp | Refactored UpdateMtu() to use new GetMinimumConnectedInterfaceMtu() helper, reducing code duplication |
You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.