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

Reply via email to