On Mon, May 24, 2021 at 11:24:47AM +0200, Miroslav Lichvar wrote:
> Is there something else that is not already covered by the
> clock_update_time_properties() call from port.c?

Let's see...

        void clock_update_time_properties(struct clock *c, struct 
timePropertiesDS tds)
        {
                c->tds = tds;
        }

That is just the TDS.  The other method has more...

        static void clock_update_slave(struct clock *c)
                c->cur.stepsRemoved            = 1 + 
c->best->dataset.stepsRemoved;

This could change if the network topology changes.

                pds->parentPortIdentity        = c->best->dataset.sender;

Ditto.

                pds->grandmasterIdentity       = 
msg->announce.grandmasterIdentity;

I guess this won't change, but

                pds->grandmasterClockQuality   = 
msg->announce.grandmasterClockQuality;
                pds->grandmasterPriority1      = 
msg->announce.grandmasterPriority1;
                pds->grandmasterPriority2      = 
msg->announce.grandmasterPriority2;

these three could change, even if the GM remains the same.

                c->tds.currentUtcOffset        = msg->announce.currentUtcOffset;
                c->tds.flags                   = msg->header.flagField[1];
                c->tds.timeSource              = msg->announce.timeSource;

                if ((c->tds.flags & UTC_OFF_VALID && c->tds.flags & 
TIME_TRACEABLE) ||
                    (c->tds.currentUtcOffset > c->utc_offset)) {
                        pr_info("updating UTC offset to %d", 
c->tds.currentUtcOffset);
                        c->utc_offset = c->tds.currentUtcOffset;
This update only happens here and not in clock_update_time_properties().
                }

Thanks,
Richard


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

Reply via email to