[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-discuss] Packet loss, high latency with NE2000
From: |
Jakob Bohm |
Subject: |
Re: [Qemu-discuss] Packet loss, high latency with NE2000 |
Date: |
Mon, 14 Jan 2013 14:19:41 +0100 |
User-agent: |
Mozilla/5.0 (Windows NT 5.2; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 |
On 1/12/2013 1:20 PM, Robert Schilling wrote:
I have a NE2000 ethernet card connect via PCI and IRQ11. I wrote a device
driver for NE2000 for my OS. I'm using qemu 1.2 with the bridge helper to
bridge with my host linux.
I call qemu the following way:
sudo qemu-system-i386 -m 8M -cpu qemu32 -hda SWEB-flat.vmdk -debugcon
/dev/stdout -netdev bridge,id=hn0 -device ne2k_pci,netdev=hn0,id=nic1
What I experience now, is that there is a lack between the packet sending from
the host system and the reception in qemu. I'm using the ping command. This
does an ARP-Request but the ARP request is received shifted. The same applies
for the ICMP packets coming from the ping command. I get a latency of 4 to 10
seconds.
The ping command also tells me that there is a packet loss!!
My IP-stack doesn't seem the problem, since I don't see the other missed
packets in log. There is an output at start and end of my IRQ handler.
Does anybody know how to dig in further? Or where a problem may be?
I recall from 15 years ago that even with real Novell/Eagle NE2000
cards on an ISA bus, a subtle disturbance of the IRQ handler in the
NDIS 3.x driver included with Windows 9x could put the card in a weird
state where it would not interrupt on received packets, thus causing
massive packet loss (a few spurious packets, many seconds apart, would
be received anyway). I never figured out the details, only how to use
a different driver that would not trigger the failure.
Maybe your new driver for your own OS is leaving the card in the same
"don't generate IRQ for received packets" state.
Enjoy
Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S. http://www.wisemo.com
Transformervej 29, 2730 Herlev, Denmark. Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded