Richard Cochran
d6ce3fbb3d
Fix compilation for uclinux toolchain lacking <sys/timerfd.h>
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-02-19 18:26:54 +01:00
Richard Cochran
4d0b2e5001
Clean up all of the binaries for the 'distclean' target.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-02-19 18:26:38 +01:00
Richard Cochran
4b10792002
Add a utility program to set driver level time stamping policy.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-24 19:22:13 +01:00
Richard Cochran
af3cbb5fbd
Add a tool to synchronize the system time from a PTP hardware clock.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-24 19:12:57 +01:00
Richard Cochran
43bd313eb1
Go ahead and use a negative path delay estimate.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-21 15:24:15 +01:00
Richard Cochran
6d73cea86a
Implement timeouts with log seconds less than zero.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-09 10:04:43 +01:00
Richard Cochran
c0ebf12f79
Add command line options to control the logging destination.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-09 10:04:43 +01:00
Richard Cochran
86ddff4a0a
Print messages to the syslog by default.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-09 10:04:43 +01:00
Richard Cochran
222c9bb62b
Fix the port finite state machine.
...
The state machine needs to know whether a new master has just been
selected in order to choose between the slave and uncalibrated states.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:56 +01:00
Richard Cochran
c2fad7bd51
Fix the BMC state decision algorithm.
...
We failed to make the distinction between plain old "better" and
"better by topology," but the BMC algorithm really counts on this.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:56 +01:00
Richard Cochran
807ec32c96
Fix wrong result from the best master clock algorithm.
...
The BMC should never return 'faulty', and I don't know what I was thinking
here, so let's just fix it.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:56 +01:00
Richard Cochran
335100c1a6
Differentiate the BMC related logging from the synchronization logging.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:56 +01:00
Richard Cochran
a442a928f8
Fix typo in the initial priority field of the parent data set.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:56 +01:00
Richard Cochran
ba6cf8b767
uClinux: provide missing system calls.
...
The timerfd calls are missing from Sourcery CodeBench Lite 2011.09-23.
We can remove this code once these calls are properly integrated into a
current tool chain.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:56 +01:00
Richard Cochran
59163df8b1
Make use of the configuration file for the port data set.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
1092c4237b
Make use of the configuration file for the default data set.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
ec5e783e84
Add code to read a configuration file.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
32ee558ef8
Add a command line option to set the message level.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
f135133a88
Print the synchronization statistics at the information level.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
0536aa7413
Issue a warning when the path delay turns out negative.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
e47549e73f
Ignore messages from ourselves and from the wrong domain.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
851675833a
Do not print debug messages by default.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
95185673f5
Fix message leak in the port event handler.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
50b82c200d
Do not treat signaling and management messages as errors.
...
Instead we just ignore them for now.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
a736b0c2ff
Make the slave only mode a non-default option.
...
Now that we have the master code in place, there is no longer any need
to restrict ourselves.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
e2c02e49c7
Implement the master sync timer and message.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:55 +01:00
Richard Cochran
39f5b2c449
Fix delay response message format.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
e96d26f13f
Group the sequence numbers together in one structure.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
72703ba36a
Implement the master announce timer and message.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
7dbdf2985c
Provide methods to obtain a clock's parent and time properties data sets.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
da17f75359
Implement the port master qualification timer.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
62afef45db
Clear all timers when changing port state.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
3481c99c70
Add an access method for a clock's currentDS.stepsRemoved.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
b76c4e108f
Introduce an event recommending the grand master state.
...
We already have a grand master state. Adding this event will simplify the
overall logic, since it will avoid the silly requirement to set the
qualification timeout to zero when entering the grand master state.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
10753faccf
Implement the synchronization events.
...
This will allow a port to get from the uncalibrated into the slave state.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
347b42b7d5
udp: Use the bind to device socket option.
...
Without this Linux specific option, multicast packets arrive on one
interface are delivered by the kernel to all others.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
95d5c36c0f
udp: turn off multicast loop back.
...
This option is on by default, but we don't want or need it.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:54 +01:00
Richard Cochran
5555a2f029
udp: Use the IP_ADD_MEMBERSHIP socket option.
...
For some reason, MCAST_JOIN_GROUP is not working under uClinux. We can
just stick with the more traditional method.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2012-01-07 08:07:53 +01:00
Richard Cochran
447d4d442c
udp: bring a warning or error if the driver changes our hwtstamp options.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-12-18 09:35:41 +01:00
Richard Cochran
b0d547cac4
udp: use the message logging facility instead of stdio.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-12-18 08:21:47 +01:00
Richard Cochran
1de37086ef
Rename the main program to something better sounding.
2011-12-13 09:09:08 +01:00
Richard Cochran
623add8303
Do not generate dependencies if we are going to clean.
2011-12-13 09:04:08 +01:00
Richard Cochran
ecf959ce3d
Reject negative path delay.
...
If the path delay comes out negative, then something is amiss. In this
case, we just print a warning and ignore the path delay estimate.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-12-13 05:30:45 +01:00
Richard Cochran
cecc20a307
udp: wait longer for transmit time stamps
...
Some hardware is a bit pokey. We now wait forever on EINTR and just a
little bit on EAGAIN.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-12-13 05:28:54 +01:00
Richard Cochran
87e61f9770
Let the clock servo know about the expected time stamp quality.
...
If software time stamping is to be used, then the servo will want to
have appropriate filtering.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-12-13 04:57:28 +01:00
Richard Cochran
01691df47b
Add a bunch more documentation.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-11-27 14:24:03 +01:00
Richard Cochran
429c126b58
Select the system clock whenever legacy hardware time stamps are used.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-11-27 14:24:03 +01:00
Richard Cochran
56a5adc1cc
Smooth the path delay estimate with a moving average.
...
This is really just a first attempt using a hard coded length. Probably
it will be necessary to let the length be configurable and/or adaptable.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-11-27 14:24:03 +01:00
Richard Cochran
68aea3058c
Use the timeout table for the delay request messages.
...
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-11-27 14:24:03 +01:00
Richard Cochran
1d6737b75c
Add a time out table for delay requests.
...
We can pre-compute a table of suitable values in order to simplify the
run time random delay selection.
Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-11-22 05:40:50 +01:00