clock: Add port details. Add state of the port to the output. It helps to identify the port state if the transition message is no longer available. In HSR/PRP mode there is more than one port involved. The output may look like | ptp4l[265.598]: master offset -1366 s2 freq +7242 path delay 413 1-SLAVE 2-PASSIVE_SLAVE Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/clock.c b/clock.c index af82f21..348ff94 100644 --- a/clock.c +++ b/clock.c
@@ -2091,6 +2091,22 @@ return 0; } +static char *get_port_states(struct clock *c) +{ + static char buffer[128]; + struct port *piter; + int len = 0; + + LIST_FOREACH(piter, &c->ports, list) { + enum port_state ps = port_state(piter); + + len += snprintf(buffer + len, sizeof(buffer) - len, + " %d-%s", + port_number(piter), ps_str[ps]); + } + return buffer; +} + enum servo_state clock_synchronize(struct clock *c, tmv_t ingress, tmv_t origin) { enum servo_state state = SERVO_UNLOCKED; @@ -2178,9 +2194,10 @@ clock_stats_update(&c->stats, tmv_dbl(c->master_offset), adj); } else { pr_info("master offset %10" PRId64 " s%d freq %+7.0f " - "path delay %9" PRId64, + "path delay %9" PRId64 " %s", tmv_to_nanoseconds(c->master_offset), state, adj, - tmv_to_nanoseconds(c->path_delay)); + tmv_to_nanoseconds(c->path_delay), + get_port_states(c)); } clock_notify_event(c, NOTIFY_TIME_SYNC);