WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH] Fox for pcnet device model data corruption


On 25 Feb 2006, at 00:10, Kamble, Nitin A wrote:

Hi Ian,
   The attached patch fixes pcnet data corruption for VMX guests as reported by you. All the packets go through the qemu generic packet interface to the specific device model. In this case the device model is pcnet.
   The pcnet device model receiver is registered with it like this.
qemu_add_read_packet(nd, pcnet_can_receive, pcnet_receive, d);
   pcnet_can_receive function is used to tell the generic qemu framework that the DM can receive packets. It is suppose block incoming packets in the cases such as when the pcnet driver is not yet started by the OS or pcnet device is suspended or stopped by the OS or it is not ready to receive more packets.     When the traffic is heavy on the DM, its receive rings can get filled up, and it will has to drop the receiving packets. This patch detects this situation in the pcnet_can_receive() function and avoids dropping of packets. This mechanism is working as a bandwidth handshaking between device model and the sender. Dm is saying send me up to the rate at which I can handle it.

I can see that this may avoid packet loss, but does pcnet_receive really get confused and corrupt data if there is no spare space? It appears to check the same status flag that you check in your patch?

 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel