Discussion:
[Linuxptp-users] ptp4l assume 6Byte HW address
Feras Daoud
2017-07-19 10:47:37 UTC
Permalink
Hi,

Today ptp4l does not support IPoIB interfaces.

The generate_clock_identity() function always assumes 6 octets MAC
address, which is correct for Ethernet interfaces but not for IPoIB
interfaces (that have 20 octets MAC). As a result, running ptp4l over
IPoIB interface does not function correctly.

The problem occurs when the higher 6Bytes of the master mac are similar
to the slave's mac. In this case, the slave side ignores the packets and
the sync failed.

port.c :

if (pid_eq(&m->header.sourcePortIdentity, &p->portIdentity)) {
return 1;
}

Is there any way to address this issue using the current implementation ?


Thanks
Richard Cochran
2017-07-19 12:03:41 UTC
Permalink
Post by Feras Daoud
Is there any way to address this issue using the current implementation ?
The clock identity is an IEEE EUI-64, an eight byte UUID. This value
may be generated automatically using the EUI-48, and that is exactly
what we do in linuxptp. See IEEE 1588 clause 7.5.2.2.

In order to support systems without an EUI-48 (aka Ethernet MAC
address), we need an optional configuration option for "clockIdentity".

Thanks,
Richard

Loading...