[Winpcap-users] Delay receiving packets - wrongfunctionality ofpcap_setmintocopy()

Anton Tremsin ast at ssl.berkeley.edu
Sat Feb 5 15:32:31 PST 2011


Hi Michael,

Thanks for your help.

 From the first use of Winpcap I had the buffer size increased to 
receive 640 packets (need only 64 in each chunk of data transfer), so 
the buffer size is not a solution. Without buffer increased the problem 
is much worse, of course, and I could no get the high rates of data 
throughput.

I also tried the buffer size to be set to exactly the amount I need to 
transfer in one chunk of data (64 packets 8234 bytes each) and that does 
not help.

I will play more with the buffer size. Your analysis that these numbers 
(default buffer size of 256,000 and 31 packets transmission of 263488) 
is very close to what I see. May be it is indeed something is there with 
the buffer size function.

I  see that if I make the buffer very large when my program starts the 
memory usage is increased to that amount of buffer set in my code, 
therefore I thought that buffer size is set correctly.

Because we use UDP there is obviously no flow control. I am sending data 
from my detector and each image is 64 packets. I have control bits in 
the first packet, so in my computer I can recognize the first packet and 
if I miss some, I just skip the packets till reach to the next frame/image.

Thanks,

Anton

> I'll also note that 31*8234 = 255254 and 32*8234 = 263488 -- which is 
> right at the default 256,000 user buffer size.
>
> I think that's a big clue that increasing your buffer size will help.
>
> Michael D. Black
>
> Senior Scientist
>
> NG Information Systems
>
> Advanced Analytics Directorate
>
> ------------------------------------------------------------------------
> *From:* winpcap-users-bounces at winpcap.org 
> [winpcap-users-bounces at winpcap.org] on behalf of Anton Tremsin 
> [ast at ssl.berkeley.edu]
> *Sent:* Friday, February 04, 2011 11:39 PM
> *To:* winpcap-users at winpcap.org
> *Cc:* Gianluca Varenni
> *Subject:* EXT :Re: [Winpcap-users] Delay receiving packets - 
> wrongfunctionality ofpcap_setmintocopy()
>
> Gianluca,
>
> Thanks a lot for helping me. I am in a dire situation since my 
> detector really needs that problem to be solved before our experiments 
> in couple of months time (need to do a lot of debugging and code 
> writing after Winpcap issue is solved).
>
> I am not loosing packets. Sorry if I made it confusing.
>
> The packets always arrive into my C code (although Wireshark may loose 
> them, maybe that was a confusion with packets being lost). I only need 
> my C code to work right.  The rest of packets come only after the 
> timeout.
>
> I varied timeout from 1 ms to 20 sec and the effect is the same. With 
> timeout 0 - the packets do not arrive until I push more packets into 
> Chelsio card and these, in turn, push the once which were already in 
> some buffer.
>
> I am using Chelsio card, but Winpcap I downloaded from the official 
> website (version 4.1.2).
>
> The problem seems to be as if the function setmintocopy() does not 
> work right and the driver decides by itself how much to buffer before 
> sending it to me. One strange thing - the number of packets being 
> delivered to me changes from time to time, however very often number 
> 31 (31 packets, 8234 bytes each) arrive in a single chunk. Sometimes 
> it is 62 packets, sometimes other numbers, e.g. 57. etc.
>
> I will be very glad if someone ca advise something I can try to 
> resolve that issue.
>
> Thanks again,
>
> Anton
>>
>> Anton,
>>
>> You say that you are using a Chelsio board. Are you using the 
>> official version of WinPcap or Chelsio provided you with a custom 
>> one? What do you set as timeout and mintocopy?
>>
>> Have a nice day
>>
>> GV
>>
>> *From:* winpcap-users-bounces at winpcap.org 
>> [mailto:winpcap-users-bounces at winpcap.org] *On Behalf Of *Mark 
>> Pizzolato - WinPCap-Users
>> *Sent:* Friday, January 28, 2011 11:57 AM
>> *To:* winpcap-users at winpcap.org
>> *Subject:* Re: [Winpcap-users] Delay receiving packets - wrong 
>> functionality ofpcap_setmintocopy()
>>
>> Ho Anton,
>>
>> My first question to you would be:
>>
>> WHY are you using WinPcap to receive UDP packets?
>>
>> This sounds like a job for a winsock application….
>>
>> - Mark Pizzolato
>>
>> *From:* winpcap-users-bounces at winpcap.org 
>> [mailto:winpcap-users-bounces at winpcap.org] *On Behalf Of *Anton Tremsin
>> *Sent:* Friday, January 28, 2011 11:50 AM
>> *To:* winpcap-users at winpcap.org
>> *Subject:* [Winpcap-users] Delay receiving packets - wrong 
>> functionality ofpcap_setmintocopy()
>>
>> I hope someone can help my problem receiving packets in Windows7
>>
>> I am sending data by UDP packets from an FPGA through 10GB card 
>> (Chelsio). Using VC++ 2010 to compile code to receive them.
>>
>> All packets arrive, no losses seen, but the problem is with the 
>> proper *operation of pcap_setmintocopy() function.*
>>
>> *I send 64 packets with 8234 bytes each. Receiving them through 
>> pcp_next_ex() and I only get 31 packets (sometimes 62, sometimes 47, 
>> 50 packets) before the timeout occurs. After timeout the rest of the 
>> packets arrives.
>> *
>> I set the minimum amount of data in the kernel buffer that causes a 
>> read from the application to return (unless the timeout expires) to 
>> be 1 byte or it to be all 8234x64 bytes, no difference. Looks like 
>> the setmintocpy function has no effect on my kernel buffer to be 
>> copied to my application. If I send another set of 64 packets - data 
>> arrives into pcp_next_ex(), still only in lamp of 31 (62, 47,50) packets
>>
>> That is a big problem for my application.
>>
>> *Is there anything I am doing wrong or need to change something in 
>> the system/driver to make setmintocopy function to operate properly?
>> *
>> Thanks a lot for your help,
>>
>> Anton Tremsin
>>
>> -- 
>>   
>> Anton S. Tremsin, Ph.D.
>> Space Sciences Laboratory
>> University of California at Berkeley
>> Berkeley, CA 94720
>> Tel: (510) 642 4554
>>
>>
>> _______________________________________________
>> Winpcap-users mailing list
>> Winpcap-users at winpcap.org
>> https://www.winpcap.org/mailman/listinfo/winpcap-users
>>    
>
>
> _______________________________________________
> Winpcap-users mailing list
> Winpcap-users at winpcap.org
> https://www.winpcap.org/mailman/listinfo/winpcap-users
>    

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winpcap.org/pipermail/winpcap-users/attachments/20110205/3ac2542d/attachment.html>


More information about the Winpcap-users mailing list