diff --git a/userspace/snmpd/WR-SWITCH-MIB.txt b/userspace/snmpd/WR-SWITCH-MIB.txt
index 09a6a7bdaacfcdd740c7a4515110b50ad9e597d5..8508f180a9dc107861ad8b5c7ea1fe00ad6ea17b 100644
--- a/userspace/snmpd/WR-SWITCH-MIB.txt
+++ b/userspace/snmpd/WR-SWITCH-MIB.txt
@@ -2646,7 +2646,8 @@ WrsPtpInstanceEntry ::=
         wrsPtpInstanceProfile           INTEGER,
         wrsPtpInstanceExtension         INTEGER,
         wrsPtpInstanceAsymEnabled       INTEGER,
-        wrsPtpInstanceAsymConstAsym     INTEGER,
+        wrsPtpInstanceAsymConstAsym     Counter64,
+        wrsPtpInstanceAsymConstAsymPS   Counter64,
         wrsPtpInstanceAsymScDelayCoef   Counter64,
         wrsPtpInstanceAsymScDelayCoefHR DisplayString,
         wrsPtpInstanceTSCorrEgressLat   Counter64,
@@ -2655,13 +2656,12 @@ WrsPtpInstanceEntry ::=
         wrsPtpInstanceTSCorrIngLatPS    Counter64,
         wrsPtpInstanceTSCorrSemistLat   Counter64,
         wrsPtpInstanceTSCorrSemistLatPS Counter64,
-        wrsPtpInstancePtpSupport        INTEGER,
-        wrsPtpInstanceExtEnabled        INTEGER,
         wrsPtpInstanceProtoDetectState  INTEGER,
+        wrsPtpInstanceExtState          INTEGER,
         wrsPtpInstancePeerMac           PhysAddress,
         wrsPtpInstancePeerVid           INTEGER,
         wrsPtpInstanceVlanNum           INTEGER,
-        wrsPtpInstanceVlanListStr       DisplayString --check--
+        wrsPtpInstanceVlanListStr       DisplayString
     }
 
 wrsPtpInstancePortIndex OBJECT-TYPE
@@ -2723,25 +2723,7 @@ wrsPtpInstanceState OBJECT-TYPE
                         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)
+                        slave(9)
     }
     MAX-ACCESS     read-only
     STATUS         current
@@ -2752,185 +2734,194 @@ wrsPtpInstanceState OBJECT-TYPE
 wrsPtpInstanceMasterOnly  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        x(1)
-                        --????--
+                        disabled(1),
+                        enabled(2)
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "MasterOnly feature enabled/disabled"
     ::= { wrsPtpInstanceEntry 8 }
 
 wrsPtpInstanceExtPortCfgDesSt  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        x(1)
-                        --????--
+                        initializing(1),
+                        faulty(2),
+                        disabled(3),
+                        listening(4),
+                        preMaster(5),
+                        master(6),
+                        passive(7),
+                        uncalibrated(8),
+                        slave(9)
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "DesiredState to be used if/when externalPortConfiguration feature is enabled"
     ::= { wrsPtpInstanceEntry 9 }
 
 wrsPtpInstanceMechanism  OBJECT-TYPE
-    SYNTAX         INTEGER {
+    SYNTAX         INTEGER { --- see ppsi/include/ppsi/ieee1588_types.h
                         na(0),
-                        x(1)
-                        --????--
+                        e2e(1),
+                        p2p(2),
+                        commonP2P(3),
+                        special(4),
+                        noMechanism(254)
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "Delay Mechanism type used by PTP Instance"
     ::= { wrsPtpInstanceEntry 10 }
 
 wrsPtpInstanceProfile  OBJECT-TYPE
-    SYNTAX         INTEGER {
+    SYNTAX         INTEGER {              -- ppsi/include/ppsi/ppsi.h
                         na(0),
-                        x(1)
-                        --????--
+                        defaultPTP(1),    -- PPSI_PROFILE_PTP
+                        whiteRabbit(2),   -- PPSI_PROFILE_WR
+                        highAccuracy(3),  -- PPSI_PROFILE_HA
+                        custom(4)         -- PPSI_PROFILE_CUSTOM
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "Profile/Extension configured on a PTP Instance"
     ::= { wrsPtpInstanceEntry 11 }
 
 wrsPtpInstanceExtension  OBJECT-TYPE
-    SYNTAX         INTEGER {
+    SYNTAX         INTEGER {               --ppsi/include/ppsi/ppsi.h
                         na(0),
-                        x(1)
-                        --????--
+                        none(1),           -- PPSI_EXT_NONE
+                        whiteRabbit(2),    -- PPSI_EXT_WR
+                        l1Sync(3)          -- PPSI_EXT_L1S
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "Extension used on the PTP Instance"
     ::= { wrsPtpInstanceEntry 12 }
 
 wrsPtpInstanceAsymEnabled  OBJECT-TYPE
     SYNTAX         INTEGER {
                         na(0),
-                        x(1)
-                        --????--
+                        disabled(1),
+                        enabled(2)
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "Asymmetry Corrections enabled/disabled on the PTP Instance"
     ::= { wrsPtpInstanceEntry 13 }
 
 wrsPtpInstanceAsymConstAsym  OBJECT-TYPE
-    SYNTAX         INTEGER {
-                        na(0),
-                        x(1)
-                        --????--
-    }
+    SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "Constant Asymmetry in scaled nanoseconds"
     ::= { wrsPtpInstanceEntry 14 }
 
-wrsPtpInstanceAsymScDelayCoef OBJECT-TYPE
+wrsPtpInstanceAsymConstAsymPS  OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "Constant Asymmetry in picoseconds"
     ::= { wrsPtpInstanceEntry 15 }
 
+wrsPtpInstanceAsymScDelayCoef OBJECT-TYPE
+    SYNTAX         Counter64
+    MAX-ACCESS     read-only
+    STATUS         current
+    DESCRIPTION
+            "Scaled Relative Delay Coefficient"
+    ::= { wrsPtpInstanceEntry 16 }
+
 wrsPtpInstanceAsymScDelayCoefHR OBJECT-TYPE
-    SYNTAX                     DisplayString --size--
+    SYNTAX                     DisplayString (SIZE (0..64))
     MAX-ACCESS                 read-only
     STATUS                     current
     DESCRIPTION
-        "The software version, as returned from 'git describe' at build time"
-    ::= { wrsPtpInstanceEntry 16 }
+        "Relative Delay Coefficient in a floating form"
+    ::= { wrsPtpInstanceEntry 17 }
 
 wrsPtpInstanceTSCorrEgressLat OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
-    ::= { wrsPtpInstanceEntry 17 }
+            "Egress Latency (Tx Fixed Delay) in scaled nanoseconds"
+    ::= { wrsPtpInstanceEntry 18 }
 
 wrsPtpInstanceTSCorrEgressLatPS OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
-    ::= { wrsPtpInstanceEntry 18 }
+            "Egress Latency (Tx Fixed Delay) in picoseconds"
+    ::= { wrsPtpInstanceEntry 19 }
 
 wrsPtpInstanceTSCorrIngLat OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
-    ::= { wrsPtpInstanceEntry 19 }
+            "Ingress Latency (Rx Fixed Delay) in scaled nanoseconds"
+    ::= { wrsPtpInstanceEntry 20 }
 
 wrsPtpInstanceTSCorrIngLatPS OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
-    ::= { wrsPtpInstanceEntry 20 }
+            "Ingress Latency (Rx Fixed Delay) in picoseconds"
+    ::= { wrsPtpInstanceEntry 21 }
 
 wrsPtpInstanceTSCorrSemistLat OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
-    ::= { wrsPtpInstanceEntry 21 }
+            "Semi-static latency (bitslide) in scaled nanoseconds"
+    ::= { wrsPtpInstanceEntry 22 }
 
 wrsPtpInstanceTSCorrSemistLatPS OBJECT-TYPE
     SYNTAX         Counter64
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
-    ::= { wrsPtpInstanceEntry 22 }
-
-wrsPtpInstancePtpSupport  OBJECT-TYPE
-    SYNTAX         INTEGER {
-                        na(0),
-                        x(1)
-                        --????--
-    }
-    MAX-ACCESS     read-only
-    STATUS         current
-    DESCRIPTION
-            "????"
+            "Semi-static latency (bitslide) in picoseconds"
     ::= { wrsPtpInstanceEntry 23 }
 
-wrsPtpInstanceExtEnabled  OBJECT-TYPE
-    SYNTAX         INTEGER {
+wrsPtpInstanceProtoDetectState  OBJECT-TYPE
+    SYNTAX         INTEGER {             -- ppsi/include/ppsi/pp-instance.h
                         na(0),
-                        x(1)
-                        --????--
+                        none(1),         -- PP_PDSTATE_NONE
+                        pWaitMsg(2),     -- PP_PDSTATE_WAIT_MSG
+                        pDetection(3),   -- PP_PDSTATE_PDETECTION
+                        pDetected(4),    -- PP_PDSTATE_PDETECTED
+                        pFailure(5)      -- PP_PDSTATE_FAILURE
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "Protocol detection state"
     ::= { wrsPtpInstanceEntry 24 }
 
-wrsPtpInstanceProtoDetectState  OBJECT-TYPE
-    SYNTAX         INTEGER {
+    wrsPtpInstanceExtState  OBJECT-TYPE
+    SYNTAX         INTEGER {         -- ppsi/include/ppsi/pp-instance.h
                         na(0),
-                        x(1)
-                        --????--
+                        disabled(1), -- PP_EXSTATE_DISABLE
+                        active(2),   -- PP_EXSTATE_ACTIVE
+                        ptp(3)       -- PP_EXSTATE_PTP
     }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
-            "????"
+            "State of PTP extension (more than one are allowed per 1 physical port)"
     ::= { wrsPtpInstanceEntry 25 }
 
 
@@ -2939,7 +2930,7 @@ wrsPtpInstancePeerMac  OBJECT-TYPE
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
-            "VID used by an instance"
+            "MAC used by an instance"
     ::= { wrsPtpInstanceEntry 26 }
 
 wrsPtpInstancePeerVid  OBJECT-TYPE
@@ -2959,7 +2950,7 @@ wrsPtpInstanceVlanNum  OBJECT-TYPE
     ::= { wrsPtpInstanceEntry 28 }
 
 wrsPtpInstanceVlanListStr  OBJECT-TYPE
-    SYNTAX             DisplayString --size?--
+    SYNTAX             DisplayString (SIZE (0..160)) --32*5-
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
diff --git a/userspace/snmpd/wrsPtpInstanceTable.c b/userspace/snmpd/wrsPtpInstanceTable.c
index b014da6084875252d7d553895f22b7fee5468499..69e0b4229cfe56c12f10723b259f90aeaca9c3ae 100644
--- a/userspace/snmpd/wrsPtpInstanceTable.c
+++ b/userspace/snmpd/wrsPtpInstanceTable.c
@@ -25,7 +25,8 @@ static struct pickinfo wrsPtpInstanceTable_pickinfo[] = {
 	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceExtension),
 
 	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceAsymEnabled),
-	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceAsymConstAsym),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceAsymConstAsym),
+	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceAsymConstAsymPS),
 	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceAsymScDelayCoef),
 	FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstanceAsymScDelayCoefHR),
 	FIELD(wrsPtpInstanceTable_s, ASN_COUNTER64, wrsPtpInstanceTSCorrEgressLat),
@@ -35,8 +36,7 @@ static struct pickinfo wrsPtpInstanceTable_pickinfo[] = {
 	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,   wrsPtpInstanceExtState),
 	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstanceProtoDetectState),
 	FIELD(wrsPtpInstanceTable_s, ASN_OCTET_STR, wrsPtpInstancePeerMac),
 	FIELD(wrsPtpInstanceTable_s, ASN_INTEGER,   wrsPtpInstancePeerVid),
@@ -72,6 +72,7 @@ time_t wrsPtpInstanceTable_data_fill(unsigned int *n_rows)
 	int instance_on_port = 0;
 	char *tmpstr_p;
 	int vlan_i;
+        float tmp_f;
 
 	/* number of rows does not change for wrsPortStatusTable */
 	if (n_rows)
@@ -143,25 +144,31 @@ time_t wrsPtpInstanceTable_data_fill(unsigned int *n_rows)
 			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].wrsPtpInstanceMasterOnly = portDS_i->masterOnly ? 2 : 1 ;
+			else 
+				i_a[i].wrsPtpInstanceMasterOnly = 0;
 
 			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].wrsPtpInstanceProfile = ppsi_i->cfg.profile + 1;
+			i_a[i].wrsPtpInstanceExtension = ppsi_i->protocol_extension+1;
 			i_a[i].wrsPtpInstanceAsymEnabled = ppsi_i->asymmetryCorrectionPortDS.enable + 1;
 			i_a[i].wrsPtpInstanceAsymConstAsym = ppsi_i->asymmetryCorrectionPortDS.constantAsymmetry;
+			i_a[i].wrsPtpInstanceAsymConstAsymPS = (int64_t)((((float)ppsi_i->asymmetryCorrectionPortDS.constantAsymmetry)/(1<<16))*1000);
 			i_a[i].wrsPtpInstanceAsymScDelayCoef = ppsi_i->asymmetryCorrectionPortDS.scaledDelayCoefficient;
-			//i_a[i].wrsPtpInstanceAsymScDelayCoefHR = ppsi_i->asymmetryCorrectionPortDS.scaledDelayCoefficient (string)
+			tmpstr_p = i_a[i].wrsPtpInstanceAsymScDelayCoefHR;
+			tmp_f    = ((float)ppsi_i->asymmetryCorrectionPortDS.scaledDelayCoefficient)/((1<<62));
+			snprintf(tmpstr_p, 64, "%f,", tmp_f);
+			
 			i_a[i].wrsPtpInstanceTSCorrEgressLat = ppsi_i->timestampCorrectionPortDS.egressLatency;
-// 			i_a[i].wrsPtpInstanceTSCorrEgressLatPS = ppsi_i->timestampCorrectionPortDS.egressLatency (ps)
+			i_a[i].wrsPtpInstanceTSCorrEgressLatPS =(int64_t)((((float)ppsi_i->timestampCorrectionPortDS.egressLatency)/(1<<16))*1000);
 			i_a[i].wrsPtpInstanceTSCorrIngLat = ppsi_i->timestampCorrectionPortDS.ingressLatency;
-// 			i_a[i].wrsPtpInstanceTSCorrIngLatPS = ppsi_i->timestampCorrectionPortDS.ingressLatency (ps)
+			i_a[i].wrsPtpInstanceTSCorrIngLatPS = (int64_t)((((float)ppsi_i->timestampCorrectionPortDS.ingressLatency)/(1<<16))*1000);
 			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;
+			i_a[i].wrsPtpInstanceTSCorrSemistLatPS =(int64_t)((((float)ppsi_i->timestampCorrectionPortDS.semistaticLatency)/(1<<16))*1000);
+
+			i_a[i].wrsPtpInstanceProtoDetectState = ppsi_i->pdstate+1;
+			i_a[i].wrsPtpInstanceExtState = ppsi_i->extState+1;
 
 			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 5d65afd7204db7454783847d3ed2684cc1cd01be..f5b106fe6cdeb50b12f792c6c8e5bf8ee8dce333 100644
--- a/userspace/snmpd/wrsPtpInstanceTable.h
+++ b/userspace/snmpd/wrsPtpInstanceTable.h
@@ -20,13 +20,15 @@ struct wrsPtpInstanceTable_s {
 	char wrsPtpInstancePortName[16];/* port name on which ptp instance is running (wriX) */
 	int wrsPtpInstanceState;
 	int wrsPtpInstanceMasterOnly;
+	int wrsPtpInstanceExtPortCfg;
 	int wrsPtpInstanceExtPortCfgDesSt;
 	int wrsPtpInstanceMechanism; /* ENDelayMechanism */
 	int wrsPtpInstanceProfile;
 	int wrsPtpInstanceExtension;
 	int wrsPtpInstanceAsymEnabled;
-	int wrsPtpInstanceAsymConstAsym;
-	int wrsPtpInstanceAsymScDelayCoef;
+	int64_t wrsPtpInstanceAsymConstAsym;
+	int64_t wrsPtpInstanceAsymConstAsymPS;
+	int64_t wrsPtpInstanceAsymScDelayCoef;
 	char wrsPtpInstanceAsymScDelayCoefHR[64];
 	int64_t wrsPtpInstanceTSCorrEgressLat;
 	int64_t wrsPtpInstanceTSCorrEgressLatPS;
@@ -34,8 +36,7 @@ struct wrsPtpInstanceTable_s {
 	int64_t wrsPtpInstanceTSCorrIngLatPS;
 	int64_t wrsPtpInstanceTSCorrSemistLat;
 	int64_t wrsPtpInstanceTSCorrSemistLatPS;
-	int wrsPtpInstancePtpSupport;
-	int wrsPtpInstanceExtEnabled;
+	int wrsPtpInstanceExtState;
 	int wrsPtpInstanceProtoDetectState;
 	char wrsPtpInstancePeerMac[ETH_ALEN];
 	int wrsPtpInstancePeerVid;