So, if you put a mintocopy of 1, you still experience a timeout in some cases?

GV

PS: please do not remove 
[email protected]<mailto:[email protected]> from the recipients.

From: Anton Tremsin [mailto:[email protected]]
Sent: Friday, February 04, 2011 10:07 PM
To: Gianluca Varenni
Subject: Re: [Winpcap-users] Delay receiving packets - wrong functionality 
ofpcap_setmintocopy()

I do use pcap_setmintocopy() functon.

That is exactly the problem: I use value equal to 64 packets (8234*64=526976), 
value equal to 1 byte only - behavior seems to be very similar, packets are 
delayed till timeout.

Thanks,

Anton

What value do you use for mintocopy? Do you call pcap_setmintocopy?

Have a nice day
GV

From: Anton Tremsin [mailto:[email protected]]
Sent: Friday, February 04, 2011 9:39 PM
To: [email protected]<mailto:[email protected]>
Cc: Gianluca Varenni
Subject: Re: [Winpcap-users] Delay receiving packets - wrong functionality 
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: 
[email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Mark Pizzolato - 
WinPCap-Users
Sent: Friday, January 28, 2011 11:57 AM
To: [email protected]<mailto:[email protected]>
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: 
[email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Anton Tremsin
Sent: Friday, January 28, 2011 11:50 AM
To: [email protected]<mailto:[email protected]>
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

[email protected]<mailto:[email protected]>

https://www.winpcap.org/mailman/listinfo/winpcap-users




_______________________________________________
Winpcap-users mailing list
[email protected]
https://www.winpcap.org/mailman/listinfo/winpcap-users

Reply via email to