MegaGreg <(E-Mail Removed)> wrote:
> I have an application that makes an ioctl call with SIOCGSTAMP to
> get the time that a frame was received. This all works the way it's
> supposed to. The problem is that the time on the system isn't
> accurate enough for our application. What I'm looking for is in
> which part of the code the timestamp is being saved. My plan is to
> change this driver/library/part of the kernel so that it grabs the
> time off our timing card instead.
The NTP demi-gods in comp.protocols.time.ntp will no doubt find errors
in what I'm saying, but is the problem really the accuracy - ie is the
time the correct time - or is the problem the precision - ie is time
reported to enough significant digits for your purpose?
If the OS in question here is "linux" - you don't say what it is so
I'm guessing - you really should say with which OS... IIRC currently
the timestamps are taken in the driver once the driver is made aware
of the packet. Depending on your desires/requirements at that point
we have to start wondering about things like NIC interrupt coalescing
settings and what they mean for when the packet was on the wire vs
when the driver in the OS was made aware of the presence of the packet
in an inbound buffer.
> Any pointers for where I should begin my search?
If this is in the context of Linux, you should search the linux
"netdev" mailing list archives. You might also (linux or no) consider
the tcpdump mailing list archives.
rick jones
--
the road to hell is paved with business decisions...
these opinions are mine, all mine; HP might not want them anyway...

feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH...