Skip to contentSkip to conversation

e1000 under VMware doesn't work since 2.6.27.16 - BISECTED

DISCUSSION Jens Stroebel 3 participants 5 messages Mar 20, 2009 – Mar 21, 2009

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hello,

we're using virtual machines under VMware with the e1000 emulated network card.

While trying to update the kernel, we had to recogize that the networking doesn't work anymore since kernel 2.6.27.16.

The e1000 kernel module gets loaded and the interface SEEMS to be brought up correctly; however, there's no networking possible afterwards (no hosts in the network reachable by "ping", for example).

I bisected the behaviour to the following commit (commit-ID from the 2.6.27 git repo):
#####################################################################

c6ac5fe00250faed88fb258d7ec91ec99bbe1e95 is first bad commit commit c6ac5fe00250faed88fb258d7ec91ec99bbe1e95

Author: Jesse Brandeburg <[email protected]>
Date:   Tue Jan 27 16:41:58 2009 -0800

e1000: fix bug with shared interrupt during reset

commit 15b2bee22a0390d951301b53e83df88d0350c499 upstream.

A nasty bug was found where an MTU change (or anything else that
caused a
reset) could race with the interrupt code. The interrupt code was
entered
by a shared interrupt during the MTU change.

This change prevents the interrupt code from running while the
driver is in
the middle of its reset path.

#####################################################################

As this is a relatively common card (and a relatively common usage under VMware), has anyone experienced something similar?

If any more data is needed, let me know.

greets,
jens

maintainer
#1 lore raw

From: Jens Stroebel <[email protected]>
Date: Fri, 20 Mar 2009 17:41:10 +0100

Quoted 4 lines

Hello,

we're using virtual machines under VMware with the e1000 emulated network card.

Sounds like vmware doesn't emulate the e1000 accurately enough.

#2 lore raw
Quoted 4 lines
Quoted 2 lines

we're using virtual machines under VMware with the e1000 emulated network card.

Sounds like vmware doesn't emulate the e1000 accurately enough.

I would consider problems with the vmware emulated e1000 to be similar to hardware quirks in some other chip rev supported by the e1000 driver. If a driver change broke e1000 inside a vmware VM then we should probably fix the kernel if possible (although vmware probably wants to improve their emulation too).

- R.

maintainer
#3 lore raw

From: Roland Dreier <[email protected]>
Date: Fri, 20 Mar 2009 16:03:58 -0700

Quoted 10 lines
Quoted 4 lines
Quoted 2 lines

we're using virtual machines under VMware with the e1000 emulated network card.

Sounds like vmware doesn't emulate the e1000 accurately enough.

I would consider problems with the vmware emulated e1000 to be similar to hardware quirks in some other chip rev supported by the e1000 driver. If a driver change broke e1000 inside a vmware VM then we should probably fix the kernel if possible (although vmware probably wants to improve their emulation too).

If such a "fix" would be to the detriment of real actual hardware, this logic doesn't hold.

The same applies to cases like qemu as well.

maintainer
#4 lore raw

From: David Miller <[email protected]>
Date: Fri, 20 Mar 2009 16:55:16 -0700 (PDT)

Quoted 14 lines

From: Roland Dreier <[email protected]>
Date: Fri, 20 Mar 2009 16:03:58 -0700

Quoted 10 lines
Quoted 4 lines
Quoted 2 lines

we're using virtual machines under VMware with the e1000 emulated network card.

Sounds like vmware doesn't emulate the e1000 accurately enough.

I would consider problems with the vmware emulated e1000 to be similar to hardware quirks in some other chip rev supported by the e1000 driver. If a driver change broke e1000 inside a vmware VM then we should probably fix the kernel if possible (although vmware probably wants to improve their emulation too).

Quoted 4 lines

If such a "fix" would be to the detriment of real actual hardware, this logic doesn't hold.

The same applies to cases like qemu as well.

And I want to amend this to state that I emphatically do not think that a driver maintainer is on the hook to be compatible with all the software emulators out there.

That's rediculious.

Keeping up with the problems on real hardware is difficult enough. At the very least the software emulators can be fixed easily, whereas real hardware not so much.