I am trying to configure linuxptp / ptp4l between two nodes in order to do some
IEEE 1588 / 802.1AS testing (eventually, I'll be introducing a 3rd node of a
different type of device). Unfortunately, I'm having very little luck getting
just two nodes talking, and I'm hoping that someone here can point me in the
right direction.
I'm using linuxptp v2.0 on CentOS 7 (installed from the repo) running in a pair
of VMs connected via an "internal" network (i.e. the two VMs each appear to
have a network interface which is directly connected to a corresponding
interface on the other VM). When I try to run ptp4l configured for 802.1AS /
gPTP, it doesn't appear to work.
Both sides show (basically) the same thing, which is:
[xxxxxx@localhost ~]$ sudo ptp4l -i enp0s8 -m -S -f
/usr/share/doc/linuxptp-2.0/configs/gPTP.cfg
[sudo] password for xxxxxx:
ptp4l[154.796]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[154.797]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[158.206]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[158.207]: selected local clock 080027.fffe.fbb352 as best master
ptp4l[158.207]: assuming the grand master role
The only difference in the output is the clock ID (since the two VMs have
different MAC addresses).
Using tcpdump on each VM, I can see PTP packets coming from both VMs to the
destination MAC 01:80:C2:00:00:0E as follows:
16:48:23.223780 08:00:27:fb:b3:52 (oui Unknown) > 01:80:c2:00:00:0e (oui
Unknown), ethertype Unknown (0x88f7), length 68:
0x0000: 1202 0036 0000 0000 0000 0000 0000 0000 ...6............
0x0010: 0000 0000 0800 27ff fefb b352 0001 023c ......'....R...<
0x0020: 0500 0000 0000 0000 0000 0000 0000 0000 ................
0x0030: 0000 0000 0000 ......
16:48:23.223999 08:00:27:62:af:0f (oui Unknown) > 01:80:c2:00:00:0e (oui
Unknown), ethertype Unknown (0x88f7), length 68:
0x0000: 1302 0036 0000 0200 0000 0000 0000 0000 ...6............
0x0010: 0000 0000 0800 27ff fe62 af0f 0001 023c ......'..b.....<
0x0020: 057f 0000 5ddd c7d7 0d56 9dca 0800 27ff ....]....V....'.
0x0030: fefb b352 0001 ...R..
To prove that the VMs are connected properly, I assigned IP addresses and then
ran without the -f option, and started getting synchronization (or at least
attempts at it):
[xxxxxx@localhost ~]$ sudo ptp4l -i enp0s8 -m -S
[sudo] password for xxxxxx:
ptp4l[93.120]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[93.120]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[93.838]: port 1: new foreign master 080027.fffe.62af0f-1
ptp4l[97.839]: selected best master clock 080027.fffe.62af0f
ptp4l[97.839]: foreign master not using PTP timescale
ptp4l[97.839]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[99.881]: master offset 71760371 s0 freq -539386 path delay 324313
ptp4l[100.882]: master offset 71791896 s0 freq -539386 path delay 324313
ptp4l[101.932]: master offset 71917651 s0 freq -539386 path delay 323721
ptp4l[102.934]: master offset 71799448 s0 freq -539386 path delay 324313
ptp4l[103.941]: master offset 72454111 s0 freq -539386 path delay 324313
So, it looks like the interconnect between the VMs is working fine, but
something about the 802.1AS configuration isn't right. Does anyone have any
ideas where I went wrong?
Matt
Matthew Dharm
Broadcom AE
[cid:[email protected]]
[http://digital.avnet.com/signature/images/Avnet_logo_tagline_rgb.png]
_______________________________________________
Linuxptp-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxptp-users