Skip to content

Commit edcafad

Browse files
lowinger42laf
authored andcommitted
Added support for Waystream products (#9481)
DO NOT DELETE THIS TEXT #### Please note > Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting. - [X ] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/) #### Testers If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926` After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert. This has been running in two production networks for > 3 months without any issues.
1 parent db1fa8c commit edcafad

12 files changed

Lines changed: 24709 additions & 0 deletions

File tree

html/images/os/waystream.svg

Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
mib: WAYSTREAM-MIB
2+
modules:
3+
sensors:
4+
temperature:
5+
data:
6+
-
7+
descr: Temperature {{ $index }}
8+
oid: wsTempEntry
9+
value: wsTempMeasured
10+
num_oid: '.1.3.6.1.4.1.9303.4.1.2.1.1.2.{{ $index }}'
11+
low_warn_limit: wsTempThresholdLow
12+
warn_limit: wsTempThresholdHigh
13+
divisor: 100
14+
15+
voltage:
16+
data:
17+
-
18+
descr: Voltage {{ $index }}
19+
oid: wsVoltEntry
20+
value: wsVoltMeasured
21+
num_oid: '.1.3.6.1.4.1.9303.4.1.2.2.1.3.{{ $index }}'
22+
low_warn_limit: wsVoltThresholdLow
23+
warn_limit: wsVoltThresholdHigh
24+
divisor: 1000
25+
skip_values: 0
26+
27+
fanspeed:
28+
data:
29+
-
30+
descr: Fan speed {{ $index }}
31+
oid: wsFanEntry
32+
value: wsFanRPM
33+
num_oid: '.1.3.6.1.4.1.9303.4.1.2.3.1.2.{{ $index }}'
34+
35+
dbm:
36+
options:
37+
divisor: 1000
38+
skip_values: 0
39+
data:
40+
- oid: wsSFPEntry
41+
descr: Receive power {{ $index }}
42+
value: wsSFPRXdBmPower
43+
index: 'wsSFPRXdBmPower.{{ $index }}'
44+
num_oid: '.1.3.6.1.4.1.9303.4.1.4.1.23.{{ $index }}'
45+
low_warn_limit: wsSFPRXInputPowNormalLowdBm
46+
warn_limit: wsSFPRXInputPowNormalHighdBm
47+
48+
- oid: wsSFPEntry
49+
descr: Transmit power {{ $index }}
50+
value: wsSFPTXdBmPower
51+
index: 'wsSFPTXdBmPower.{{ $index }}'
52+
num_oid: '.1.3.6.1.4.1.9303.4.1.4.1.22.{{ $index }}'
53+
low_warn_limit: wsSFPTXOutputPowNormalLowdBm
54+
warn_limit: wsSFPTXOutputPowNormalHighdBm

includes/definitions/ibos.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
os: ibos
2+
text: 'Waystream iBOS'
3+
type: network
4+
icon: waystream
5+
group: waystream
6+
over:
7+
- { graph: device_bits, text: 'Device Traffic' }
8+
- { graph: device_processor, text: 'CPU Usage' }
9+
- { graph: device_mempool, text: 'Memory Usage' }
10+
bad_if:
11+
- downstream0
12+
- Lo0
13+
- Null0
14+
- system0
15+
discovery:
16+
- sysObjectID:
17+
# ASR 5k products
18+
- .1.3.6.1.4.1.9303.1.1.
19+
# Metrostar products
20+
- .1.3.6.1.4.1.9303.1.5.

includes/polling/os/ibos.inc.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?php
2+
3+
if (preg_match('/(.*), iBOS Version ibos-.*?-(.*)\s+Copyright/', $device['sysDescr'], $regexp_result)) {
4+
$hardware = $regexp_result[1];
5+
$version = $regexp_result[2];
6+
}

mibs/waystream/WAYSTREAM-COPY-MIB

Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
WAYSTREAM-COPY-MIB DEFINITIONS ::= BEGIN
2+
--
3+
-- This is the Waystream MIB definition for the iBOS file copy function
4+
--
5+
-- Copyright (c) 2017 Waystream AB, All rights reserved
6+
--
7+
8+
IMPORTS
9+
MODULE-IDENTITY,
10+
OBJECT-TYPE,
11+
Unsigned32
12+
FROM SNMPv2-SMI
13+
14+
DisplayString
15+
FROM SNMPv2-TC
16+
17+
wsExperiment
18+
FROM WAYSTREAM-SMI;
19+
20+
21+
wsCopy MODULE-IDENTITY
22+
LAST-UPDATED "201702101100Z" -- February 10, 2017
23+
ORGANIZATION "Waystream AB"
24+
CONTACT-INFO
25+
"Waystream AB
26+
Customer Service
27+
28+
Mail : Farogatan 33
29+
SE-164 51 Kista
30+
Sweden
31+
32+
Tel : +46 8 5626 9450
33+
34+
E-mail: info@waystream.com
35+
Web : http://www.waystream.com"
36+
DESCRIPTION
37+
"MIB describing the file copy functions available on Waystream ASRs"
38+
39+
REVISION "201702101100Z" -- February 10, 2017
40+
DESCRIPTION
41+
"Company name change:
42+
In October 2015 PacketFront Network Products was renamed Waystream.
43+
In this update all PacketFront were changed to Waystream and all
44+
pf* to ws*."
45+
REVISION "201101111735Z" -- January 11th, 2011
46+
DESCRIPTION
47+
"Updated company name"
48+
REVISION "200903231117Z"
49+
DESCRIPTION
50+
"Updated telephone information in contact-info"
51+
REVISION "200809101538Z"
52+
DESCRIPTION
53+
"Initial - moved pfCopy from PACKETFRONT-MIB"
54+
55+
::= { wsExperiment 2 }
56+
57+
58+
-- Get filehandle
59+
wsCopyNextState OBJECT-TYPE
60+
SYNTAX Unsigned32
61+
MAX-ACCESS read-only
62+
STATUS current
63+
DESCRIPTION
64+
"Generate a unique filehandle. The filehandle is
65+
used with the other objects in the wsCopy branch
66+
to set the source and destination and commence
67+
file transfer activities."
68+
::= { wsCopy 1 }
69+
70+
-- the ws Copy table
71+
-- Table with states of current copy sessions.
72+
wsCopyTable OBJECT-TYPE
73+
SYNTAX SEQUENCE OF WsCopyEntry
74+
MAX-ACCESS not-accessible
75+
STATUS current
76+
DESCRIPTION
77+
"A list of current copy sessions. The next available entry is
78+
given by the value of wsCopyNextState."
79+
::= { wsCopy 2 }
80+
81+
wsCopyEntry OBJECT-TYPE
82+
SYNTAX WsCopyEntry
83+
MAX-ACCESS not-accessible
84+
STATUS current
85+
DESCRIPTION
86+
"An entry for a copy session."
87+
INDEX { wsCopyIndex }
88+
::= { wsCopyTable 1 }
89+
90+
WsCopyEntry ::=
91+
SEQUENCE {
92+
wsCopyIndex Unsigned32,
93+
wsCopySource DisplayString,
94+
wsCopyDestination DisplayString,
95+
wsCopyStatus INTEGER,
96+
wsCopyError DisplayString
97+
}
98+
99+
100+
wsCopyIndex OBJECT-TYPE
101+
SYNTAX Unsigned32
102+
MAX-ACCESS read-only
103+
STATUS current
104+
DESCRIPTION
105+
"A unique value for each copy session."
106+
::= { wsCopyEntry 1 }
107+
108+
-- Set copy source
109+
wsCopySource OBJECT-TYPE
110+
SYNTAX DisplayString (SIZE (0..255))
111+
MAX-ACCESS read-write
112+
STATUS current
113+
DESCRIPTION
114+
"The source URL for a filhandle. The string
115+
provided must match an acceptable URL as
116+
typed in the command line interface copy command."
117+
::= { wsCopyEntry 2 }
118+
119+
-- Set copy destination
120+
wsCopyDestination OBJECT-TYPE
121+
SYNTAX DisplayString (SIZE (0..255))
122+
MAX-ACCESS read-write
123+
STATUS current
124+
DESCRIPTION
125+
"The destination filename for a filehandle. The
126+
string provided must match an acceptable destination
127+
as typed in the command line interface copy command."
128+
::= { wsCopyEntry 3 }
129+
130+
-- Set/Get copy status
131+
wsCopyStatus OBJECT-TYPE
132+
SYNTAX INTEGER {
133+
notused(0),
134+
start(1),
135+
stop(2),
136+
destroy(3),
137+
init(4),
138+
inprogress(5),
139+
failed(6),
140+
finished(7)
141+
}
142+
MAX-ACCESS read-write
143+
STATUS current
144+
DESCRIPTION
145+
"The status of a filehandle
146+
147+
notused - Get: The filehandle has not been used during the last 24 hours
148+
Set: Not possible
149+
start - Get: Not possible
150+
Set: Start filetransfer
151+
stop - Get: Not possible
152+
Set: Stop filetransfer in progress
153+
destroy - Get: Not possible
154+
Set: Remove source and destination entries for filehandle
155+
init - Get: Filtransfer started
156+
Set: Not possible
157+
inprogress - Get: Filetransfer in progress
158+
Set: Not possible
159+
failed - Get: A failure occured during last filetransfer
160+
Set: Not possible
161+
finished - Get: The file was successfully transferred and stored
162+
Set: not possible
163+
"
164+
::= { wsCopyEntry 4 }
165+
166+
wsCopyError OBJECT-TYPE
167+
SYNTAX DisplayString (SIZE (0..255))
168+
MAX-ACCESS read-only
169+
STATUS current
170+
DESCRIPTION
171+
"A textual description of the filehandle last
172+
error status. If the filehandle does not exist or
173+
has not been used for the last 24 hours, a 'No Error'
174+
message is returned."
175+
::= { wsCopyEntry 5 }
176+
177+
178+
END
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
WAYSTREAM-IGMP-CACHE-MIB DEFINITIONS ::= BEGIN
2+
--
3+
-- This is the Waystream Management Information Base definition for IGMP
4+
-- cache viewing on Waystream iBOS based products.
5+
--
6+
-- Copyright (c) 2017 Waystream AB, All rights reserved
7+
--
8+
9+
IMPORTS
10+
MODULE-IDENTITY,
11+
OBJECT-TYPE,
12+
IpAddress,
13+
TimeTicks
14+
FROM SNMPv2-SMI
15+
16+
InterfaceIndex
17+
FROM IF-MIB
18+
19+
wsMgmt
20+
FROM WAYSTREAM-SMI;
21+
22+
--
23+
-- Waystream IGMP snoop
24+
--
25+
wsIgmp MODULE-IDENTITY
26+
LAST-UPDATED "201702101100Z" -- February 10, 2017
27+
ORGANIZATION "Waystream AB"
28+
CONTACT-INFO
29+
"Waystream AB
30+
Customer Service
31+
32+
Mail : Farogatan 33
33+
SE-164 51 Kista
34+
Sweden
35+
36+
Tel : +46 8 5626 9450
37+
38+
E-mail: info@waystream.com
39+
Web : http://www.waystream.com"
40+
41+
DESCRIPTION
42+
"Waystream MIB describing IGMP caching and snooping functions of
43+
ASRs"
44+
45+
REVISION "201702101100Z" -- February 10, 2017
46+
DESCRIPTION
47+
"Company name change:
48+
In October 2015 PacketFront Network Products was renamed Waystream.
49+
In this update all PacketFront were changed to Waystream and all
50+
pf* to ws*."
51+
REVISION "201101111754Z" -- January 11, 2011
52+
DESCRIPTION
53+
"Updated company name"
54+
REVISION "200904291349Z"
55+
DESCRIPTION
56+
"Moved pfIgmp from pfExperimental.3 to pfMgmt.13"
57+
REVISION "200903231125Z"
58+
DESCRIPTION
59+
"Updated telephone information in contact-info"
60+
REVISION "200804301348Z"
61+
DESCRIPTION
62+
"Move from PACKETFRONT-MIB"
63+
REVISION "200706131437Z"
64+
DESCRIPTION
65+
"Initial implementation of pfIgmp"
66+
67+
::= { wsMgmt 13 }
68+
69+
70+
wsIgmpCacheTable OBJECT-TYPE
71+
SYNTAX SEQUENCE OF WsIgmpCacheEntry
72+
MAX-ACCESS not-accessible
73+
STATUS current
74+
DESCRIPTION
75+
"The table listing all snooped members of IP multicast groups
76+
that are connected through downstream0-mapped interfaces."
77+
::= { wsIgmp 2 }
78+
79+
wsIgmpCacheEntry OBJECT-TYPE
80+
SYNTAX WsIgmpCacheEntry
81+
MAX-ACCESS not-accessible
82+
STATUS current
83+
DESCRIPTION
84+
"An entry in the wsIgmpCacheTable."
85+
INDEX { wsIgmpCacheAddress, wsIgmpCacheIfIndex, wsIgmpCacheReporter }
86+
::= { wsIgmpCacheTable 1 }
87+
88+
WsIgmpCacheEntry ::= SEQUENCE {
89+
wsIgmpCacheAddress IpAddress,
90+
wsIgmpCacheIfIndex InterfaceIndex,
91+
wsIgmpCacheReporter IpAddress,
92+
wsIgmpCacheUpTime TimeTicks
93+
}
94+
95+
wsIgmpCacheAddress OBJECT-TYPE
96+
SYNTAX IpAddress
97+
MAX-ACCESS not-accessible
98+
STATUS current
99+
DESCRIPTION
100+
"The IP multicast group for which this entry
101+
contains information."
102+
::= { wsIgmpCacheEntry 1 }
103+
104+
wsIgmpCacheIfIndex OBJECT-TYPE
105+
SYNTAX InterfaceIndex
106+
MAX-ACCESS not-accessible
107+
STATUS current
108+
DESCRIPTION
109+
"The interface for which this entry contains
110+
information for an IP multicast group."
111+
::= { wsIgmpCacheEntry 2 }
112+
113+
wsIgmpCacheReporter OBJECT-TYPE
114+
SYNTAX IpAddress
115+
MAX-ACCESS not-accessible
116+
STATUS current
117+
DESCRIPTION
118+
"The reporter for which this entry contains
119+
information for an IP multicast group."
120+
::= { wsIgmpCacheEntry 3 }
121+
122+
wsIgmpCacheUpTime OBJECT-TYPE
123+
SYNTAX TimeTicks
124+
MAX-ACCESS read-only
125+
STATUS current
126+
DESCRIPTION
127+
"Time elapsed since this entry was created."
128+
::= { wsIgmpCacheEntry 4 }
129+
130+
131+
END

0 commit comments

Comments
 (0)