VirtualBox

Ticket #20148 (closed defect: fixed)

Opened 9 months ago

Last modified 6 months 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 9 months ago.
trace_6_1_16.pcap Download (3.5 KB) - added by lerdmann 7 months ago.
DHCP with 6.1.16
trace6_1_18.pcap Download (3.0 KB) - added by lerdmann 7 months ago.
DHCP with 6.1.18
trace6_1_18_host.pcapng Download (17.1 KB) - added by lerdmann 7 months ago.
DHCP with 6.1.18, host side
trace_6_1_18_guest.pcap Download (2.4 KB) - added by lerdmann 7 months ago.
trace_6_1_18_host.pcapng Download (36.0 KB) - added by lerdmann 7 months ago.
trace_6_1_16_guest.pcap Download (3.9 KB) - added by lerdmann 7 months ago.
trace_6_1_16_host.pcapng Download (46.9 KB) - added by lerdmann 7 months ago.

Change History

Changed 9 months ago by lerdmann

comment:1 Changed 9 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 9 months ago by lerdmann (previous) (diff)

comment:2 Changed 9 months ago by vushakov

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

comment:3 follow-up: ↓ 4 Changed 7 months 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 months ago by lerdmann (previous) (diff)

comment:4 in reply to: ↑ 3 Changed 7 months 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 7 months ago by lerdmann

DHCP with 6.1.16

Changed 7 months ago by lerdmann

DHCP with 6.1.18

comment:5 Changed 7 months 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 7 months ago by lerdmann

DHCP with 6.1.18, host side

comment:6 Changed 7 months ago by lerdmann

also added for 6.1.18, host pcap tracing

comment:7 Changed 7 months 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 7 months 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 7 months ago by lerdmann (previous) (diff)

Changed 7 months ago by lerdmann

Changed 7 months ago by lerdmann

comment:9 Changed 7 months ago by lerdmann

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

Changed 7 months ago by lerdmann

Changed 7 months ago by lerdmann

comment:10 Changed 7 months ago by lerdmann

And the very same for the working Virtualbox 6.1.16.

comment:11 Changed 7 months 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 7 months ago by lerdmann

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

comment:13 Changed 7 months 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 7 months ago by aleksey

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

comment:15 Changed 7 months 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 7 months ago by lerdmann

ok, thanks !

comment:17 Changed 6 months ago by lerdmann

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

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

comment:18 Changed 6 months 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