The Solarflare Enhanced PTP Daemon works on Linux systems for 3.0 kernels and later.
(c) Copyright 2013-2023 Xilinx, Inc.
- Change directory to the root of the sfptpd source repository or package
- Type
make all - The executable daemon is
sfptpdin thebuild/directory
The built sfptpd daemon does not require installation. However, it must normally be run as root.
On host A:
sudo build/sfptpd -i eth1 -f config/ptp_master_freerun.cfg
On host B:
for i in ntp{,d} chrony{,d}; do sudo service $i stop 2>/dev/null; done
sudo build/sfptpd -i eth1 -f config/ptp_slave.cfg
Some example installation recipes follow.
sudo make prefix=/usr install
sudo make prefix=/usr INST_INITS=sysv INST_OMIT=sfptpmon install
Installs to /usr/local
sudo make install
make DESTDIR=../staging INST_INITS= install
mkdir -p ~/rpmbuild/SOURCES
ver="$(scripts/sfptpd_versioning derive)"
git archive --prefix="sfptpd-$ver/" --format=tgz -o ~/rpmbuild/SOURCES/sfptpd-$ver.tgz HEAD
curl https://raw.githubusercontent.com/Xilinx-CNS/sfptpd-rpm/generic/sfptpd.spec | sed "s/^\(Version: \).*/\1 $ver/g" > sfptpd.spec
curl https://raw.githubusercontent.com/Xilinx-CNS/sfptpd-rpm/generic/sfptpd.sysusers -o ~/rpmbuild/SOURCES/sfptpd.sysusers
rpmbuild -bs sfptpd.spec
docker build .
sudo docker run \
--network=host \
--cap-add NET_BIND_SERVICE,NET_ADMIN,NET_RAW,SYS_TIME \
$(for d in $(ls /dev/{ptp*,pps*}); do echo "--device $d"; done) \
-i sfptpd:latest \
-v -f - < config/default.cfg