VirtualBox

Opened 9 years ago

Last modified 9 years ago

#14212 new defect

(ipv6) multicast NS are not delivered to the guest

Reported by: Maarten Hoes Owned by:
Component: network Version: VirtualBox 4.3.28
Keywords: Cc:
Guest type: Linux Host type: Windows

Description

It seems that the guest doesn't receive (ipv6) multicast neighbor solicitations from the router.

Attachments (3)

fritzbox.ipv6.pcap.xz.aa (511.0 KB ) - added by Valery Ushakov 9 years ago.
fritzbox.ipv6.pcap.xz.ab (511.0 KB ) - added by Valery Ushakov 9 years ago.
fritzbox.ipv6.pcap.xz.ac (279.0 KB ) - added by Valery Ushakov 9 years ago.

Download all attachments as: .zip

Change History (21)

comment:1 by Maarten Hoes, 9 years ago

I captured a trace of a failed IPv6 connection on the fritzbox.

The tracefile, even compressed, is too large to attach it to this bug report.

Anyway, I also uploaded the complete tracefile here: http://www86.zippyshare.com/v/ruvMKAq0/file.html as fritzbox.ipv6.pcap.bz2

comment:2 by Valery Ushakov, 9 years ago

The same problem was most likely described in ticket:5503#comment:47.

by Valery Ushakov, 9 years ago

Attachment: fritzbox.ipv6.pcap.xz.aa added

by Valery Ushakov, 9 years ago

Attachment: fritzbox.ipv6.pcap.xz.ab added

by Valery Ushakov, 9 years ago

Attachment: fritzbox.ipv6.pcap.xz.ac added

comment:3 by Valery Ushakov, 9 years ago

Shot in the dark - what happens when you ping6 a remote machine from inside the guest while you run Wireshark in promiscuous mode on the host?

virtuaboxnic1-icmp6-bridged.pcap guest capture you posted to the mailing list shows that some multicast traffic does reach the guest, e.g. ND6 RA sent to all nodes multicast or SSDP multicasts. Those are multicast addresses that the host is likely to listen to also. I wonder if missing multicasts are dropped by the host and so never reach VirtualBox bridging code. It's supposed to switch the card to promiscuous mode, may be something goes wrong there, so a quick check will not hurt.

in reply to:  3 comment:4 by Maarten Hoes, 9 years ago

Replying to vushakov:

Shot in the dark - what happens when you ping6 a remote machine from inside the guest while you run Wireshark in promiscuous mode on the host?

Running a wireshark/winpcap trace in promiscuous mode on the nic of the host doesnt change the behavior of ipv6 traffic (like ping6 www.google.com) in the guest os.

comment:5 by Valery Ushakov, 9 years ago

Forgot to ask, do you have a Linux or OS X host that you can test this with? I wonder if the problem is Windows specific (the other fritzbox report was also for a Windows host).

in reply to:  5 comment:6 by Maarten Hoes, 9 years ago

Replying to vushakov:

Forgot to ask, do you have a Linux or OS X host that you can test this with? I wonder if the problem is Windows specific (the other fritzbox report was also for a Windows host).

Sorry, I only have a Windows (8.1) host to test with.

comment:7 by Maarten Hoes, 9 years ago

just curious: how do you turn the xz attachments to this bug report back into a single xz archive file, and uncompress it ? I tried this, but that doesnt work: cat fritzbox.ipv6.pcap.xz.aa fritzbox.ipv6.pcap.xz.ab fritzbox.ipv6.pcap.xz.ac > fritzbox.ipv6.pcap.xz; xz -d fritzbox.ipv6.pcap.xz

comment:8 by Valery Ushakov, 9 years ago

Strange, works for me (though I haven't re-downloaded the files).

comment:9 by Valery Ushakov, 9 years ago

Meanwhile I was able to get a confirmation that this indeed seems Windows specific. On the same network served by a fritzbox router a guest on OS X host has IPv6 connectivity, but a guest on Windows host experiences problems with external connectivity.

in reply to:  8 comment:10 by Maarten Hoes, 9 years ago

Replying to vushakov:

Strange, works for me (though I haven't re-downloaded the files).

sorry, my mistake: i tried it with mingw-32 tools on windows and that fails; running the same series of commands on a Linux host works as expected. Sorry for the noise.

in reply to:  9 comment:11 by Valery Ushakov, 9 years ago

Replying to vushakov:

Meanwhile I was able to get a confirmation that this indeed seems Windows specific. On the same network served by a fritzbox router a guest on OS X host has IPv6 connectivity, but a guest on Windows host experiences problems with external connectivity.

Unfortunately, upon investigation that turned out to be an unrelated problem.

comment:12 by Valery Ushakov, 9 years ago

BTW, what is your host's wireless card?

in reply to:  12 comment:13 by Maarten Hoes, 9 years ago

Replying to vushakov:

BTW, what is your host's wireless card?

TP-Link Archer T9E

comment:14 by Maarten Hoes, 9 years ago

For what it's worth: I just verified this behavior on VirtualBox 5.0.

comment:15 by Maarten Hoes, 9 years ago

Well I switched ISP's today, and now have a different modem/router. The good news is, is that ping6 still fails while ping succeeds. So the issue is not related to the FRITZ!Box modem/router. The bad news is, is that I no longer have a way to get a packet trace on the router/modem.

comment:16 by Valery Ushakov, 9 years ago

Sorry for the delay, 5.0 kept us busy. The traces from the FRITZ!Box you supplied earlier don't show anything anomalous. Our current suspicion is that your card driver might have problems with promiscuous mode as noted in wireshark wiki. Testing with a different host and/or wifi adapter would help to verify that.

comment:17 by Maarten Hoes, 9 years ago

No problem. Would supplying another similar trace running wireshark on the host and from within VirtualBox be an appropriate substitute for another network card and/or host ?

comment:18 by Valery Ushakov, 9 years ago

The theory about broken promiscuous mode in the card's driver seems to be confirmed by a test I asked Maarten to perform.

When bridging is used, we switch the host interface to the promiscuous mode so that multicast traffic to groups that the host has not joined is still received and forwarded to the guest. Packet captures seemed to indicate that promiscuous mode was broken because guest only saw multicast traffic to the addresses that the host itself joined (like all nodes, etc), but didn't see traffic to the multicast addresses that the host has not joined (like guest's solicited node multicast that NS are sent to).

To verify this theory the host interface was manually assigned an address with the last four octets the same as those of the guest's address. That made the host join the same solicited node multicast as the guest. After this the guest started seeing NSes for its address and got IPv6 connectivity.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use