Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Switch - Software
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
86
Issues
86
List
Board
Labels
Milestones
Merge Requests
4
Merge Requests
4
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Switch - Software
Commits
7b73a18e
Commit
7b73a18e
authored
Jul 09, 2014
by
Alessandro Rubini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
snmp library: fix data types for wr/ppsi items
Signed-off-by:
Alessandro Rubini
<
rubini@gnudd.com
>
parent
854d6e73
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
39 deletions
+45
-39
WR-SWITCH-MIB.txt
userspace/snmpd/WR-SWITCH-MIB.txt
+22
-21
wrsPpsi.c
userspace/snmpd/wrsPpsi.c
+23
-18
No files found.
userspace/snmpd/WR-SWITCH-MIB.txt
View file @
7b73a18e
...
...
@@ -7,10 +7,9 @@ WR-SWITCH-MIB DEFINITIONS ::= BEGIN
-- IMPORTS: Include definitions from other mibs here
IMPORTS
OBJECT-TYPE, Integer32, Counter32,
MODULE-IDENTITY,enterprises FROM SNMPv2-SMI
DisplayString FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF;
OBJECT-TYPE, Integer32, Counter32, Counter64
MODULE-IDENTITY, enterprises FROM SNMPv2-SMI
DisplayString FROM SNMPv2-TC;
CERN OBJECT IDENTIFIER ::= { enterprises 96 }
...
...
@@ -280,7 +279,7 @@ ppsiMode OBJECT-TYPE
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The mode
i
f this clock"
"The mode
o
f this clock"
::= { wrsPpsiGlobals 3 }
ppsiServoState OBJECT-TYPE
...
...
@@ -298,61 +297,63 @@ ppsiServoState OBJECT-TYPE
"The servo state if slave"
::= { wrsPpsiGlobals 4 }
-- FIXME: what follows is to be defined; they are placeholders so to build
ppsiPhaseTracking OBJECT-TYPE
SYNTAX Counter32
SYNTAX INTEGER {
not-tracking(0)
tracking(1)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"
To be described
"
"
Whether phase tracking is enabled in the servo
"
::= { wrsPpsiGlobals 5 }
ppsiSyncSource OBJECT-TYPE
SYNTAX
Counter32
SYNTAX
DisplayString (SIZE (0..32))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"T
o be described
"
"T
he port name that is currently the synchronization source
"
::= { wrsPpsiGlobals 6 }
ppsiClockOffset OBJECT-TYPE
SYNTAX Counter
32
ppsiClockOffset
Ps
OBJECT-TYPE
SYNTAX Counter
64 -- should be integer64 (signed)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"
To be described
"
"
Current clock offset from master, in picoseconds
"
::= { wrsPpsiGlobals 7 }
ppsiSkew OBJECT-TYPE
SYNTAX
Counter32
SYNTAX
INTEGER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"T
o be described
"
"T
he estimated change of master-to-slave delay, in picoseconds
"
::= { wrsPpsiGlobals 8 }
ppsiRTT OBJECT-TYPE
SYNTAX Counter
32
SYNTAX Counter
64 -- does unsigned64 exits?
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"T
o be described
"
"T
he round-trip-time, from master, in picoseconds
"
::= { wrsPpsiGlobals 9 }
ppsiLinkLength OBJECT-TYPE
SYNTAX
Counter
32
SYNTAX
Unsigned
32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"
To be described
"
"
Estimated fiber length, from master-to-slave delay, in meters
"
::= { wrsPpsiGlobals 10 }
ppsiServoUpdates OBJECT-TYPE
SYNTAX Counter
32
SYNTAX Counter
64
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"
To be described
"
"
How many time did the servo run
"
::= { wrsPpsiGlobals 11 }
-- per-port (.3.2)
...
...
userspace/snmpd/wrsPpsi.c
View file @
7b73a18e
...
...
@@ -26,12 +26,12 @@ static struct wrs_p_globals {
int
ppsi_mode
;
int
ppsi_servo_state
;
int
phase_tracking
;
int
sync_source
;
int
clock_offset
;
int
skew
;
int
rtt
;
in
t
llength
;
int
servo_updates
;
char
sync_source
[
32
]
;
int
64_t
clock_offset
;
int
32_t
skew
;
int
64_t
rtt
;
uint32_
t
llength
;
int
64_t
servo_updates
;
}
wrs_p_globals
;
static
struct
wrs_p_perport
{
...
...
@@ -55,15 +55,15 @@ struct ppsi_pickinfo {
static
struct
ppsi_pickinfo
g_pickinfo
[]
=
{
FIELD
(
wrs_p_globals
,
ASN_OCTET_STR
,
gm_id
),
FIELD
(
wrs_p_globals
,
ASN_OCTET_STR
,
my_id
),
FIELD
(
wrs_p_globals
,
ASN_
COUNT
ER
,
ppsi_mode
),
FIELD
(
wrs_p_globals
,
ASN_
COUNT
ER
,
ppsi_servo_state
),
FIELD
(
wrs_p_globals
,
ASN_
COUNT
ER
,
phase_tracking
),
FIELD
(
wrs_p_globals
,
ASN_
COUNTER
,
sync_source
),
FIELD
(
wrs_p_globals
,
ASN_COUNTER
,
clock_offset
),
FIELD
(
wrs_p_globals
,
ASN_
COUNT
ER
,
skew
),
FIELD
(
wrs_p_globals
,
ASN_COUNTER
,
rtt
),
FIELD
(
wrs_p_globals
,
ASN_
COUNT
ER
,
llength
),
FIELD
(
wrs_p_globals
,
ASN_COUNTER
,
servo_updates
),
FIELD
(
wrs_p_globals
,
ASN_
INTEG
ER
,
ppsi_mode
),
FIELD
(
wrs_p_globals
,
ASN_
INTEG
ER
,
ppsi_servo_state
),
FIELD
(
wrs_p_globals
,
ASN_
INTEG
ER
,
phase_tracking
),
FIELD
(
wrs_p_globals
,
ASN_
OCTET_STR
,
sync_source
),
/* special case! */
FIELD
(
wrs_p_globals
,
ASN_COUNTER
64
,
clock_offset
),
FIELD
(
wrs_p_globals
,
ASN_
INTEG
ER
,
skew
),
FIELD
(
wrs_p_globals
,
ASN_COUNTER
64
,
rtt
),
FIELD
(
wrs_p_globals
,
ASN_
INTEG
ER
,
llength
),
FIELD
(
wrs_p_globals
,
ASN_COUNTER
64
,
servo_updates
),
};
static
struct
ppsi_pickinfo
p_pickinfo
[]
=
{
...
...
@@ -81,6 +81,8 @@ static int ppsi_g_group(netsnmp_mib_handler *handler,
{
int
obj
;
/* the final index */
struct
ppsi_pickinfo
*
pi
;
void
*
ptr
;
int
len
;
/* FIXME: retrieve information from ppsi itself */
...
...
@@ -97,10 +99,12 @@ static int ppsi_g_group(netsnmp_mib_handler *handler,
return
SNMP_ERR_GENERR
;
}
pi
=
g_pickinfo
+
obj
;
ptr
=
(
void
*
)
&
wrs_p_globals
+
pi
->
offset
;
len
=
pi
->
len
;
if
(
len
>
8
)
/* special case for strings */
;
//len = strlen(ptr);
snmp_set_var_typed_value
(
requests
->
requestvb
,
pi
->
type
,
(
void
*
)
&
wrs_p_globals
+
pi
->
offset
,
pi
->
len
);
pi
->
type
,
ptr
,
len
);
break
;
default:
snmp_log
(
LOG_ERR
,
"unknown mode (%d) in wrs ppsi group
\n
"
,
...
...
@@ -151,6 +155,7 @@ static int
ppsi_p_load
(
netsnmp_cache
*
cache
,
void
*
vmagic
)
{
/* FIXME: load information */
strcpy
(
wrs_p_globals
.
sync_source
,
"wr I suppose"
);
return
0
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment