VirtualBox

Ticket #20148 (closed defect: fixed)

Opened 4 months ago

Last modified 3 weeks ago

DHCP does not work in bridged mode

Reported by: lerdmann Owned by:
Component: other Version: VirtualBox 6.1.18
Keywords: Cc:
Guest type: other Host type: Windows

Description

host: Win64, guest: OS/2, network running in bridged mode

The OS/2 DHCP client does no longer receive an IP address. That used to work without a problem with Virtualbox 6.1.16 and I have changed nothing, neither Virtualbox settings nor anything in the guest.

My suspicion is, that this is due to the changes done for UDP packets (zero packet length) but I am by no means an ethernet expert.

Attachments

eComStationV2.2-2021-01-23-12-29-48.log Download (266.2 KB) - added by lerdmann 4 months ago.
trace_6_1_16.pcap Download (3.5 KB) - added by lerdmann 6 weeks ago.
DHCP with 6.1.16
trace6_1_18.pcap Download (3.0 KB) - added by lerdmann 6 weeks ago.
DHCP with 6.1.18
trace6_1_18_host.pcapng Download (17.1 KB) - added by lerdmann 6 weeks ago.
DHCP with 6.1.18, host side
trace_6_1_18_guest.pcap Download (2.4 KB) - added by lerdmann 6 weeks ago.
trace_6_1_18_host.pcapng Download (36.0 KB) - added by lerdmann 6 weeks ago.
trace_6_1_16_guest.pcap Download (3.9 KB) - added by lerdmann 6 weeks ago.
trace_6_1_16_host.pcapng Download (46.9 KB) - added by lerdmann 6 weeks ago.

Change History

Changed 4 months ago by lerdmann

comment:1 Changed 4 months ago by lerdmann

Forgot to mention: for the guest configuration, I am using the "Intel PRO/1000 MT Server" (e1000) network adapter emulation. And I meant to say "UDP checksum offloading" instead of zero packet length (ticket #19930).

Last edited 4 months ago by lerdmann (previous) (diff)

comment:2 Changed 4 months ago by vushakov

Please, can you provide a packet capture for a failing DHCP exchange?

comment:3 follow-up: ↓ 4 Changed 7 weeks ago by lerdmann

Do I need to use Wireshark on the host or is there another way to capture ethernet packets ? Ah, ok, I see that there is a Virtualbox inbuilt feature to capture ethernet packets. I'll use that.

Last edited 7 weeks ago by lerdmann (previous) (diff)

comment:4 in reply to: ↑ 3 Changed 7 weeks ago by vushakov

Replying to lerdmann:

Do I need to use Wireshark on the host or is there another way to capture ethernet packets? Ah, ok, I see that there is a Virtualbox inbuilt feature to capture ethernet packets. I'll use that.

You can use built-in capture but that captures at the VM interface boundary, so if the problem is, say, with bridging code not delivering some packets, you won't see them obviously. So with bridged it's better to capture both on the host at the guest to be able to ddx problems like that.

Changed 6 weeks ago by lerdmann

DHCP with 6.1.16

Changed 6 weeks ago by lerdmann

DHCP with 6.1.18

comment:5 Changed 6 weeks ago by lerdmann

For the time being, I have added pcap files only from the guest (Virtualbox internal pcap logging). But is already apparent, the sequence of DHCP related packets is different. Let me know if you also need host pcap files.

Changed 6 weeks ago by lerdmann

DHCP with 6.1.18, host side

comment:6 Changed 6 weeks ago by lerdmann

also added for 6.1.18, host pcap tracing

comment:7 Changed 6 weeks ago by vushakov

Thanks. Do these captures represent the same traffic? The transaction ids don't seem to match and they should not have been rewritten.

What's going on here is that 1) you are bridging to wifi and 2) the client uses unicast as you can see in the guest captures. Now, "bridging" to wifi is not really bridging, so guest's packets are rewritten by VBox. In particular all DHCP packets get broadcast flag added, otherwise the DHCP server reply would never reach the host. In the host trace you can see that the DHCP server replies do reach the host, but for some reason they are not delivered to the VM. Which is strange, as this code haven't change in quite a while and I don't recall other complaints about it being broken...

comment:8 Changed 6 weeks ago by lerdmann

No, the host and client trace for 6.1.18 are not from the same traffic (it occured to me that you would ask for this only after I had taken those traces). Do you want me to repeat and trace simultaneously on host and guest ?

Last edited 6 weeks ago by lerdmann (previous) (diff)

Changed 6 weeks ago by lerdmann

Changed 6 weeks ago by lerdmann

comment:9 Changed 6 weeks ago by lerdmann

Have now added trace files taken simultaneously on host and guest.

Changed 6 weeks ago by lerdmann

Changed 6 weeks ago by lerdmann

comment:10 Changed 6 weeks ago by lerdmann

And the very same for the working Virtualbox 6.1.16.

comment:11 Changed 6 weeks ago by lerdmann

Forgot to mention: I have a VPN client running on the host. But why would that matter for 6.1.18 where it apparently does not matter for 6.1.16 ?

comment:12 Changed 6 weeks ago by lerdmann

Now tried with the VPN client being turned off: it does not make a bit of a difference.

comment:13 Changed 6 weeks ago by vushakov

Can you make an experiment and configure the IP address in the guest statically and check if if works?

This is really weird as I don't see any relevant changes between .16 and .18...

comment:14 Changed 6 weeks ago by aleksey

Could you try PCNet adapter instead of e1000? It would help to pinpoint the issue.

comment:15 Changed 6 weeks ago by aleksey

There is no need for additional tests. I've reproduced the issue locally. It is a recent regression in e1000, related to RDT register checks. It will be fixed in the upcoming maintenance release.

comment:16 Changed 6 weeks ago by lerdmann

ok, thanks !

comment:17 Changed 3 weeks ago by lerdmann

I confirm that the problem is fixed with Virtualbox 6.1.20. You can close this ticket.

Last edited 3 weeks ago by lerdmann (previous) (diff)

comment:18 Changed 3 weeks ago by vushakov

  • Status changed from new to closed
  • Resolution set to fixed

Thanks for the update.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use