netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC] support for IEEE 1588
@ 2008-07-03 22:47 Octavian Purdila
  2008-07-03 23:24 ` Stephen Hemminger
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Octavian Purdila @ 2008-07-03 22:47 UTC (permalink / raw)
  To: netdev


Hi everybody,

IEEE 1588 Precision Time Protocol [1] requires hardware timestamping support 
for both RX and TX frames. It seems that in Linux we do not have the support 
required for this protocol to be implemented. 

Any feedback on the approach we are planing to take is greatly appreciated. We 
will follow with a patch at some point, but I just want to check with you 
gurus early, to avoid potential design flaws. If a patch is preferred for 
commenting on, then please ignore this and will come back later with the 
patch.

1. RX path
- add a new field in skb to keep the hardware stamp (hwstamp)
- add a new socket flag to enable RX stamping 
- add a new control message to retrieve the hwstamp from the skb to user-space 
application (for UDP and maybe PF_PACKET)

2. TX path - this is a bit more complicated since we need a new mechanism to 
wait for a packet transmission on wire, from users-space.
- add a new flag for the skb to request TX stamping
- add a new control message to propagate the TX stamping request from 
userspace to the skb
- when the driver will send the packet will get the stamp from the TX 
completion ring; the driver will then propagate the stamp either to
(a) the skb stamp field, or (b) some special structure - this to avoid keeping 
the skb around
- the special structure or the skb will be linked to a special queue in the 
socket and a POLLPRI event will be generated
- the application will use recvmsg and will receive a new control message 
which contains the timestamp from the socket special queue 

We will probably need to associate a cookie with each TX stamping control 
message which will be retrieve in the later control message, so that the 
application can match send packets with timestamps.

[1] http://ieee1588.nist.gov/tutorial-basic.pdf

Thanks,
tavi

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-07-09 15:31 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-03 22:47 [RFC] support for IEEE 1588 Octavian Purdila
2008-07-03 23:24 ` Stephen Hemminger
2008-07-03 23:40   ` Octavian Purdila
2008-07-04  0:15     ` Rick Jones
2008-07-04  0:42       ` Octavian Purdila
2008-07-04 11:24       ` Andi Kleen
2008-07-04 13:37 ` Patrick Ohly
2008-07-05  0:21   ` Octavian Purdila
2008-07-07 12:34     ` Patrick Ohly
2008-07-09 15:31 ` Lennart Sorensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).