Hi,

I noticed problem with signalling messages. When servo is unlocked the 
following function is called:

  port_tx_interval_request(p, SIGNAL_NO_CHANGE,
                                         SIGNAL_SET_INITIAL,
                                         SIGNAL_NO_CHANGE); 

We can see that ptp4l slave is requesting gPTP master to use master's initial 
sync interval.  This might be different than slave's initial sync interval. If 
this is a case the signallings will be send over and over again.
Slave's own initalLogSyncInterval should be used here. 

Current version is causing other problems with OpenAvnu's daemon_cl. 
SIGNAL_SET_INITAL has value 126 which is not interpreted as special value by 
daemon_cl but treated literally, setting sync interval to 2.7E30 years 
therefore disabling the sync interval sending.

Proposed patch is attached.

Regards,
Marcin Miklas

   
From f06038908a0ff078fcda7701cc202c38a860a56e Mon Sep 17 00:00:00 2001
From: Marcin Miklas <marcin.mik...@harman.com>
Date: Wed, 24 Mar 2021 14:24:57 +0100
Subject: [PATCH 1/2] Do not use SIGNAL_SET_INITIAL in Signaling messages

Use client's configured initialLogSyncInterval instead.

Signed-off-by: Marcin Miklas <marcin.mik...@harman.com>
---
 port.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/port.c b/port.c
index da7c327..959db8b 100644
--- a/port.c
+++ b/port.c
@@ -1203,7 +1203,7 @@ static void port_synchronize(struct port *p,
 			p->logPdelayReqInterval = p->logMinPdelayReqInterval;
 			p->logSyncInterval = p->initialLogSyncInterval;
 			port_tx_interval_request(p, SIGNAL_NO_CHANGE,
-						 SIGNAL_SET_INITIAL,
+						 p->logSyncInterval,
 						 SIGNAL_NO_CHANGE);
 		}
 		break;
-- 
2.25.1

_______________________________________________
Linuxptp-users mailing list
Linuxptp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-users

Reply via email to