On Thu, 30 May 2019 at 18:06, Richard Cochran <richardcoch...@gmail.com> wrote: > > On Thu, May 30, 2019 at 05:57:30PM +0300, Vladimir Oltean wrote: > > On Thu, 30 May 2019 at 17:30, Richard Cochran <richardcoch...@gmail.com> > > wrote: > > > > > > Not necessarily. If two frames that arrive at nearly the same time > > > get their timestamps mixed up, that would be enough to break the time > > > values but without breaking your state machine. > > > > > > > This doesn't exactly sound like the type of thing I can check for. > > And that is why it cannot work. > > > The RX and TX timestamps *are* monotonically increasing with time for > > all frames when I'm printing them in the {rx,tx}tstamp callbacks. > > But are the frames received in the same order? What happens your MAC > drops a frame? >
If it drops a normal frame, it carries on. If it drops a meta frame, it prints "Expected meta frame", resets the state machine and carries on. If it drops a timestampable frame, it prints "Unexpected meta frame", resets the state machine and carries on. This doesn't happen under correct runtime conditions though. -Vladimir > > The driver returns free-running timestamps altered with a timecounter > > frequency set by adjfine and offset set by adjtime. > > That should be correct. > > Thanks, > Richard