From: Izunna Otiji <izunna.otiji...@renesas.com> Signed-off-by: Izunna Otiji <izunna.otiji...@renesas.com> --- clock.c | 12 ++++++++++++ pmc.c | 5 +++++ pmc_common.c | 3 +++ tlv.h | 1 + 4 files changed, 21 insertions(+)
diff --git a/clock.c b/clock.c index 05b5f31..6d9c97d 100644 --- a/clock.c +++ b/clock.c @@ -462,6 +462,11 @@ static int clock_management_fill_response(struct clock *c, struct port *p, mtd->val = c->local_sync_uncertain; datalen = sizeof(*mtd); break; + case MID_MAX_STEPS_REMOVED_NP: + mtd = (struct management_tlv_datum *) tlv->data; + mtd->val = c->max_steps_removed; + datalen = sizeof(*mtd); + break; default: /* The caller should *not* respond to this message. */ tlv_extra_recycle(extra); @@ -564,6 +569,12 @@ static int clock_management_set(struct clock *c, struct port *p, break; } break; + case MID_MAX_STEPS_REMOVED_NP: + mtd = (struct management_tlv_datum *) tlv->data; + c->max_steps_removed = mtd->val; + *changed = 1; + respond = 1; + break; } if (respond && !clock_management_get_response(c, p, id, req)) pr_err("failed to send management set response"); @@ -1542,6 +1553,7 @@ int clock_manage(struct clock *c, struct port *p, struct ptp_message *msg) case MID_GRANDMASTER_SETTINGS_NP: case MID_SUBSCRIBE_EVENTS_NP: case MID_SYNCHRONIZATION_UNCERTAIN_NP: + case MID_MAX_STEPS_REMOVED_NP: clock_management_send_error(p, msg, MID_NOT_SUPPORTED); break; default: diff --git a/pmc.c b/pmc.c index e218ca4..b498da5 100644 --- a/pmc.c +++ b/pmc.c @@ -426,6 +426,11 @@ static void pmc_show(struct ptp_message *msg, FILE *fp) fprintf(fp, "SYNCHRONIZATION_UNCERTAIN_NP " IFMT "uncertain %hhu", mtd->val); break; + case MID_MAX_STEPS_REMOVED_NP: + mtd = (struct management_tlv_datum *) mgt->data; + fprintf(fp, "MAX_STEPS_REMOVED_NP " + IFMT "maxStepsRemoved %d", mtd->val); + break; case MID_PORT_DATA_SET: p = (struct portDS *) mgt->data; if (p->portState > PS_SLAVE) { diff --git a/pmc_common.c b/pmc_common.c index bc01903..5a93eb4 100644 --- a/pmc_common.c +++ b/pmc_common.c @@ -130,6 +130,7 @@ struct management_id idtab[] = { { "GRANDMASTER_SETTINGS_NP", MID_GRANDMASTER_SETTINGS_NP, do_set_action }, { "SUBSCRIBE_EVENTS_NP", MID_SUBSCRIBE_EVENTS_NP, do_set_action }, { "SYNCHRONIZATION_UNCERTAIN_NP", MID_SYNCHRONIZATION_UNCERTAIN_NP, do_set_action }, + { "MAX_STEPS_REMOVED_NP", MID_MAX_STEPS_REMOVED_NP, do_set_action}, /* Port management ID values */ { "NULL_MANAGEMENT", MID_NULL_MANAGEMENT, null_management }, { "CLOCK_DESCRIPTION", MID_CLOCK_DESCRIPTION, do_get_action }, @@ -198,6 +199,7 @@ static void do_set_action(struct pmc *pmc, int action, int index, char *str) case MID_SLAVE_ONLY: case MID_ANNOUNCE_RECEIPT_TIMEOUT: case MID_MASTER_ONLY: + case MID_MAX_STEPS_REMOVED_NP: cnt = sscanf(str, " %*s %*s %hhu", &mtd.val); if (cnt != 1) { fprintf(stderr, "%s SET needs 1 value\n", @@ -540,6 +542,7 @@ static int pmc_tlv_datalen(struct pmc *pmc, int id) case MID_TIMESCALE_PROPERTIES: case MID_MASTER_ONLY: case MID_SYNCHRONIZATION_UNCERTAIN_NP: + case MID_MAX_STEPS_REMOVED_NP: len += sizeof(struct management_tlv_datum); break; case MID_TIME_STATUS_NP: diff --git a/tlv.h b/tlv.h index 8966696..567a419 100644 --- a/tlv.h +++ b/tlv.h @@ -128,6 +128,7 @@ enum management_action { #define MID_PORT_SERVICE_STATS_NP 0xC007 #define MID_UNICAST_MASTER_TABLE_NP 0xC008 #define MID_PORT_HWCLOCK_NP 0xC009 +#define MID_MAX_STEPS_REMOVED_NP 0xC00A /* Management error ID values */ #define MID_RESPONSE_TOO_BIG 0x0001 -- 2.37.2 _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel