[Winpcap-users] About the packet drops and use of pcap_stats_ex()
Gianluca Varenni
Gianluca.Varenni at riverbed.com
Wed Dec 1 08:47:08 PST 2010
This is wrong. If your application is not fast enough at processing packets, it does not drop them (in order to drop packets, you need to see the packets and make the choice to drop them). The drop gets pushed all the way down to the driver (and you will see ps_drop > 0).
If you detect missing packets (by looking at sequence numbers in the packets) but ps_drop is zero, then the reasons can be
1. Packets are dropped directly by the NIC card or NIC driver for lack of resources (where resources can be a variety of things, including memory descriptors and bandwidth on the PCI/PCIe/USB bus)
2. Packets are dropped by the NIC card because they have the wrong FCS (e.g. interference on the Ethernet cable?)
3. Packets are dropped by the NIC because the NIC sucks and cannot keep up
I would definitely try with a good NIC (e.g. some intel PCIe one) and see if anything changes.
Have a nice day
GV
From: winpcap-users-bounces at winpcap.org [mailto:winpcap-users-bounces at winpcap.org] On Behalf Of Helmut Vaupotitsch
Sent: Tuesday, November 30, 2010 11:12 PM
To: winpcap-users at winpcap.org
Subject: Re: [Winpcap-users] About the packet drops and use of pcap_stats_ex()
if ps_drop=0, then the *driver* hasn´t lost packets (see Re: [Winpcap-users] Question about the struct type pcap_t. from 28.10!)
Most likely your app looses packets...
...try to implement a ringbuffer in the following way: one thread just fills the pre-allocated FIFO, another thread processes the buffer
Regards
Helmut
yulou liu schrieb:
I have made these experiments :
PC captures data packets from a FPGA board.
1, I made a Loop back test that can verify there is no packet drops between FPGA TO FPGA.
2Each data packets from FPGA board has a sequence number. Then PC can figure that there are packets drops. (the packets number that pc gets does not match the sequence of the packets).
3, call the pcap_stats_ex() , the result is : ps_drop=0 . That means there is no packets drops between the kernel buffer to user buffer.
According to above , Packet drops could occur in the system netcard to winPcap kernel driver. Is this conclusion right ?
Is it is right , what is the suggestion ? Can it be improved to use a more professional net card ?
Liuyulou
________________________________
_______________________________________________
Winpcap-users mailing list
Winpcap-users at winpcap.org<mailto:Winpcap-users at winpcap.org>
https://www.winpcap.org/mailman/listinfo/winpcap-users
--
----------------------------------------------------------------
Ing. Helmut Vaupotitsch Phone: +43 (0)3133 3780 16
ITEC Tontechnik und Fax: +43 (0)3133 3780 9
Industrieelektronik GmbH E-mail: hv at itec-audio.com<mailto:hv at itec-audio.com>
A-8200 Lassnitzthal 300 URL: http://www.itec-audio.com
----------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winpcap.org/pipermail/winpcap-users/attachments/20101201/2dec6a17/attachment-0001.htm
More information about the Winpcap-users
mailing list