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]] *On Behalf Of *Mark
Pizzolato - WinPCap-Users
*Sent:* Friday, January 28, 2011 11:57 AM
*To:* [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]] *On Behalf Of *Anton Tremsin
*Sent:* Friday, January 28, 2011 11:50 AM
*To:* [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]
https://www.winpcap.org/mailman/listinfo/winpcap-users
_______________________________________________
Winpcap-users mailing list
[email protected]
https://www.winpcap.org/mailman/listinfo/winpcap-users