Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In mirrored mode, some inbound packets got dropped on the host interface. #12065

Open
1 of 2 tasks
TCpick opened this issue Sep 22, 2024 · 3 comments
Open
1 of 2 tasks
Labels

Comments

@TCpick
Copy link

TCpick commented Sep 22, 2024

Windows Version

Microsoft Windows [Version 10.0.22631.4169]

WSL Version

2.2.4.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

5.15.153.1-2

Distro Version

Ubuntu 22.04

Other Software

docker-ce/jammy,now 5:27.3.1-1ubuntu.22.04jammy amd64

Repro Steps

In mirrored mode, my Wi-Fi2 connection is mirrored as eth4 in WSL2 ubuntu, with address 192.168.0.111/24
And I created an IPvlan-interfaced docker in WSL, which is bridged with host network. And the address is 192.168.0.201/24

I suppose this would work like another device in the same network. And luckily this can ping through the gateway or outside addresses:

/ # ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: seq=0 ttl=64 time=1.418 ms
64 bytes from 192.168.0.1: seq=1 ttl=64 time=2.091 ms
/ # ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=113 time=29.769 ms
64 bytes from 8.8.8.8: seq=1 ttl=113 time=32.536 ms

But when I try a nslookup, it got timeout.

/ # nslookup www.google.com 8.8.8.8
;; connection timed out; no servers could be reached

I did some capture on both windows host interface(Wi-Fi2) and WSL interface(eth4). and found that the DNS responses have already reached the host interface, but somehow dropped and cannot be get by WSL.

  • on host interface:
    Screenshot 2024-09-22 232825
  • on WSL interface:

pick@ipvlan-test:~$ sudo tcpdump -f -i eth4 host 8.8.8.8
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on eth4, link-type EN10MB (Ethernet), snapshot length 262144 bytes
23:08:04.606889 IP 192.168.0.201 > 8.8.8.8: ICMP echo request, id 30, seq 0, length 64
23:08:04.636522 IP 8.8.8.8 > 192.168.0.201: ICMP echo reply, id 30, seq 0, length 64
23:08:05.606993 IP 192.168.0.201 > 8.8.8.8: ICMP echo request, id 30, seq 1, length 64
23:08:05.636183 IP 8.8.8.8 > 192.168.0.201: ICMP echo reply, id 30, seq 1, length 64
23:08:06.607088 IP 192.168.0.201 > 8.8.8.8: ICMP echo request, id 30, seq 2, length 64
23:08:06.636255 IP 8.8.8.8 > 192.168.0.201: ICMP echo reply, id 30, seq 2, length 64
23:08:07.607240 IP 192.168.0.201 > 8.8.8.8: ICMP echo request, id 30, seq 3, length 64
23:08:07.636644 IP 8.8.8.8 > 192.168.0.201: ICMP echo reply, id 30, seq 3, length 64
23:08:09.119046 IP 192.168.0.201.35334 > 8.8.8.8.domain: 9578+ A? www.google.com. (32)
23:08:09.119053 IP 192.168.0.201.35334 > 8.8.8.8.domain: 9919+ AAAA? www.google.com. (32)
23:08:11.621629 IP 192.168.0.201.35334 > 8.8.8.8.domain: 9578+ A? www.google.com. (32)
23:08:11.621639 IP 192.168.0.201.35334 > 8.8.8.8.domain: 9919+ AAAA? www.google.com. (32)

Expected Behavior

mirrored interfaces should see the same traffic
https://learn.microsoft.com/en-us/windows/wsl/networking#mirrored-mode-networking

Actual Behavior

UDP packets(ARP responses) to IPvlan network reached host interface, but did not reach the WSL interface

Diagnostic Logs

No response

Copy link

Logs are required for review from WSL team

If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'.
Otherwise please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

How to collect WSL logs

Download and execute collect-wsl-logs.ps1 in an administrative powershell prompt:

Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
Set-ExecutionPolicy Bypass -Scope Process -Force
.\collect-wsl-logs.ps1

The script will output the path of the log file once done.

If this is a networking issue, please use collect-networking-logs.ps1, following the instructions here

Once completed please upload the output files to this Github issue.

Click here for more info on logging
If you choose to email these logs instead of attaching to the bug, please send them to [email protected] with the number of the github issue in the subject, and in the message a link to your comment in the github issue and reply with '/emailed-logs'.

View similar issues

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it!

Open similar issues:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

@TCpick
Copy link
Author

TCpick commented Sep 24, 2024

@CatalinFetoiu
Copy link
Collaborator

thanks for reporting the issue - could you please collect networking logs using instructions at https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues ?

The script will generate a zip with name starting with "WslNetworkingLogs"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants