If you are time-stamping the packets yourself you need to calculate a delta
between your timestamp and WinPCaps timestamp, and then adjust your
timestamp accordingly. Otherwise the two of you, over time, will become
further and further out of sync from one another due to the operating
systems adjustment to the value returned by GetSystemTime (which is exactly
the behavior you claim you are currently experiencing).
Bottom line: the problem is likely with your time-stamping logic (and/or how
you are reporting it), and not with WinPCap.
--
"Fish" (David B. Trout)
[email protected]
From: [email protected]
[mailto:[email protected]] On Behalf Of Helmut Vaupotitsch
Sent: Tuesday, September 14, 2010 9:18 AM
To: [email protected]
Subject: [Winpcap-users] timestamping and huge latency
Importance: High
Hi Gianluca and all others,
I am facing a major latency problem on *long lasting* capture sessions which
maybe
has to do with timestamping by the driver, every hint to solve it is
appreciated:
We developed a proprietary protocol to configure, manage and monitor
our self-developed hardware, the config software uses WinPCap to capture and
send raw packets.
Everything is working fine, but after some days of continuous capturing i
face:
- On some machines, the latency between sending requests and receiving the
answer
increases to some seconds (can be up to >30 secs after capturing for a
week!)
Closing and re-opening the driver would solve the problem, but i definitely
need to capture
for months and longer without interrupt!
I know that the driver timestamp is drifting apart from the System
Time(which can be
synchronized by e.g. a NTP server), therefore i timestamp the frames my
myself(which
is also important if a use timeouts)
My question is:
What could be the reason(s) for huge latency on long lasting captures?
I know that the latency increases on receiving packets
Currently i don´t know if sending´s latency also increases
Maybe it has something to do with the GetSystemTimeAdjustment setting?
Thanks for reading
Best regards from Austria
Helmut
Gianluca Varenni schrieb:
The return value of QuerySystemTime and QueryPerformanceCounter is
synchronized at the beginning of the capture (to compute the offset between
epoch time and QueryPerformanceCounter), and then the counter and frequency
returned by QPC are used to compute the number of seconds (and microseconds)
and added to the offset.
The timestamping code is available in the source code of WinPcap,
winpcap\packetntx\driver\time_calls.h
Have a nice day
GV
--------------------------------------------------
From: "Jan Martinec" <mailto:[email protected]> <[email protected]>
Sent: Tuesday, September 14, 2010 7:23 AM
To: <mailto:[email protected]> <[email protected]>
Subject: [Winpcap-users] timestamp
Hello!
I've got a question about timestamping method. I know that a timestamp
is got using method QueryPerformanceCounter (resp.
keQueryPerformanceCounter), which is a number of ticks of Performance
counter. But timestamp is by Winpcap returned in "Seconds since Epoch"
format. So how is the recomputation done?
Thank you very much
Best regards,
Jan Martinec
_______________________________________________
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
--
----------------------------------------------------------------
Ing. Helmut Vaupotitsch Phone: +43 (0)3133 3780 16
ITEC Tontechnik und Fax: +43 (0)3133 3780 9
Industrieelektronik GmbH E-mail: [email protected]
A-8200 Lassnitzthal 300 URL: http://www.itec-audio.com
----------------------------------------------------------------
_______________________________________________
Winpcap-users mailing list
[email protected]
https://www.winpcap.org/mailman/listinfo/winpcap-users