Commit ec448dda authored by Adam Wujek's avatar Adam Wujek 💬 Committed by Grzegorz Daniluk

userspace/snmp: WIP add HA related changes to wrsPtpInstanceTable

Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
parent fb5c53f8
......@@ -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
......@@ -2640,15 +2640,28 @@ WrsPtpInstanceEntry ::=
wrsPtpInstancePortInstance INTEGER,
wrsPtpInstancePortName DisplayString,
wrsPtpInstanceState INTEGER,
wrsPtpInstanceStateNext INTEGER,
wrsPtpInstanceRole INTEGER,
wrsPtpInstanceMasterOnly INTEGER,
wrsPtpInstanceExtPortCfgDesSt INTEGER,
wrsPtpInstanceMechanism INTEGER,
wrsPtpInstanceProto INTEGER,
wrsPtpInstanceExt 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 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
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
......
......@@ -3,6 +3,11 @@
#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 */
......@@ -13,15 +18,31 @@ static struct pickinfo wrsPtpInstanceTable_pickinfo[] = {
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, wrsPtpInstanceMasterOnly),
FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceExtPortCfgDesSt),
FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceMechanism),
FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceProto),
FIELD(wrsPtpInstanceTable_s, ASN_INTEGER, wrsPtpInstanceExt),
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_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;
......
......@@ -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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment