Subject: Re: Extending socket timestamping API for NTP

From: Richard Cochran <[email-masked]>
Date: Mon, 27 Mar 2017 20:28:28 +0200

On Mon, Mar 27, 2017 at 09:25:03AM -0700, Denny Page wrote:

> I agree that the values in the igb driver are incorrect. They were
> middle of the range values from the old tables. At least for 100Mb,
> Intel seems to know that the original table was incorrect. I’ve done
> extensive measurements of the i210 and i211 at both 100Mb and
> 1Gb. The “external link partner” numbers Intel currently publishes
> for the 100Mb appear accurate.

Well, after reading this, I am more convinced than ever that doing the
correction in user space is the right way.  If the one and only vendor
who publishes numbers can't even get them straight, how on earth will
we ever get the drivers right?

> I’m still finalizing the values for 1Gb, but one thing I will note
> is that the values for master mode and slave mode are quite
> different. FWIW, master/slave mode correction is also something that
> can only be corrected in the driver :)

Actually, adding ethtool support for SyncE (and consequently Gigabit
Ethernet slave/master status) is something we have discussed in the
past.  I would support expanding the interface to accommodate this...
 
> I am curious to know any data you developed in your experiments and
> how you did the measurements. Please email me directly if you are
> willing to share.

I didn't do anything super methodical, and I didn't keep notes, but I
had a phyter (whose delays were published by TI and independently
confirmed in a ISPCS paper by Christian Riesch) and an i210 with a 100
MBit link and with a PPS between them.  The phyter's numbers are
correct to within a nanosecond, and I saw that the i210 was repeatedly
landing at the published extreme of the range.  I don't remember which
extreme, and I didn't repeat more than a few times, however.

Thanks,
Richard