Skip to content

Conversation

@benhillis
Copy link
Member

This change resolves two minor issues with the virtio proxy networking mode.

  1. Stop the GNS channel when tearing down the VirtioNetworking class
  2. Update logic to plumb through the MTU to the virtual adapter in the guest

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_networkMtu was 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_endpointId instead of m_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.

@benhillis benhillis merged commit 4637f37 into master Dec 2, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants