From ec448dda962b016208735a3dab41d166f972f3c0 Mon Sep 17 00:00:00 2001
From: Adam Wujek <adam.wujek@cern.ch>
Date: Tue, 23 Jul 2019 11:48:50 +0200
Subject: [PATCH] userspace/snmp: WIP add HA related changes to
 wrsPtpInstanceTable

Signed-off-by: Adam Wujek <adam.wujek@cern.ch>
---
 userspace/snmpd/WR-SWITCH-MIB.txt     | 247 ++++++++++++++++++--------
 userspace/snmpd/wrsPtpInstanceTable.c |  74 ++++++--
 userspace/snmpd/wrsPtpInstanceTable.h |  23 ++-
 3 files changed, 250 insertions(+), 94 deletions(-)

diff --git a/userspace/snmpd/WR-SWITCH-MIB.txt b/userspace/snmpd/WR-SWITCH-MIB.txt
index fbb37d743..92c485085 100644
--- a/userspace/snmpd/WR-SWITCH-MIB.txt
+++ b/userspace/snmpd/WR-SWITCH-MIB.txt
@@ -1175,7 +1175,7 @@ wrsStartCntLdap OBJECT-TYPE
     STATUS         current
     DESCRIPTION
             "Number of LDAP daemon starts"
-    ::= { wrsStartCntGroup 9 }
+    ::= { wrsStartCntGroup 10 }
 
 -- wrsSpllState (.7.3)
 wrsSpllState            OBJECT IDENTIFIER ::= { wrsExpertStatus 3 }
@@ -2615,7 +2615,7 @@ wrsPstatsHCNICTXFrames OBJECT-TYPE
 
 -- wrsPtpInstanceTable (.7.8)
 wrsPtpInstanceTable OBJECT-TYPE
-    SYNTAX      SEQUENCE OF wrsPtpInstanceEntry
+    SYNTAX      SEQUENCE OF WrsPtpInstanceEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
@@ -2633,22 +2633,35 @@ wrsPtpInstanceEntry OBJECT-TYPE
 
 WrsPtpInstanceEntry ::=
     SEQUENCE {
-        wrsPtpInstancePortIndex          Unsigned32,
-        wrsPtpInstanceOnPortIndex        Unsigned32,
-        wrsPtpInstanceName               DisplayString,
-        wrsPtpInstancePort               INTEGER,
-        wrsPtpInstancePortInstance       INTEGER,
-        wrsPtpInstancePortName           DisplayString,
-        wrsPtpInstanceState              INTEGER,
-        wrsPtpInstanceStateNext          INTEGER,
-        wrsPtpInstanceRole               INTEGER,
-        wrsPtpInstanceMechanism          INTEGER,
-        wrsPtpInstanceProto              INTEGER,
-        wrsPtpInstanceExt                INTEGER,
-        wrsPtpInstancePeerMac            PhysAddress,
-        wrsPtpInstancePeerVid            INTEGER,
-        wrsPtpInstanceVlanNum            INTEGER,
-        wrsPtpInstanceVlanListStr        INTEGER,
+        wrsPtpInstancePortIndex         Unsigned32,
+        wrsPtpInstanceOnPortIndex       Unsigned32,
+        wrsPtpInstanceName              DisplayString,
+        wrsPtpInstancePort              INTEGER,
+        wrsPtpInstancePortInstance      INTEGER,
+        wrsPtpInstancePortName          DisplayString,
+        wrsPtpInstanceState             INTEGER,
+        wrsPtpInstanceMasterOnly        INTEGER,
+        wrsPtpInstanceExtPortCfgDesSt   INTEGER,
+        wrsPtpInstanceMechanism         INTEGER,
+        wrsPtpInstanceProfile           INTEGER,
+        wrsPtpInstanceExtension         INTEGER,
+        wrsPtpInstanceAsymEnabled       INTEGER,
+        wrsPtpInstanceAsymConstAsym     INTEGER,
+        wrsPtpInstanceAsymScDelayCoef   Counter64,
+        wrsPtpInstanceAsymScDelayCoefHR DisplayString,
+        wrsPtpInstanceTSCorrEgressLat   Counter64,
+        wrsPtpInstanceTSCorrEgressLatPS Counter64,
+        wrsPtpInstanceTSCorrIngLat      Counter64,
+        wrsPtpInstanceTSCorrIngLatPS    Counter64,
+        wrsPtpInstanceTSCorrSemistLat   Counter64,
+        wrsPtpInstanceTSCorrSemistLatPS Counter64,
+        wrsPtpInstancePtpSupport        INTEGER,
+        wrsPtpInstanceExtEnabled        INTEGER,
+        wrsPtpInstanceProtoDetectState  INTEGER,
+        wrsPtpInstancePeerMac           PhysAddress,
+        wrsPtpInstancePeerVid           INTEGER,
+        wrsPtpInstanceVlanNum           INTEGER,
+        wrsPtpInstanceVlanListStr       DisplayString --check--
     }
 
 wrsPtpInstancePortIndex OBJECT-TYPE
@@ -2736,124 +2749,214 @@ wrsPtpInstanceState OBJECT-TYPE
             "Name of instance"
     ::= { wrsPtpInstanceEntry 7 }
 
-wrsPtpInstanceStateNext OBJECT-TYPE
+wrsPtpInstanceMasterOnly  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        initializing(1),
-                        faulty(2),
-                        disabled(3),
-                        listening(4),
-                        preMaster(5),
-                        master(6),
-                        passive(7),
-                        uncalibrated(8),
-                        slave(9),
-                        wrsPresent(100),
-                        wrsSLock(101),
-                        wrsMLock(102),
-                        wrsLocked(103),
-                        wrsCalibration(104),
-                        wrsCalibrated(105),
-                        wrsRespCalibReq(106),
-                        wrsWrLinkOn(107),
-                        wrPortCalibration0(108),
-                        wrPortCalibration1(109),
-                        wrPortCalibration2(110),
-                        wrPortCalibration3(111),
-                        wrPortCalibration4(112),
-                        wrPortCalibration5(113),
-                        wrPortCalibration6(114),
-                        wrPortCalibration7(115),
-                        wrPortCalibration8(116),
-                        wrsAbscal(117)
+                        x(1)
+                        --????--
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "Name of instance"
+            "????"
     ::= { wrsPtpInstanceEntry 8 }
 
-wrsPtpInstanceRole OBJECT-TYPE
+wrsPtpInstanceExtPortCfgDesSt  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        auto(1),
-                        master(2),
-                        slave(3)
+                        --????--
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "Role of instance"
+            "????"
     ::= { wrsPtpInstanceEntry 9 }
 
-wrsPtpInstanceMechanism OBJECT-TYPE
+wrsPtpInstanceMechanism  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        e2e(1),
-                        p2p(2),
+                        --????--
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "Mechanism used by an instance"
+            "????"
     ::= { wrsPtpInstanceEntry 10 }
 
-wrsPtpInstanceProto OBJECT-TYPE
+wrsPtpInstanceProfile  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        raw(1),
-                        udp(2),
-                        vlan(3),
+                        --????--
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "Protocol used by an instance"
+            "????"
     ::= { wrsPtpInstanceEntry 11 }
 
-wrsPtpInstanceExt OBJECT-TYPE
+wrsPtpInstanceExtension  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        none(1),
-                        wr(2),
+                        --????--
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "Extension used by an instance"
+            "????"
     ::= { wrsPtpInstanceEntry 12 }
 
+wrsPtpInstanceAsymEnabled  OBJECT-TYPE
+    SYNTAX         INTEGER {
+                        na(0),
+                        --????--
+    }
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 13 }
+
+wrsPtpInstanceAsymConstAsym  OBJECT-TYPE
+    SYNTAX         INTEGER {
+                        na(0),
+                        x(1)
+                        --????--
+    }
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 14 }
+
+wrsPtpInstanceAsymScDelayCoef OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 15 }
+
+wrsPtpInstanceAsymScDelayCoefHR OBJECT-TYPE
+    SYNTAX                     DisplayString --size--
+    MAX-ACCESS                 read-only
+    STATUS                     current
+    DESCRIPTION
+        "The software version, as returned from 'git describe' at build time"
+    ::= { wrsPtpInstanceEntry 16 }
+
+wrsPtpInstanceTSCorrEgressLat OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 17 }
+
+wrsPtpInstanceTSCorrEgressLatPS OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 18 }
+
+wrsPtpInstanceTSCorrIngLat OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 19 }
+
+wrsPtpInstanceTSCorrIngLatPS OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 20 }
+
+wrsPtpInstanceTSCorrSemistLat OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 21 }
+
+wrsPtpInstanceTSCorrSemistLatPS OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 22 }
+
+wrsPtpInstancePtpSupport  OBJECT-TYPE
+    SYNTAX         INTEGER {
+                        na(0),
+                        --????--
+    }
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 23 }
+
+wrsPtpInstanceExtEnabled  OBJECT-TYPE
+    SYNTAX         INTEGER {
+                        na(0),
+                        --????--
+    }
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 24 }
+
+wrsPtpInstanceProtoDetectState  OBJECT-TYPE
+    SYNTAX         INTEGER {
+                        na(0),
+                        --????--
+    }
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "????"
+    ::= { wrsPtpInstanceEntry 25 }
+
+
 wrsPtpInstancePeerMac  OBJECT-TYPE
     SYNTAX             PhysAddress
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
             "VID used by an instance"
-    ::= { wrsPtpInstanceEntry 13 }
+    ::= { wrsPtpInstanceEntry 26 }
 
 wrsPtpInstancePeerVid  OBJECT-TYPE
-    SYNTAX             Integer
+    SYNTAX             Integer32
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
             "VID used by an instance"
-    ::= { wrsPtpInstanceEntry 14 }
+    ::= { wrsPtpInstanceEntry 27 }
 
 wrsPtpInstanceVlanNum  OBJECT-TYPE
-    SYNTAX             Integer
+    SYNTAX             Integer32
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
             "Number of VLANs used by an instance"
-    ::= { wrsPtpInstanceEntry 15 }
+    ::= { wrsPtpInstanceEntry 28 }
 
 wrsPtpInstanceVlanListStr  OBJECT-TYPE
-    SYNTAX             Integer
+    SYNTAX             DisplayString --size?--
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
             "Coma separated list of VLANs used by an instance"
-    ::= { wrsPtpInstanceEntry 16 }
+    ::= { wrsPtpInstanceEntry 29 }
 
 --wrsNetworking
 --Configuration
diff --git a/userspace/snmpd/wrsPtpInstanceTable.c b/userspace/snmpd/wrsPtpInstanceTable.c
index ec71d6483..b014da608 100644
--- a/userspace/snmpd/wrsPtpInstanceTable.c
+++ b/userspace/snmpd/wrsPtpInstanceTable.c
@@ -3,25 +3,46 @@
 #include "wrsPtpInstanceTable.h"
 
 struct wrsPtpInstanceTable_s wrsPtpInstanceTable_array[PP_MAX_LINKS];
+// global:
+// defaultDS_t:
+// --externalPortConfigurationEnabled
+// --slaveOnly
+
 
 static struct pickinfo wrsPtpInstanceTable_pickinfo[] = {
 	/* Warning: strings are a special case for snmp format */
-	FIELD(wrsPtpInstanceTable_s, ASN_UNSIGNED, wrsPtpInstancePortIndex), /* not reported */
-	FIELD(wrsPtpInstanceTable_s, ASN_UNSIGNED, wrsPtpInstanceOnPortIndex), /* not reported */
+	FIELD(wrsPtpInstanceTable_s, ASN_UNSIGNED,  wrsPtpInstancePortIndex), /* not reported */
+	FIELD(wrsPtpInstanceTable_s, ASN_UNSIGNED,  wrsPtpInstanceOnPortIndex), /* not reported */
 	FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstanceName),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstancePort),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstancePortInstance),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstancePort),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstancePortInstance),
 	FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstancePortName),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceState),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceStateNext),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceRole),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceMechanism),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceProto),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceExt),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceState),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceMasterOnly),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceExtPortCfgDesSt),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceMechanism),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceProfile),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceExtension),
+
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceAsymEnabled),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceAsymConstAsym),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceAsymScDelayCoef),
+	FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstanceAsymScDelayCoefHR),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceTSCorrEgressLat),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceTSCorrEgressLatPS),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceTSCorrIngLat),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceTSCorrIngLatPS),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceTSCorrSemistLat),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceTSCorrSemistLatPS),
+
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstancePtpSupport),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceExtEnabled),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceProtoDetectState),
 	FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstancePeerMac),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstancePeerVid),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceVlanNum),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstancePeerVid),
+	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceVlanNum),
 	FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstanceVlanListStr),
+
 };
 
 static inline struct hal_port_state *pp_wrs_lookup_port(char *name)
@@ -44,6 +65,7 @@ time_t wrsPtpInstanceTable_data_fill(unsigned int *n_rows)
 	struct wrsPtpInstanceTable_s *i_a;
 	struct pp_instance *ppsi_i;
 	char *tmp_name;
+	portDS_t *portDS_i;
 	struct hal_port_state *p;
 	int phys_port;
 	int last_port = 0;
@@ -117,11 +139,29 @@ time_t wrsPtpInstanceTable_data_fill(unsigned int *n_rows)
 			i_a[i].wrsPtpInstancePortInstance = instance_on_port;
 
 			i_a[i].wrsPtpInstanceState = ppsi_i->state;
-			i_a[i].wrsPtpInstanceStateNext = ppsi_i->next_state;
-			i_a[i].wrsPtpInstanceRole = ppsi_i->role + 1;
-			i_a[i].wrsPtpInstanceMechanism = ppsi_i->mech + 1;
-			i_a[i].wrsPtpInstanceProto = ppsi_i->proto + 1;
-			i_a[i].wrsPtpInstanceExt = ppsi_i->cfg.ext + 1;
+			/* follow portDS */
+			portDS_i = (portDS_t *) wrs_shm_follow(ppsi_head,
+							       ppsi_i->portDS);
+			if (portDS_i)
+				i_a[i].wrsPtpInstanceMasterOnly = portDS_i->masterOnly;
+
+			i_a[i].wrsPtpInstanceExtPortCfgDesSt = ppsi_i->externalPortConfigurationPortDS.desiredState;
+			i_a[i].wrsPtpInstanceMechanism = ppsi_i->delayMechanism;
+			i_a[i].wrsPtpInstanceProfile = ppsi_i->cfg.profile;
+			i_a[i].wrsPtpInstanceExtension = ppsi_i->protocol_extension;
+			i_a[i].wrsPtpInstanceAsymEnabled = ppsi_i->asymmetryCorrectionPortDS.enable + 1;
+			i_a[i].wrsPtpInstanceAsymConstAsym = ppsi_i->asymmetryCorrectionPortDS.constantAsymmetry;
+			i_a[i].wrsPtpInstanceAsymScDelayCoef = ppsi_i->asymmetryCorrectionPortDS.scaledDelayCoefficient;
+			//i_a[i].wrsPtpInstanceAsymScDelayCoefHR = ppsi_i->asymmetryCorrectionPortDS.scaledDelayCoefficient (string)
+			i_a[i].wrsPtpInstanceTSCorrEgressLat = ppsi_i->timestampCorrectionPortDS.egressLatency;
+// 			i_a[i].wrsPtpInstanceTSCorrEgressLatPS = ppsi_i->timestampCorrectionPortDS.egressLatency (ps)
+			i_a[i].wrsPtpInstanceTSCorrIngLat = ppsi_i->timestampCorrectionPortDS.ingressLatency;
+// 			i_a[i].wrsPtpInstanceTSCorrIngLatPS = ppsi_i->timestampCorrectionPortDS.ingressLatency (ps)
+			i_a[i].wrsPtpInstanceTSCorrSemistLat = ppsi_i->timestampCorrectionPortDS.semistaticLatency;
+// 			i_a[i].wrsPtpInstanceTSCorrSemistLatPS = ppsi_i->timestampCorrectionPortDS.semistaticLatency (ps)(bitslide)
+			i_a[i].wrsPtpInstancePtpSupport = ppsi_i->ptp_support;
+			i_a[i].wrsPtpInstanceExtEnabled = ppsi_i->extState;
+			i_a[i].wrsPtpInstanceProtoDetectState = ppsi_i->pdstate;
 
 			memcpy(i_a[i].wrsPtpInstancePeerMac, ppsi_i->peer, ETH_ALEN);
 			i_a[i].wrsPtpInstancePeerVid = ppsi_i->peer_vid;
diff --git a/userspace/snmpd/wrsPtpInstanceTable.h b/userspace/snmpd/wrsPtpInstanceTable.h
index 4e64311cd..5d65afd72 100644
--- a/userspace/snmpd/wrsPtpInstanceTable.h
+++ b/userspace/snmpd/wrsPtpInstanceTable.h
@@ -19,11 +19,24 @@ struct wrsPtpInstanceTable_s {
 	int wrsPtpInstancePortInstance; /* serial of instance running on a given port  */
 	char wrsPtpInstancePortName[16];/* port name on which ptp instance is running (wriX) */
 	int wrsPtpInstanceState;
-	int wrsPtpInstanceStateNext;
-	int wrsPtpInstanceRole;
-	int wrsPtpInstanceMechanism;
-	int wrsPtpInstanceProto;
-	int wrsPtpInstanceExt;
+	int wrsPtpInstanceMasterOnly;
+	int wrsPtpInstanceExtPortCfgDesSt;
+	int wrsPtpInstanceMechanism; /* ENDelayMechanism */
+	int wrsPtpInstanceProfile;
+	int wrsPtpInstanceExtension;
+	int wrsPtpInstanceAsymEnabled;
+	int wrsPtpInstanceAsymConstAsym;
+	int wrsPtpInstanceAsymScDelayCoef;
+	char wrsPtpInstanceAsymScDelayCoefHR[64];
+	int64_t wrsPtpInstanceTSCorrEgressLat;
+	int64_t wrsPtpInstanceTSCorrEgressLatPS;
+	int64_t wrsPtpInstanceTSCorrIngLat;
+	int64_t wrsPtpInstanceTSCorrIngLatPS;
+	int64_t wrsPtpInstanceTSCorrSemistLat;
+	int64_t wrsPtpInstanceTSCorrSemistLatPS;
+	int wrsPtpInstancePtpSupport;
+	int wrsPtpInstanceExtEnabled;
+	int wrsPtpInstanceProtoDetectState;
 	char wrsPtpInstancePeerMac[ETH_ALEN];
 	int wrsPtpInstancePeerVid;
 	int wrsPtpInstanceVlanNum;
-- 
GitLab