Hardware assisted PTPd home page

Hardware assisted PTPd home page


This page is a short information and download page for the hardware assisted PTPd home page we have developed. The code based on the official distribution of PTPd (version 1), and we are working on with PTPd maintainers to integrate the code to the official PTPd distribution available on http://ptpd.sourceforge.net/. As soon as the code is integrated to the official PTPd daemon, we are going to publish only performance results here. An IEEE 1588v2 compatible hardware assisted PTPd version is also in development.


The code presented here keeps the original PTPd license.


  • Hardware: Intel Gigabit Network cards with IEEE 1588 hardware assist support, currently supported NICs are based on the Intel 82576 or Intel 82580 Gigabit Ethernet Controllers.
  • Latest IGB driver from http://sourceforge.net/projects/e1000/files/. The code is tested with version 2.1.9.
  • Linux kernel version 2.6.30 or newer.

The modified PTPs has been tested on Debian, Ubuntu, and Fedora distributions. We do not give all the details required to compile and run or code, we assume that the system is configured to successfully compile and run the IGB driver, and the official software only PTPd.

Download the source package from the following location: http://home.mit.bme.hu/~khazy/ptpd/ptpd-hwa.tar.gz

Compiling and testing the code

Installing the IGB driver:

$ tar xzf igb-2.1.9.tar.gz
$ cd igb-2.1.9/src
$ make install
$ modprobe igb

Compiling the modified PTPd code:

$ tar xzf ptp-igb.tar.gz
$ cd ptp-igb/src
$ make

Preparing the interfaces to run PTPd:

$ ifconfig ethX up
$ ifconfig ethX 192.168.1.x
$ echo 2 > /proc/sys/net/ipv4/igmp_max_memberships
The last command is needed to allow the machine to be a member of two multicast groups. We use a dedicated network for PTPd testing. This is why we have to bring up the interfaces manually. Naturally, if you have a firewall filtering on the interface, you should allow PTPd to communicate.

Running the modified PTPd:

$ ./ptpd -b eth5 -u 192.168.1.x -W
You need at least two machines with required NICs and hardware assisted PTPd running to test the operation of the modified code. Here are our initial results:


The work presented here has been done by Bálint Ferencz, who won a 3rd prize at the Students' Scholarly Circle of BME-VIK, in 2010. This work has been advised by Tamás Kovácsházy, Ph.D.


The network interface cards in our development and test environment are donated by Intel Corporation.

BME MIT Home Page
Hosted by BME-MIT. Designed by Yes, I did it!.
Last modified :