Re: Receiving delayed packets from RTL8139 card in KVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Avi,

Thanks for your insights. Since the interrupts are level triggered, we
need to unmask the interrupts ASAP to see if we are getting another
interrupt. In my ISR, the interrupts are unmasked after processing the
packets as shown below:

if( status & PKT_RX ) {
   rtl8139_rx(&rtl8139_netif );  //receive the packet
   rtl8139_clear_irq(status);     //unmask the interrupt
 } else {
     ......

Hence in this case when another receive interrupt arises when we are
in the middle of receiving the packets that interrupt will not be
caught as we did not unmask the interrupt. But in-turn if we unmask
the interrupts immediately before receiving the packets as below, I am
receiving all the interrupts properly.

if( status & PKT_RX ) {
   rtl8139_clear_irq(status);     //unmask the interrupt
   rtl8139_rx(&rtl8139_netif );  //receive the packet
 } else {
     ......

Also I would like to know whether the QEMU RTL8139 card calculates its
own checksum for packets, so that I need not do these checks in my
LWIP thread? Please let me know.

Thanks,
karthik
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux