Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
W
White Rabbit Switch - Software
Manage
Activity
Members
Labels
Plan
Issues
85
Issue boards
Milestones
Wiki
Code
Merge requests
4
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Projects
White Rabbit Switch - Software
Commits
9a7bfa6c
Commit
9a7bfa6c
authored
5 years ago
by
Maciej Lipinski
Committed by
Grzegorz Daniluk
5 years ago
Browse files
Options
Downloads
Patches
Plain Diff
SNMP: filled in data of the new PtpInstanceTable
parent
02fb7296
Branches
Branches containing commit
Tags
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
userspace/snmpd/WR-SWITCH-MIB.txt
+81
-90
81 additions, 90 deletions
userspace/snmpd/WR-SWITCH-MIB.txt
userspace/snmpd/wrsPtpInstanceTable.c
+20
-13
20 additions, 13 deletions
userspace/snmpd/wrsPtpInstanceTable.c
userspace/snmpd/wrsPtpInstanceTable.h
+5
-4
5 additions, 4 deletions
userspace/snmpd/wrsPtpInstanceTable.h
with
106 additions
and
107 deletions
userspace/snmpd/WR-SWITCH-MIB.txt
+
81
−
90
View file @
9a7bfa6c
...
...
@@ -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 }
wrsPtpInstanceAsym
ScDelayCoef
OBJECT-TYPE
wrsPtpInstanceAsym
ConstAsymPS
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 1
6
}
"
Relative Delay Coefficient in a floating form
"
::= { wrsPtpInstanceEntry 1
7
}
wrsPtpInstanceTSCorrEgressLat OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"
????
"
::= { wrsPtpInstanceEntry 1
7
}
"
Egress Latency (Tx Fixed Delay) in scaled nanoseconds
"
::= { wrsPtpInstanceEntry 1
8
}
wrsPtpInstanceTSCorrEgressLatPS OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"
????
"
::= { wrsPtpInstanceEntry 1
8
}
"
Egress Latency (Tx Fixed Delay) in picoseconds
"
::= { wrsPtpInstanceEntry 1
9
}
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 2
0
}
"
Ingress Latency (Rx Fixed Delay) in picoseconds
"
::= { wrsPtpInstanceEntry 2
1
}
wrsPtpInstanceTSCorrSemistLat OBJECT-TYPE
SYNTAX Counter64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"
????
"
::= { wrsPtpInstanceEntry 2
1
}
"
Semi-static latency (bitslide) in scaled nanoseconds
"
::= { wrsPtpInstanceEntry 2
2
}
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 }
wrsPtpInstance
ExtEnabled
OBJECT-TYPE
SYNTAX INTEGER {
wrsPtpInstance
ProtoDetectState
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 }
wrsPtpInstance
ProtoDetec
tState OBJECT-TYPE
SYNTAX INTEGER {
wrsPtpInstance
Ex
tState 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
...
...
This diff is collapsed.
Click to expand it.
userspace/snmpd/wrsPtpInstanceTable.c
+
20
−
13
View file @
9a7bfa6c
...
...
@@ -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
].
wrsPtpInstance
ExtEnabled
=
ppsi_i
->
extS
tate
;
i_a
[
i
].
wrsPtpInstance
ProtoDetec
tState
=
ppsi_i
->
pds
tate
;
i_a
[
i
].
wrsPtpInstanceTSCorrSemistLatPS
=
(
int64_t
)((((
float
)
ppsi_i
->
timestampCorrectionPortDS
.
semistaticLatency
)
/
(
1
<<
16
))
*
1000
);
i_a
[
i
].
wrsPtpInstance
ProtoDetectState
=
ppsi_i
->
pds
tate
+
1
;
i_a
[
i
].
wrsPtpInstance
Ex
tState
=
ppsi_i
->
extS
tate
+
1
;
memcpy
(
i_a
[
i
].
wrsPtpInstancePeerMac
,
ppsi_i
->
peer
,
ETH_ALEN
);
i_a
[
i
].
wrsPtpInstancePeerVid
=
ppsi_i
->
peer_vid
;
...
...
This diff is collapsed.
Click to expand it.
userspace/snmpd/wrsPtpInstanceTable.h
+
5
−
4
View file @
9a7bfa6c
...
...
@@ -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
;
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment