microsoft / microsoft/WSL

Mirrored networking intermittently drops forwarding to hypervisor host-only adapter (~30s cycle); Windows-side adapter stays Up, WSL kernel sees link up

Open
#40,752 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

network
Dominant language
C++
Stars
33.7k
Forks
1.8k
Avg merge
3d 17h
Merged PRs (30d)
116

Description

Windows Version

10.0.26200.8457

WSL Version

2.7.3.0

Are you using WSL 1 or WSL 2?
  • WSL 2
  • WSL 1
Kernel Version

6.6.114.1-1

Distro Version

Ubuntu 22.04 and Ubuntu 26.04

Other Software

both VMWare and VirtualBox

Repro Steps

Host-only network on the hypervisor (e.g. VirtualBox 192.168.56.0/24, host .1), guest at 192.168.56.10.
.wslconfig: [wsl2] / networkingMode=mirrored (no other flags).
In WSL, bring up the mirrored host-only adapter (identified by MAC 0a:00:27:*) with 192.168.56.20/24.
ping -i1 192.168.56.10 from WSL — observe periodic ~30s loss waves.
OR - after a reboot observe initial ping goes ok - after 5-10 seconds network goes unreachale and stays so - interface goes DOWN.
ping 192.168.56.10 from Windows (cmd/PowerShell) — stable, no loss, concurrently.

Expected Behavior

Stable connection

Actual Behavior

Windows-side adapter is consistently Up: Get-NetAdapter shows the host-only adapter Status=Up, MediaConnectionState=Connected throughout, including during WSL-side outages. The adapter is not flapping.
WSL kernel sees the interface as up the entire time: dmesg shows no link-down/up, carrier-change, or device add/remove events on the interface during the outages. The only network log is WSL's own CheckConnection reporting getaddrinfo() failed: -5 and connect() failed: 101 (ENETUNREACH) coinciding with each outage — i.e. WSL observes the unreachability but the kernel link state never changes.
Therefore the drop is above the WSL kernel, in the mirror's frame forwarding, not a guest-side link or routing issue.

Already tested:
Reproduces with VirtualBox host-only and, previously, VMware VMnet — not hypervisor-specific.
Reproduces on Ubuntu 22.04 / 26.04 — not distro-specific.
Config-immune: unchanged by firewall=false, removing hostAddressLoopback, removing dnsTunneling; tested with minimal .wslconfig.
Not VBS/HVCI/hypervisor-launch related (VBS Running, hypervisorlaunchtype Auto throughout).
Severity varies per boot (waves vs. early permanent drop), suggesting non-deterministic mirror binding.

The identical configuration is stable on a different machine: a Lenovo ThinkPad with byte-identical software — Windows 10.0.26200.8457, WSL 2.7.3.0, kernel 6.6.114.1-1 — running mirrored mode reaches its host-only VM with no drops. The failing machine is a Samsung Galaxy Book Pro 2 (NP950QED), Intel i7-1260P. Same OS/WSL/kernel, opposite behavior → points to a platform/firmware-dependent path in the mirror's host-only forwarding.
Related issues: Appears related to #10842 (kernel-originated/host-only traffic not reliably mirrored), #13234, #11369.

Diagnostic Logs

Please see attached network log archive from the networking.sh script.

I broughte the interface up, started ping. And after 5 seconds interface went down.
Interface in this case was eth0 but it varies from boot to boot - eth0, eth3, eth5, eth6 etc...

08:13 $ sudo ip addr flush dev eth0
sudo ip addr add 192.168.56.20/24 dev eth0
sudo ip link set eth0 up
ip route get 192.168.56.10
ping -i1 192.168.56.10
[sudo: authenticate] Password:
192.168.56.10 dev eth0 src 192.168.56.20 uid 1000
cache
PING 192.168.56.10 (192.168.56.10) 56(84) bytes of data.
64 bytes from 192.168.56.10: icmp_seq=1 ttl=64 time=2.08 ms
64 bytes from 192.168.56.10: icmp_seq=2 ttl=64 time=1.92 ms
64 bytes from 192.168.56.10: icmp_seq=3 ttl=64 time=1.89 ms
From 80.62.175.69 icmp_seq=9 Destination Net Unreachable
From 80.62.175.69 icmp_seq=10 Destination Net Unreachable
From 80.62.175.69 icmp_seq=19 Destination Net Unreachable
From 80.62.175.69 icmp_seq=20 Destination Net Unreachable
From 80.62.175.69 icmp_seq=21 Destination Net Unreachable
From 80.62.175.69 icmp_seq=29 Destination Net Unreachable

WslLogs-2026-06-09_08-12-45.tar.gz

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Begin with the attached networking.sh log archive and reproduce the ~30-second forwarding loss in mirrored mode using the stated .wslconfig and host-only adapter setup. Compare WSL CheckConnection, dmesg, ip route/ping, and Windows adapter state; done means identifying the mirror-side cause and providing stable forwarding, but no source file or test is named.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, ubuntu
Domain
networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.