The Intel® Ethernet Server Adapter X520 series list support for Time Sync (IEEE1588/IEEE802.1AS).
To which extend is this feature also supported by the driver (across all platforms)?
Currently no driver support for IEEE1588 is available on any operating system. Do you have a planned use for IEEE1588 if the feature was supported by the driver or are you only asking a general question?
We do plan to evaluate IEEE 1588-2008 (PTPv2), and more specifically IEEE 802.1AS (part of Ethernet AVB) which is based on PTPv2.
In very short term we want to evaluate this powerful synchronization method via 1G controllers (e.g. 82574 using the Linux e1000e driver) and next we want to focus on 10G links. Currently I'm for instance looking on merging the igb driver (which has HW timestamp support) with the e1000e driver to add HW time stamp support to the latter one. Any help with this is of course also welcome!
Depending on which driver you are looking at it may or may not work to backport the code to the 82574 e1000e driver. PTP protocol support has just been added to the 2.6.36 kernel and has not really been there previous to this kernel. IEEE 1588 support has been added to our different families of devices but not in the same way in each device. So it can be a bit hard to do. Since the 2.6.36 kernel now does have support for the protocol at least, the igb driver included in 2.6.36 also does have HW support for it. We are looking into enabling our other devices that support it but that work has not happend yet. We are currently scoping the work and try to figure out a schedule from that.
What Linux kernel were you planning on using for your work?
As PTP is supported in the 2.6.36 version, we will use that one.
As a first step I took both igb (v. 2.4.8) and e1000e (v. 1.2.20) drivers from sourceforge, copying the timestamping features of the fomer one in the latter one.
I'm planning to test this first using the timestamping application provided in the linux documentation (/networking/timestamping.c), which was part of the kernel (at least) since 2.6.32.
The PTP support in the 2.6.36 version, what does it actually consist of? Can you point me to some documentation?