<br><font size=2 face="sans-serif">GV> Not at the moment with WinPcap.
Having said that, I've used this double copy mechanism to bring several
Gbps's to user mode without any packet loss (not with WinPcap, with custom
hardware. However the buffering mechanism was the same).</font>
<br>
<br><font size=2 face="sans-serif">YL> 'double copy mechanism' ,
Data copy from the user buffer to application(user mode) is the third
copy ? </font>
<br>
<br>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">GV>Are you dumping the packets to
disk? If so, have you measured the dump-to-disk bandwidth? </font>
<br>
<br><font size=2 face="sans-serif">YL> Yes, Dumping packets to
disk is my final goal. But right now , To avoid the limitation
of the disk write speed , I just count the packets number in the
receive thread. But on the rate of 614 Mbps,
sometimes there are still packets loss. </font>
<br>
<br><font size=2 face="sans-serif">PS. The route of packets
transfer is : FPGA BOARD sends data through ether net --> PC'S
net card --> winpcap kernel buffer --> winpcap user buffer
--> receive thread count . The FPGA's sending packets
rate is about 614 Mbps , the size of each packet is 1460 bytes,
every packet has a sequence number , the sending process's
starting and stopping can be controlled . </font>
<br>
<br><font size=2 face="sans-serif">The app that I make only counts
the packet's number when a packet comes without saving . While the
last packet comes , the app will compare the number (it counts
by itself) with the sequence number (of the last packet). Then
I will know if there is packets loss. </font>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=35%><font size=1 face="sans-serif"><b>"Gianluca Varenni"
<gianluca.varenni@cacetech.com></b> </font>
<br><font size=1 face="sans-serif">发件人: winpcap-users-bounces@winpcap.org</font>
<p><font size=1 face="sans-serif">2010-09-21 07:41</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">请答复 给<br>
winpcap-users@winpcap.org</font></div></table>
<br>
<td width=64%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">收件人</font></div>
<td><font size=1 face="sans-serif"><winpcap-users@winpcap.org></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">抄送</font></div>
<td>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">主题</font></div>
<td><font size=1 face="sans-serif">Re: [Winpcap-users] About the packets
loss , what is the bottleneck ?</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=3> </font>
<br>
<br><font size=3><b>From:</b> </font><a href=mailto:lyulou@gmail.com><font size=3 color=blue><u>yulou
liu</u></font></a><font size=3> </font>
<br><font size=3><b>Sent:</b> Sunday, September 19, 2010 12:50 AM</font>
<br><font size=3><b>To:</b> </font><a href="mailto:winpcap-users@winpcap.org"><font size=3 color=blue><u>winpcap-users@winpcap.org</u></font></a><font size=3>
</font>
<br><font size=3><b>Subject:</b> [Winpcap-users] About the packets loss
, what is the bottleneck ?</font>
<br>
<br><font size=2 face="Calibri"><br>
There is still the question about packets loss.<br>
 </font><font size=2> </font><font size=2 face="Calibri"><br>
According to the essay ' </font><font size=2>Profiling and Optimization
of Software-Based Network-Analysis Applications</font><font size=2 face="Calibri">'
,   every packet is copied twice in the main memory before reaching
the user. In order to reduce the cost of CPU and the bus occupying
of the SDRAM of pc,  is it possible to copy data directly from
the kernel buffer to the final buffer , which I want the date keptÂ
in ?   </font>
<br><font size=2> </font>
<br><font size=2 face="Calibri">GV> Not at the moment with WinPcap.
Having said that, I've used this double copy mechanism to bring several
Gbps's to user mode without any packet loss (not with WinPcap, with custom
hardware. However the buffering mechanism was the same).</font>
<br><font size=2 face="Calibri"><br>
 </font><font size=2> </font><font size=2 face="Calibri"><br>
Here is another idea ---Â </font><font size=2>Â allocate several different
user buffers , once </font><font size=2 face="Calibri">a </font><font size=2>user
buffer is fulled , then let the next user buffer to save the </font><font size=2 face="Calibri">new</font><font size=2>Â
datas from kernel buffer. Meanwhile copy datas from the first user
buffer to disk (assume that the hard disk write rate is fast enough).</font><font size=2 face="Calibri">Â
Is this idea work with the winpcap ?</font><font size=2>Â </font>
<br><font size=2> </font>
<br><font size=3 face="Calibri">GV>Are you dumping the packets to disk?
If so, have you measured the dump-to-disk bandwidth? </font>
<br><font size=2> </font>
<br><font size=3 face="Calibri">GV</font>
<br><font size=2> </font>
<br><font size=2> </font>
<br><font size=2><tt>_______________________________________________<br>
Winpcap-users mailing list<br>
Winpcap-users@winpcap.org<br>
https://www.winpcap.org/mailman/listinfo/winpcap-users<br>
</tt></font>
<br>
<br><pre>
--------------------------------------------------------
ZTE Information Security Notice: The information contained in this mail is solely property of the sender's organization. This mail communication is confidential. Recipients named above are obligated to maintain secrecy and are not permitted to disclose the contents of this communication to others.
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the originator of the message. Any views expressed in this message are those of the individual sender.
This message has been scanned for viruses and Spam by ZTE Anti-Spam system.
</pre>