mirror of
https://github.com/stylersnico/librenms.git
synced 2026-07-30 16:14:21 +02:00
Merge pull request #890 from laf/issue-798
Added support for Siklu devices
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 883 B |
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
|
$rrdfilename = $config['rrd_dir'] . "/".$device['hostname']."/siklu-wireless.rrd";
|
||||||
|
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'db Now Min Max\\n'";
|
||||||
|
$rrd_options .= " DEF:rfAverageCinr=".$rrdfilename.":rfAverageCinr:AVERAGE ";
|
||||||
|
$rrd_options .= " LINE1:rfAverageCinr#CC0000:'CINR ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfAverageCinr:LAST:%3.2lf ";
|
||||||
|
$rrd_options .= " GPRINT:rfAverageCinr:MIN:%3.2lf ";
|
||||||
|
$rrd_options .= " GPRINT:rfAverageCinr:MAX:%3.2lf\\\l ";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
|
$rrdfilename = $config['rrd_dir'] . "/".$device['hostname']."/siklu-wireless.rrd";
|
||||||
|
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'dbm Now Min Max\\n'";
|
||||||
|
$rrd_options .= " DEF:rfAverageRssi=".$rrdfilename.":rfAverageRssi:AVERAGE ";
|
||||||
|
$rrd_options .= " LINE1:rfAverageRssi#CC0000:'RSSI ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfAverageRssi:LAST:%3.2lf ";
|
||||||
|
$rrd_options .= " GPRINT:rfAverageRssi:MIN:%3.2lf ";
|
||||||
|
$rrd_options .= " GPRINT:rfAverageRssi:MAX:%3.2lf\\\l ";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
|
$rrdfilename = $config['rrd_dir'] . "/".$device['hostname']."/siklu-wireless.rrd";
|
||||||
|
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'Hz Now Min Max\\n'";
|
||||||
|
$rrd_options .= " DEF:rfOperFreq=".$rrdfilename.":rfOperFreq:AVERAGE ";
|
||||||
|
$rrd_options .= " LINE1:rfOperFreq#CC0000:'GHz ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfOperFreq:LAST:%3.2lf ";
|
||||||
|
$rrd_options .= " GPRINT:rfOperFreq:MIN:%3.2lf ";
|
||||||
|
$rrd_options .= " GPRINT:rfOperFreq:MAX:%3.2lf\\\l ";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
|
$rrdfilename = $config['rrd_dir'] . "/".$device['hostname']."/siklu-interface.rrd";
|
||||||
|
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'bps Now Ave Max \\n'";
|
||||||
|
$rrd_options .= " DEF:rfInOctets=".$rrdfilename.":rfInOctets:AVERAGE ";
|
||||||
|
$rrd_options .= " DEF:rfOutOctets=".$rrdfilename.":rfOutOctets:AVERAGE ";
|
||||||
|
//$rrd_options .= " CDEF:inoctets=rfInOctets,8,*";
|
||||||
|
//$rrd_options .= " CDEF:outoctets=rfOutOctets,8,*";
|
||||||
|
$rrd_options .= " LINE1:rfInOctets#00FF00:'In ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInOctets:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInOctets:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInOctets:MAX:%0.2lf%s\\\l ";
|
||||||
|
$rrd_options .= " LINE1:rfOutOctets#CC0000:'Out ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutOctets:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutOctets:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutOctets:MAX:%0.2lf%s\\\l ";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
|
$rrdfilename = $config['rrd_dir'] . "/".$device['hostname']."/siklu-interface.rrd";
|
||||||
|
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'bps Now Ave Max \\n'";
|
||||||
|
$rrd_options .= " DEF:rfInGoodOctets=".$rrdfilename.":rfInGoodOctets:AVERAGE ";
|
||||||
|
$rrd_options .= " DEF:rfInErroredOctets=".$rrdfilename.":rfInErroredOctets:AVERAGE ";
|
||||||
|
$rrd_options .= " DEF:rfInIdleOctets=".$rrdfilename.":rfInIdleOctets:AVERAGE ";
|
||||||
|
$rrd_options .= " DEF:rfOutIdleOctets=".$rrdfilename.":rfOutIdleOctets:AVERAGE ";
|
||||||
|
$rrd_options .= " LINE1:rfInGoodOctets#00FF00:'Good Octets ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInGoodOctets:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInGoodOctets:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInGoodOctets:MAX:%0.2lf%s\\\l ";
|
||||||
|
$rrd_options .= " LINE1:rfInErroredOctets#CC0000:'Errored Octets ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInErroredOctets:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInErroredOctets:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInErroredOctets:MAX:%0.2lf%s\\\l ";
|
||||||
|
$rrd_options .= " LINE1:rfInIdleOctets#0022FF:'In Idle Octets ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInIdleOctets:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInIdleOctets:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInIdleOctets:MAX:%0.2lf%s\\\l ";
|
||||||
|
$rrd_options .= " LINE1:rfOutIdleOctets#DD9CFB:'Out Idle Octets ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutIdleOctets:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutIdleOctets:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutIdleOctets:MAX:%0.2lf%s\\\l ";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
|
$rrdfilename = $config['rrd_dir'] . "/".$device['hostname']."/siklu-interface.rrd";
|
||||||
|
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'pps Now Ave Max \\n'";
|
||||||
|
$rrd_options .= " DEF:rfInGoodPkts=".$rrdfilename.":rfInGoodPkts:AVERAGE ";
|
||||||
|
$rrd_options .= " DEF:rfInErroredPkts=".$rrdfilename.":rfInErroredPkts:AVERAGE ";
|
||||||
|
$rrd_options .= " DEF:rfInLostPkts=".$rrdfilename.":rfInLostPkts:AVERAGE ";
|
||||||
|
$rrd_options .= " LINE1:rfInGoodPkts#00FF00:'Good Pkts ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInGoodPkts:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInGoodPkts:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInGoodPkts:MAX:%0.2lf%s\\\l ";
|
||||||
|
$rrd_options .= " LINE1:rfInErroredPkts#CC0000:'Errored Pkts ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInErroredPkts:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInErroredPkts:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInErroredPkts:MAX:%0.2lf%s\\\l ";
|
||||||
|
$rrd_options .= " LINE1:rfInLostPkts#0022FF:'Lost Pkts ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInLostPkts:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInLostPkts:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInLostPkts:MAX:%0.2lf%s\\\l ";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
include("includes/graphs/common.inc.php");
|
||||||
|
|
||||||
|
$rrdfilename = $config['rrd_dir'] . "/".$device['hostname']."/siklu-interface.rrd";
|
||||||
|
|
||||||
|
if (file_exists($rrdfilename)) {
|
||||||
|
$rrd_options .= " COMMENT:'pps Now Ave Max \\n'";
|
||||||
|
$rrd_options .= " DEF:rfInPkts=".$rrdfilename.":rfInPkts:AVERAGE ";
|
||||||
|
$rrd_options .= " DEF:rfOutPkts=".$rrdfilename.":rfOutPkts:AVERAGE ";
|
||||||
|
$rrd_options .= " LINE1:rfInPkts#00FF00:'In ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfInPkts:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInPkts:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfInPkts:MAX:%0.2lf%s\\\l ";
|
||||||
|
$rrd_options .= " LINE1:rfOutPkts#CC0000:'Out ' ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutPkts:LAST:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutPkts:MIN:%0.2lf%s ";
|
||||||
|
$rrd_options .= " GPRINT:rfOutPkts:MAX:%0.2lf%s\\\l ";
|
||||||
|
}
|
||||||
|
|
||||||
@@ -417,6 +417,14 @@ $config['os'][$os]['icon'] = "ruckus";
|
|||||||
$config['os'][$os]['over'][0]['graph'] = "device_bits";
|
$config['os'][$os]['over'][0]['graph'] = "device_bits";
|
||||||
$config['os'][$os]['over'][0]['text'] = "Traffic";
|
$config['os'][$os]['over'][0]['text'] = "Traffic";
|
||||||
|
|
||||||
|
// Siklu Wireless
|
||||||
|
$os = "siklu";
|
||||||
|
$config['os'][$os]['text'] = "Siklu Wireless";
|
||||||
|
$config['os'][$os]['type'] = "wireless";
|
||||||
|
$config['os'][$os]['icon'] = "siklu";
|
||||||
|
$config['os'][$os]['over'][0]['graph'] = "device_bits";
|
||||||
|
$config['os'][$os]['over'][0]['text'] = "Traffic";
|
||||||
|
|
||||||
// Supermicro Switch
|
// Supermicro Switch
|
||||||
|
|
||||||
$os = "supermicro-switch";
|
$os = "supermicro-switch";
|
||||||
@@ -1367,6 +1375,88 @@ $config['graph_types']['device']['ubnt_airfiber_RFTotPktsRx'] = array(
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Siklu support
|
||||||
|
$config['graph_types']['device']['siklu_rfAverageRssi'] = array(
|
||||||
|
'section' => 'wireless',
|
||||||
|
'order' => '0',
|
||||||
|
'descr' => 'Radio Average RSSI',
|
||||||
|
'file' => 'siklu-wireless.rrd',
|
||||||
|
'colours' => 'blues',
|
||||||
|
'unit_text' => 'dBm',
|
||||||
|
'ds' => array(
|
||||||
|
'rfAverageRssi' => array('label' => 'RSSI', 'draw' => 'AREA', 'line' => TRUE)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$config['graph_types']['device']['siklu_rfAverageCinr'] = array(
|
||||||
|
'section' => 'wireless',
|
||||||
|
'order' => '1',
|
||||||
|
'descr' => 'Radio Average CINR',
|
||||||
|
'file' => 'siklu-wireless.rrd',
|
||||||
|
'colours' => 'reds',
|
||||||
|
'unit_text' => 'dB',
|
||||||
|
'ds' => array(
|
||||||
|
'rfAverageCinr' => array('label' => 'CINR', 'draw' => 'AREA', 'line' => TRUE)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$config['graph_types']['device']['siklu_rfOperationalFrequency'] = array(
|
||||||
|
'section' => 'wireless',
|
||||||
|
'order' => '2',
|
||||||
|
'descr' => 'Operational Frequency',
|
||||||
|
'file' => 'siklu-wireless.rrd',
|
||||||
|
'colours' => 'reds',
|
||||||
|
'unit_text' => 'GHz',
|
||||||
|
'ds' => array(
|
||||||
|
'rfOperFreq' => array('label' => 'Hz', 'draw' => 'AREA', 'line' => TRUE)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$config['graph_types']['device']['siklu_rfinterfacePkts'] = array(
|
||||||
|
'section' => 'wireless',
|
||||||
|
'order' => '3',
|
||||||
|
'descr' => 'Packets',
|
||||||
|
'file' => 'siklu-interface.rrd',
|
||||||
|
'unit_text' => 'pps',
|
||||||
|
'ds' => array(
|
||||||
|
'rfIPkts' => array('label' => 'In bps', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
'rfOutPkts' => array('label' => 'Out bps', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$config['graph_types']['device']['siklu_rfinterfaceOtherPkts'] = array(
|
||||||
|
'section' => 'wireless',
|
||||||
|
'order' => '4',
|
||||||
|
'descr' => 'Other Packets',
|
||||||
|
'file' => 'siklu-interface.rrd',
|
||||||
|
'unit_text' => 'pps',
|
||||||
|
'ds' => array(
|
||||||
|
'rfInGoodPkts' => array('label' => 'Good Pkts', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
'rfInErroredPkts' => array('label' => 'Errored Pkts', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
'rfInLostPkts' => array('label' => 'Lost Pkts', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$config['graph_types']['device']['siklu_rfinterfaceOctets'] = array(
|
||||||
|
'section' => 'wireless',
|
||||||
|
'order' => '5',
|
||||||
|
'descr' => 'Traffic',
|
||||||
|
'file' => 'siklu-interface.rrd',
|
||||||
|
'unit_text' => 'bps',
|
||||||
|
'ds' => array(
|
||||||
|
'rfInOctets' => array('label' => 'In bps', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
'rfOutOctets' => array('label' => 'Out bps', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$config['graph_types']['device']['siklu_rfinterfaceOtherOctets'] = array(
|
||||||
|
'section' => 'wireless',
|
||||||
|
'order' => '6',
|
||||||
|
'descr' => 'Other Octets',
|
||||||
|
'file' => 'siklu-interface.rrd',
|
||||||
|
'unit_text' => 'bps',
|
||||||
|
'ds' => array(
|
||||||
|
'rfInIdleOctets' => array('label' => 'In Idle', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
'rfOutIdleOctets' => array('label' => 'Out Idle', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
'rfInGoodOctets' => array('label' => 'Good Octets', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
'rfInErroredOctetts' => array('label' => 'Errored Octets', 'draw' => 'LINE', 'line' => TRUE),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
$config['graph_types']['device']['wifi_clients']['section'] = 'wireless';
|
$config['graph_types']['device']['wifi_clients']['section'] = 'wireless';
|
||||||
$config['graph_types']['device']['wifi_clients']['order'] = '0';
|
$config['graph_types']['device']['wifi_clients']['order'] = '0';
|
||||||
$config['graph_types']['device']['wifi_clients']['descr'] = 'Wireless Clients';
|
$config['graph_types']['device']['wifi_clients']['descr'] = 'Wireless Clients';
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* LibreNMS
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014 Neil Lathwood <https://github.com/laf/ http://www.lathwood.co.uk/fa>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version. Please see LICENSE.txt at the top level of
|
||||||
|
* the source code distribution for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$entPhysicalMfgName = snmp_get($device, "ENTITY-MIB::entPhysicalMfgName.1", "-Osqnv");
|
||||||
|
|
||||||
|
if ($entPhysicalMfgName == 'Siklu') {
|
||||||
|
$os = 'siklu';
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if ($device['os'] == "siklu") {
|
||||||
|
$oid = "rbSysTemperature.0";
|
||||||
|
$oids = snmp_get($device, "$oid", "-OsqnU", "RADIO-BRIDGE-MIB");
|
||||||
|
if ($debug) { echo($oids."\n"); }
|
||||||
|
if (!empty($oids)) echo("Siklu Temperature ");
|
||||||
|
$divisor = 1;
|
||||||
|
$type = "siklu";
|
||||||
|
if (!empty($oids)) {
|
||||||
|
list(,$current) = explode(' ',$oids);
|
||||||
|
$index = $oid;
|
||||||
|
$descr = "System Temp";
|
||||||
|
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
if ($device['os'] == "siklu") {
|
||||||
|
$oid = "rbSysVoltage.0";
|
||||||
|
$oids = snmp_walk($device, "$oid", "-OsqnU", "RADIO-BRIDGE-MIB");
|
||||||
|
if ($debug) { echo($oids."\n"); }
|
||||||
|
if (!empty($oids)) echo("Siklu Voltage ");
|
||||||
|
$divisor = 1;
|
||||||
|
$type = "siklu";
|
||||||
|
if (!empty($oids)) {
|
||||||
|
list(,$current) = explode(' ',$oids);
|
||||||
|
$index = $oid;
|
||||||
|
$descr = "System voltage";
|
||||||
|
discover_sensor($valid['sensor'], 'voltage', $device, $oid, $index, $type, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
function poll_sensor($device, $class, $unit)
|
function poll_sensor($device, $class, $unit)
|
||||||
{
|
{
|
||||||
@@ -11,12 +11,17 @@ function poll_sensor($device, $class, $unit)
|
|||||||
|
|
||||||
if ($sensor['poller_type'] == "snmp")
|
if ($sensor['poller_type'] == "snmp")
|
||||||
{
|
{
|
||||||
|
if ($device['os'] == 'siklu') {
|
||||||
|
$mib = ":RADIO-BRIDGE-MIB";
|
||||||
|
} else {
|
||||||
|
$mib = '';
|
||||||
|
}
|
||||||
if ($class == "temperature")
|
if ($class == "temperature")
|
||||||
{
|
{
|
||||||
for ($i = 0;$i < 5;$i++) # Try 5 times to get a valid temp reading
|
for ($i = 0;$i < 5;$i++) # Try 5 times to get a valid temp reading
|
||||||
{
|
{
|
||||||
if ($debug) echo("Attempt $i ");
|
if ($debug) echo("Attempt $i ");
|
||||||
$sensor_value = trim(str_replace("\"", "", snmp_get($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB")));
|
$sensor_value = trim(str_replace("\"", "", snmp_get($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB$mib")));
|
||||||
preg_match("/[\d\.]+/",$sensor_value,$temp_response);
|
preg_match("/[\d\.]+/",$sensor_value,$temp_response);
|
||||||
if (!empty($temp_response[0])) {
|
if (!empty($temp_response[0])) {
|
||||||
$sensor_value = $temp_response[0];
|
$sensor_value = $temp_response[0];
|
||||||
@@ -27,11 +32,12 @@ function poll_sensor($device, $class, $unit)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ($sensor['sensor_type'] == 'apc') {
|
if ($sensor['sensor_type'] == 'apc') {
|
||||||
$sensor_value = trim(str_replace("\"", "", snmp_walk($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB:PowerNet-MIB")));
|
$sensor_value = trim(str_replace("\"", "", snmp_walk($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB:PowerNet-MIB$mib")));
|
||||||
} else {
|
} else {
|
||||||
$sensor_value = trim(str_replace("\"", "", snmp_get($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB")));
|
$sensor_value = trim(str_replace("\"", "", snmp_get($device, $sensor['sensor_oid'], "-OUqnv", "SNMPv2-MIB$mib")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
unset($mib);
|
||||||
} else if ($sensor['poller_type'] == "agent")
|
} else if ($sensor['poller_type'] == "agent")
|
||||||
{
|
{
|
||||||
if (isset($agent_sensors))
|
if (isset($agent_sensors))
|
||||||
@@ -257,11 +263,14 @@ function poll_mib_def($device, $mib_name_table, $mib_subdir, $mib_oids, $mib_gra
|
|||||||
echo("This is mag_poll_mib_def Processing\n");
|
echo("This is mag_poll_mib_def Processing\n");
|
||||||
$mib = NULL;
|
$mib = NULL;
|
||||||
|
|
||||||
list($mib,) = explode(":", $mib_name_table, 2);
|
if (stristr($mib_name_table, "UBNT")) {
|
||||||
|
list($mib,) = explode(":", $mib_name_table, 2);
|
||||||
//$mib_dirs = mib_dirs($mib_subdir);
|
//$mib_dirs = mib_dirs($mib_subdir);
|
||||||
|
$rrd_file = strtolower(safename($mib)).'.rrd';
|
||||||
$rrd_file = strtolower(safename($mib)).'.rrd';
|
} else {
|
||||||
|
list($mib,$file) = explode(":", $mib_name_table, 2);
|
||||||
|
$rrd_file = strtolower(safename($file)).'.rrd';
|
||||||
|
}
|
||||||
|
|
||||||
$rrdcreate = '--step 300 ';
|
$rrdcreate = '--step 300 ';
|
||||||
$oidglist = array();
|
$oidglist = array();
|
||||||
@@ -271,9 +280,15 @@ function poll_mib_def($device, $mib_name_table, $mib_subdir, $mib_oids, $mib_gra
|
|||||||
$oiddsname = $param[1];
|
$oiddsname = $param[1];
|
||||||
$oiddsdesc = $param[2];
|
$oiddsdesc = $param[2];
|
||||||
$oiddstype = $param[3];
|
$oiddstype = $param[3];
|
||||||
|
$oiddsopts = $param[4];
|
||||||
|
|
||||||
if (strlen($oiddsname) > 19) { $oiddsname = truncate($oiddsname, 19, ''); }
|
if (strlen($oiddsname) > 19) { $oiddsname = truncate($oiddsname, 19, ''); }
|
||||||
$rrdcreate .= ' DS:'.$oiddsname.':'.$oiddstype.':600:U:100000000000';
|
|
||||||
|
if (empty($oiddsopts)) {
|
||||||
|
$oiddsopts = "600:U:100000000000";
|
||||||
|
}
|
||||||
|
|
||||||
|
$rrdcreate .= ' DS:'.$oiddsname.':'.$oiddstype.':'.$oiddsopts;
|
||||||
|
|
||||||
if ($oidindex != '')
|
if ($oidindex != '')
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
echo(" Siklu Wireless ");
|
||||||
|
|
||||||
|
$mib_oids = array(
|
||||||
|
'rfAverageRssi' => array('1', 'rfAverageRssi', 'Signal Strength', 'GAUGE'),
|
||||||
|
'rfAverageCinr' => array('1', 'rfAverageCinr', 'Signal to noise ratio', 'GAUGE'),
|
||||||
|
'rfOperationalFrequency' => array('1', 'rfOperFreq', 'Operational Frequency', 'GAUGE'),
|
||||||
|
);
|
||||||
|
|
||||||
|
$mib_graphs = array('siklu_rfAverageRssi', 'siklu_rfAverageCinr', 'siklu_rfOperationalFrequency');
|
||||||
|
|
||||||
|
unset($graph, $oids, $oid);
|
||||||
|
|
||||||
|
poll_mib_def($device, 'RADIO-BRIDGE-MIB:siklu-wireless', 'siklu', $mib_oids, $mib_graphs, $graphs);
|
||||||
|
|
||||||
|
// Poll interface statistics
|
||||||
|
$mib_oids = array(
|
||||||
|
'rfInPkts' => array('1', 'rfInPkts', 'In Packets', 'DERIVE','600:0:12500000000'),
|
||||||
|
'rfOutPkts' => array('1', 'rfOutPkts', 'Out Packets', 'DERIVE','600:0:12500000000'),
|
||||||
|
'rfInGoodPkts' => array('1', 'rfInGoodPkts', 'Good Packets', 'DERIVE'),
|
||||||
|
'rfInErroredPkts' => array('1', 'rfInErroredPkts', 'Errored Packets', 'DERIVE'),
|
||||||
|
'rfInLostPkts' => array('1', 'rfInLostPkts', 'Lost Packets', 'DERIVE'),
|
||||||
|
'rfInOctets' => array('1', 'rfInOctets', 'In Packets', 'DERIVE','600:0:12500000000'),
|
||||||
|
'rfOutOctets' => array('1', 'rfOutOctets', 'Out Packets', 'DERIVE','600:0:12500000000'),
|
||||||
|
'rfInGoodOctets' => array('1', 'rfInGoodOctets', 'Good Packets', 'DERIVE'),
|
||||||
|
'rfInErroredOctets' => array('1', 'rfInErroredOctets', 'Errored Packets', 'DERIVE'),
|
||||||
|
'rfInIdleOctets' => array('1', 'rfInIdleOctets', 'Lost Packets', 'DERIVE'),
|
||||||
|
'rfOutIdleOctets' => array('1', 'rfOutIdleOctets', 'Lost Packets', 'DERIVE'),
|
||||||
|
);
|
||||||
|
|
||||||
|
$mib_graphs = array('siklu_rfinterfacePkts','siklu_rfinterfaceOtherPkts','siklu_rfinterfaceOctets','siklu_rfinterfaceOtherOctets');
|
||||||
|
|
||||||
|
unset($graph, $oids, $oid);
|
||||||
|
|
||||||
|
poll_mib_def($device, 'RADIO-BRIDGE-MIB:siklu-interface', 'siklu', $mib_oids, $mib_graphs, $graphs);
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* LibreNMS
|
||||||
|
*
|
||||||
|
* Copyright (c) 2014 Neil Lathwood <https://github.com/laf/ http://www.lathwood.co.uk/fa>
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify it
|
||||||
|
* under the terms of the GNU General Public License as published by the
|
||||||
|
* Free Software Foundation, either version 3 of the License, or (at your
|
||||||
|
* option) any later version. Please see LICENSE.txt at the top level of
|
||||||
|
* the source code distribution for details.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$version = snmp_get($device, "rbSwBank1Version.0", "-Osqnv", "+RADIO-BRIDGE-MIB");
|
||||||
|
$hardware = $poll_device['sysDescr'];
|
||||||
@@ -20,6 +20,13 @@ if ($device['type'] == 'network' || $device['type'] == 'firewall' || $device['ty
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($device['os'] == 'siklu') {
|
||||||
|
|
||||||
|
echo("It is Siklu\n");
|
||||||
|
include "includes/polling/mib/siklu-mib.inc.php";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
///# GENERIC FRAMEWORK, FILLING VARIABLES
|
///# GENERIC FRAMEWORK, FILLING VARIABLES
|
||||||
if ($device['os'] == 'airport')
|
if ($device['os'] == 'airport')
|
||||||
{
|
{
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,597 @@
|
|||||||
|
|
||||||
|
IEEE8021-TC-MIB DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
-- =============================================================
|
||||||
|
-- TEXTUAL-CONVENTIONs MIB for IEEE 802.1
|
||||||
|
-- =============================================================
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
MODULE-IDENTITY, Unsigned32, org
|
||||||
|
FROM SNMPv2-SMI -- RFC 2578
|
||||||
|
TEXTUAL-CONVENTION
|
||||||
|
FROM SNMPv2-TC; -- RFC 2579
|
||||||
|
|
||||||
|
ieee8021TcMib MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "201202150000Z" -- February 15, 2012
|
||||||
|
ORGANIZATION "IEEE 802.1 Working Group"
|
||||||
|
CONTACT-INFO
|
||||||
|
" WG-URL: http://grouper.ieee.org/groups/802/1/index.html
|
||||||
|
WG-EMail: stds-802-1@ieee.org
|
||||||
|
|
||||||
|
Contact: David Levi
|
||||||
|
Postal: C/O IEEE 802.1 Working Group
|
||||||
|
IEEE Standards Association
|
||||||
|
445 Hoes Lane
|
||||||
|
P.O. Box 1331
|
||||||
|
Piscataway
|
||||||
|
NJ 08855-1331
|
||||||
|
USA
|
||||||
|
E-mail: STDS-802-1-L@LISTSERV.IEEE.ORG
|
||||||
|
|
||||||
|
Contact: Kevin Nolish
|
||||||
|
Postal: C/O IEEE 802.1 Working Group
|
||||||
|
IEEE Standards Association
|
||||||
|
445 Hoes Lane
|
||||||
|
P.O. Box 1331
|
||||||
|
Piscataway
|
||||||
|
NJ 08855-1331
|
||||||
|
USA
|
||||||
|
E-mail: STDS-802-1-L@LISTSERV.IEEE.ORG"
|
||||||
|
DESCRIPTION
|
||||||
|
"Textual conventions used throughout the various IEEE 802.1 MIB
|
||||||
|
modules.
|
||||||
|
|
||||||
|
Unless otherwise indicated, the references in this MIB
|
||||||
|
module are to IEEE 802.1Q-2011.
|
||||||
|
|
||||||
|
Copyright (C) IEEE.
|
||||||
|
This version of this MIB module is part of IEEE802.1Q;
|
||||||
|
see the draft itself for full legal notices."
|
||||||
|
|
||||||
|
REVISION "201202150000Z" -- February 15, 2012
|
||||||
|
DESCRIPTION
|
||||||
|
"Modified IEEE8021BridgePortType textual convention to
|
||||||
|
include stationFacingBridgePort,
|
||||||
|
uplinkAccessPort, and uplinkRelayPort types."
|
||||||
|
REVISION "201108230000Z" -- August 23, 2011
|
||||||
|
DESCRIPTION
|
||||||
|
"Modified textual conventions to support the IEEE 802.1
|
||||||
|
MIBs for PBB-TE Infrastructure Protection Switching."
|
||||||
|
REVISION "201104060000Z" -- April 6, 2011
|
||||||
|
DESCRIPTION
|
||||||
|
"Modified textual conventions to support Remote Customer
|
||||||
|
Service Interfaces."
|
||||||
|
REVISION "201102270000Z" -- February 27, 2011
|
||||||
|
DESCRIPTION
|
||||||
|
"Minor edits to contact information etc. as part of
|
||||||
|
2011 revision of IEEE Std 802.1Q."
|
||||||
|
|
||||||
|
REVISION "200811180000Z" -- November 18, 2008
|
||||||
|
DESCRIPTION
|
||||||
|
"Added textual conventions needed to support the IEEE 802.1
|
||||||
|
MIBs for PBB-TE. Additionally, some textual conventions were
|
||||||
|
modified for the same reason."
|
||||||
|
|
||||||
|
REVISION "200810150000Z" -- October 15, 2008
|
||||||
|
DESCRIPTION
|
||||||
|
"Initial version."
|
||||||
|
::= { org ieee(111) standards-association-numbers-series-standards(2)
|
||||||
|
lan-man-stds(802) ieee802dot1(1) 1 1 }
|
||||||
|
|
||||||
|
ieee802dot1mibs OBJECT IDENTIFIER
|
||||||
|
::= { org ieee(111) standards-association-numbers-series-standards(2)
|
||||||
|
lan-man-stds(802) ieee802dot1(1) 1 }
|
||||||
|
|
||||||
|
-- =============================================================
|
||||||
|
-- Textual Conventions
|
||||||
|
-- =============================================================
|
||||||
|
|
||||||
|
IEEE8021PbbComponentIdentifier ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The component identifier is used to distinguish between the
|
||||||
|
multiple virtual bridge instances within a PB or PBB. Each
|
||||||
|
virtual bridge instance is called a component. In simple
|
||||||
|
situations where there is only a single component the default
|
||||||
|
value is 1. The component is identified by a component
|
||||||
|
identifier unique within the BEB and by a MAC address unique
|
||||||
|
within the PBBN. Each component is associated with a Backbone
|
||||||
|
Edge Bridge (BEB) Configuration managed object."
|
||||||
|
REFERENCE "12.3 l)"
|
||||||
|
SYNTAX Unsigned32 (1..4294967295)
|
||||||
|
|
||||||
|
IEEE8021PbbComponentIdentifierOrZero ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The component identifier is used to distinguish between the
|
||||||
|
multiple virtual bridge instances within a PB or PBB. In simple
|
||||||
|
situations where there is only a single component the default
|
||||||
|
value is 1. The component is identified by a component
|
||||||
|
identifier unique within the BEB and by a MAC address unique
|
||||||
|
within the PBBN. Each component is associated with a Backbone
|
||||||
|
Edge Bridge (BEB) Configuration managed object.
|
||||||
|
|
||||||
|
The special value '0' means 'no component identifier'. When
|
||||||
|
this TC is used as the SYNTAX of an object, that object must
|
||||||
|
specify the exact meaning for this value."
|
||||||
|
REFERENCE "12.3 l)"
|
||||||
|
SYNTAX Unsigned32 (0 | 1..4294967295)
|
||||||
|
|
||||||
|
IEEE8021PbbServiceIdentifier ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The service instance identifier is used at the Customer
|
||||||
|
Backbone Port of a PBB to distinguish a service instance
|
||||||
|
(Local-SID). If the Local-SID field is supported, it is
|
||||||
|
used to perform a bidirectional 1:1 mapping between the
|
||||||
|
Backbone I-SID and the Local-SID. If the Local-SID field
|
||||||
|
is not supported, the Local-SID value is the same as the
|
||||||
|
Backbone I-SID value."
|
||||||
|
REFERENCE "12.16.3, 12.16.5"
|
||||||
|
SYNTAX Unsigned32 (256..16777214)
|
||||||
|
|
||||||
|
IEEE8021PbbServiceIdentifierOrUnassigned ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The service instance identifier is used at the Customer
|
||||||
|
Backbone Port of a PBB to distinguish a service instance
|
||||||
|
(Local-SID). If the Local-SID field is supported, it is
|
||||||
|
used to perform a bidirectional 1:1 mapping between the
|
||||||
|
Backbone I-SID and the Local-SID. If the Local-SID field
|
||||||
|
is not supported, the Local-SID value is the same as the
|
||||||
|
Backbone I-SID value.
|
||||||
|
|
||||||
|
The special value of 1 indicates an unassigned I-SID."
|
||||||
|
REFERENCE "12.16.3, 12.16.5"
|
||||||
|
SYNTAX Unsigned32 (1|256..16777214)
|
||||||
|
|
||||||
|
IEEE8021PbbIngressEgress ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A 2 bit selector which determines if frames on this VIP may
|
||||||
|
ingress to the PBBN but not egress the PBBN, egress to the
|
||||||
|
PBBN but not ingress the PBBN, or both ingress and egress
|
||||||
|
the PBBN."
|
||||||
|
REFERENCE "12.16.3, 12.16.5, 12.16.6"
|
||||||
|
SYNTAX BITS {
|
||||||
|
ingress(0),
|
||||||
|
egress(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021PriorityCodePoint ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Bridge ports may encode or decode the PCP value of the
|
||||||
|
frames that traverse the port. This textual convention
|
||||||
|
names the possible encoding and decoding schemes that
|
||||||
|
the port may use. The priority and drop_eligible
|
||||||
|
parameters are encoded in the Priority Code Point (PCP)
|
||||||
|
field of the VLAN tag using the Priority Code Point
|
||||||
|
Encoding Table for the Port, and they are decoded from
|
||||||
|
the PCP using the Priority Code Point Decoding Table."
|
||||||
|
REFERENCE "12.6.2.6"
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
codePoint8p0d(1),
|
||||||
|
codePoint7p1d(2),
|
||||||
|
codePoint6p2d(3),
|
||||||
|
codePoint5p3d(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021BridgePortNumber ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"An integer that uniquely identifies a bridge port, as
|
||||||
|
specified in 17.3.2.2 of IEEE 802.1ap.
|
||||||
|
This value is used within the spanning tree
|
||||||
|
protocol to identify this port to neighbor bridges."
|
||||||
|
REFERENCE "17.3.2.2"
|
||||||
|
SYNTAX Unsigned32 (1..65535)
|
||||||
|
|
||||||
|
IEEE8021BridgePortNumberOrZero ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"An integer that uniquely identifies a bridge port, as
|
||||||
|
specified in 17.3.2.2 of IEEE 802.1ap. The value 0
|
||||||
|
means no port number, and this must be clarified in the
|
||||||
|
DESCRIPTION clause of any object defined using this
|
||||||
|
TEXTUAL-CONVENTION."
|
||||||
|
REFERENCE "17.3.2.2"
|
||||||
|
SYNTAX Unsigned32 (0..65535)
|
||||||
|
|
||||||
|
IEEE8021BridgePortType ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A port type. The possible port types are:
|
||||||
|
|
||||||
|
customerVlanPort(2) - Indicates a port is a C-tag
|
||||||
|
aware port of an enterprise VLAN aware bridge.
|
||||||
|
|
||||||
|
providerNetworkPort(3) - Indicates a port is an S-tag
|
||||||
|
aware port of a Provider Bridge or Backbone Edge
|
||||||
|
Bridge used for connections within a PBN or PBBN.
|
||||||
|
|
||||||
|
customerNetworkPort(4) - Indicates a port is an S-tag
|
||||||
|
aware port of a Provider Bridge or Backbone Edge
|
||||||
|
Bridge used for connections to the exterior of a
|
||||||
|
PBN or PBBN.
|
||||||
|
|
||||||
|
customerEdgePort(5) - Indicates a port is a C-tag
|
||||||
|
aware port of a Provider Bridge used for connections
|
||||||
|
to the exterior of a PBN or PBBN.
|
||||||
|
|
||||||
|
customerBackbonePort(6) - Indicates a port is a I-tag
|
||||||
|
aware port of a Backbone Edge Bridge's B-component.
|
||||||
|
|
||||||
|
virtualInstancePort(7) - Indicates a port is a virtual
|
||||||
|
S-tag aware port within a Backbone Edge Bridge's
|
||||||
|
I-component which is responsible for handling
|
||||||
|
S-tagged traffic for a specific backbone service
|
||||||
|
instance.
|
||||||
|
|
||||||
|
dBridgePort(8) - Indicates a port is a VLAN-unaware
|
||||||
|
member of an 802.1D bridge.
|
||||||
|
|
||||||
|
remoteCustomerAccessPort (9) - Indicates a port is an
|
||||||
|
S-tag aware port of a Provider Bridge used for
|
||||||
|
connections to remote customer interface LANs
|
||||||
|
through another PBN.
|
||||||
|
|
||||||
|
stationFacingBridgePort (10) - Indicates a port of a
|
||||||
|
Bridge that supports the EVB status parameters
|
||||||
|
(6.6.5) with an EVBMode parameter value of
|
||||||
|
EVB Bridge.
|
||||||
|
|
||||||
|
uplinkAccessPort (11) - Indicates a port on a
|
||||||
|
Port-mapping S-VLAN component that connects an EVB
|
||||||
|
Bridge with an EVB station.
|
||||||
|
|
||||||
|
uplinkRelayPort (12) - Indicates a port of an edge relay
|
||||||
|
that supports the EVB status parameters (6.6.5)
|
||||||
|
with an EVBMode parameter value of EVB station."
|
||||||
|
REFERENCE "12.16.1.1.3 h4), 12.16.2.1/2,
|
||||||
|
12.13.1.1, 12.13.1.2, 12.15.2.1, 12.15.2.2"
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
none(1),
|
||||||
|
customerVlanPort(2),
|
||||||
|
providerNetworkPort(3),
|
||||||
|
customerNetworkPort(4),
|
||||||
|
customerEdgePort(5),
|
||||||
|
customerBackbonePort(6),
|
||||||
|
virtualInstancePort(7),
|
||||||
|
dBridgePort(8),
|
||||||
|
remoteCustomerAccessPort(9),
|
||||||
|
stationFacingBridgePort(10),
|
||||||
|
uplinkAccessPort(11),
|
||||||
|
uplinkRelayPort(12)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021VlanIndex ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A value used to index per-VLAN tables: values of 0 and
|
||||||
|
4095 are not permitted. If the value is between 1 and
|
||||||
|
4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with
|
||||||
|
global scope within a given bridged domain (see VlanId
|
||||||
|
textual convention). If the value is greater than 4095,
|
||||||
|
then it represents a VLAN with scope local to the
|
||||||
|
particular agent, i.e., one without a global VLAN-ID
|
||||||
|
assigned to it. Such VLANs are outside the scope of
|
||||||
|
IEEE 802.1Q, but it is convenient to be able to manage them
|
||||||
|
in the same way using this MIB."
|
||||||
|
REFERENCE "9.6"
|
||||||
|
SYNTAX Unsigned32 (1..4094|4096..4294967295)
|
||||||
|
|
||||||
|
IEEE8021VlanIndexOrWildcard ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A value used to index per-VLAN tables. The value 0 is not
|
||||||
|
permitted, while the value 4095 represents a 'wildcard'
|
||||||
|
value. An object whose SYNTAX is IEEE8021VlanIndexOrWildcard
|
||||||
|
must specify in its DESCRIPTION the specific meaning of the
|
||||||
|
wildcard value. If the value is between 1 and
|
||||||
|
4094 inclusive, it represents an IEEE 802.1Q VLAN-ID with
|
||||||
|
global scope within a given bridged domain (see VlanId
|
||||||
|
textual convention). If the value is greater than 4095,
|
||||||
|
then it represents a VLAN with scope local to the
|
||||||
|
particular agent, i.e., one without a global VLAN-ID
|
||||||
|
assigned to it. Such VLANs are outside the scope of
|
||||||
|
IEEE 802.1Q, but it is convenient to be able to manage them
|
||||||
|
in the same way using this MIB."
|
||||||
|
REFERENCE "9.6"
|
||||||
|
SYNTAX Unsigned32 (1..4294967295)
|
||||||
|
|
||||||
|
IEEE8021MstIdentifier ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"In an MSTP Bridge, an MSTID, i.e., a value used to identify
|
||||||
|
a spanning tree (or MST) instance. In the PBB-TE environment
|
||||||
|
the value 4094 is used to identify VIDs managed by the PBB-TE
|
||||||
|
procedures."
|
||||||
|
SYNTAX Unsigned32 (1..4094)
|
||||||
|
|
||||||
|
IEEE8021ServiceSelectorType ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"A value that represents a type (and thereby the format)
|
||||||
|
of a IEEE8021ServiceSelectorValue. The value can be one of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
ieeeReserved(0) Reserved for definition by IEEE 802.1
|
||||||
|
recommend to not use zero unless
|
||||||
|
absolutely needed.
|
||||||
|
vlanId(1) 12-Bit identifier as described in IEEE802.1Q.
|
||||||
|
isid(2) 24-Bit identifier as described in IEEE802.1ah.
|
||||||
|
tesid(3) 32 Bit identifier as described below.
|
||||||
|
segid(4) 32 Bit identifier as described below.
|
||||||
|
ieeeReserved(xx) Reserved for definition by IEEE 802.1
|
||||||
|
xx values can be [5..7].
|
||||||
|
|
||||||
|
To support future extensions, the IEEE8021ServiceSelectorType
|
||||||
|
textual convention SHOULD NOT be sub-typed in object type
|
||||||
|
definitions. It MAY be sub-typed in compliance statements in
|
||||||
|
order to require only a subset of these address types for a
|
||||||
|
compliant implementation.
|
||||||
|
|
||||||
|
The tesid is used as a service selector for MAs that are present
|
||||||
|
in bridges that implement PBB-TE functionality. A selector of
|
||||||
|
this type is interpreted as a 32 bit unsigned value of type
|
||||||
|
IEEE8021PbbTeTSidId. This type is used to index the
|
||||||
|
Ieee8021PbbTeTeSidTable to find the ESPs which comprise the TE
|
||||||
|
Service Instance named by this TE-SID value.
|
||||||
|
|
||||||
|
The segid is used as a service selector for MAs that are present
|
||||||
|
in bridges that implement IPS functionality. A selector of
|
||||||
|
this type is interpreted as a 32 bit unsigned value of type
|
||||||
|
IEEE8021TeipsSegid. This type is used to index the
|
||||||
|
Ieee8021TeipsSegTable to find the SMPs which comprise the
|
||||||
|
Infrastructure Segment named by this segid value.
|
||||||
|
|
||||||
|
Implementations MUST ensure that IEEE8021ServiceSelectorType
|
||||||
|
objects and any dependent objects (e.g.,
|
||||||
|
IEEE8021ServiceSelectorValue objects) are consistent. An
|
||||||
|
inconsistentValue error MUST be generated if an attempt to
|
||||||
|
change an IEEE8021ServiceSelectorType object would, for
|
||||||
|
example, lead to an undefined IEEE8021ServiceSelectorValue value."
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
vlanId(1),
|
||||||
|
isid(2),
|
||||||
|
tesid(3),
|
||||||
|
segid(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021ServiceSelectorValueOrNone ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"An integer that uniquely identifies a generic MAC service,
|
||||||
|
or none. Examples of service selectors are a VLAN-ID
|
||||||
|
(IEEE 802.1Q) and an I-SID (IEEE 802.1ah).
|
||||||
|
|
||||||
|
An IEEE8021ServiceSelectorValueOrNone value is always
|
||||||
|
interpreted within the context of an
|
||||||
|
IEEE8021ServiceSelectorType value. Every usage of the
|
||||||
|
IEEE8021ServiceSelectorValueOrNone textual convention is
|
||||||
|
required to specify the IEEE8021ServiceSelectorType object
|
||||||
|
that provides the context. It is suggested that the
|
||||||
|
IEEE8021ServiceSelectorType object be logically registered
|
||||||
|
before the object(s) that use the
|
||||||
|
IEEE8021ServiceSelectorValueOrNone textual convention, if
|
||||||
|
they appear in the same logical row.
|
||||||
|
|
||||||
|
The value of an IEEE8021ServiceSelectorValueOrNone object
|
||||||
|
must always be consistent with the value of the associated
|
||||||
|
IEEE8021ServiceSelectorType object. Attempts to set an
|
||||||
|
IEEE8021ServiceSelectorValueOrNone object to a value
|
||||||
|
inconsistent with the associated
|
||||||
|
IEEE8021ServiceSelectorType must fail with an
|
||||||
|
inconsistentValue error.
|
||||||
|
|
||||||
|
The special value of zero is used to indicate that no
|
||||||
|
service selector is present or used. This can be used in
|
||||||
|
any situation where an object or a table entry MUST either
|
||||||
|
refer to a specific service, or not make a selection.
|
||||||
|
|
||||||
|
Note that a MIB object that is defined using this
|
||||||
|
TEXTUAL-CONVENTION SHOULD clarify the meaning of
|
||||||
|
'no service' (i.e., the special value 0), as well as the
|
||||||
|
maximum value (i.e., 4094, for a VLAN ID)."
|
||||||
|
SYNTAX Unsigned32 (0 | 1..4294967295)
|
||||||
|
|
||||||
|
IEEE8021ServiceSelectorValue ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"An integer that uniquely identifies a generic MAC service.
|
||||||
|
Examples of service selectors are a VLAN-ID (IEEE 802.1Q)
|
||||||
|
and an I-SID (IEEE 802.1ah).
|
||||||
|
|
||||||
|
An IEEE8021ServiceSelectorValue value is always interpreted
|
||||||
|
within the context of an IEEE8021ServiceSelectorType value.
|
||||||
|
Every usage of the IEEE8021ServiceSelectorValue textual
|
||||||
|
convention is required to specify the
|
||||||
|
IEEE8021ServiceSelectorType object that provides the context.
|
||||||
|
It is suggested that the IEEE8021ServiceSelectorType object
|
||||||
|
be logically registered before the object(s) that use the
|
||||||
|
IEEE8021ServiceSelectorValue textual convention, if they
|
||||||
|
appear in the same logical row.
|
||||||
|
|
||||||
|
The value of an IEEE8021ServiceSelectorValue object must
|
||||||
|
always be consistent with the value of the associated
|
||||||
|
IEEE8021ServiceSelectorType object. Attempts to set an
|
||||||
|
IEEE8021ServiceSelectorValue object to a value inconsistent
|
||||||
|
with the associated IEEE8021ServiceSelectorType must fail
|
||||||
|
with an inconsistentValue error.
|
||||||
|
|
||||||
|
Note that a MIB object that is defined using this
|
||||||
|
TEXTUAL-CONVENTION SHOULD clarify the
|
||||||
|
maximum value (i.e., 4094, for a VLAN ID)."
|
||||||
|
SYNTAX Unsigned32 (1..4294967295)
|
||||||
|
|
||||||
|
IEEE8021PortAcceptableFrameTypes ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Acceptable frame types on a port."
|
||||||
|
REFERENCE "12.10.1.3, 12.13.3.3, 12.13.3.4"
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
admitAll(1),
|
||||||
|
admitUntaggedAndPriority(2),
|
||||||
|
admitTagged(3)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021PriorityValue ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"An 802.1Q user priority value."
|
||||||
|
REFERENCE "12.13.3.3"
|
||||||
|
SYNTAX Unsigned32 (0..7)
|
||||||
|
|
||||||
|
IEEE8021PbbTeProtectionGroupId ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The PbbTeProtectionGroupId identifier is used to distinguish
|
||||||
|
protection group instances present in the B Component of
|
||||||
|
an IB-BEB."
|
||||||
|
REFERENCE "12.19.2"
|
||||||
|
SYNTAX Unsigned32 (1..429467295)
|
||||||
|
|
||||||
|
IEEE8021PbbTeEsp ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent the logical
|
||||||
|
components that comprise the 3-tuple that identifies an
|
||||||
|
Ethernet Switched Path. The 3-tuple consists of a
|
||||||
|
destination MAC address, a source MAC address and a VID.
|
||||||
|
Bytes (1..6) of this textual convention contain the
|
||||||
|
ESP-MAC-DA, bytes (7..12) contain the ESP-MAC-SA, and bytes
|
||||||
|
(13..14) contain the ESP-VID."
|
||||||
|
REFERENCE "802.1Qay 3.2"
|
||||||
|
SYNTAX OCTET STRING ( SIZE(14))
|
||||||
|
|
||||||
|
IEEE8021PbbTeTSidId ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent an identifier
|
||||||
|
that refers to a TE Service Instance. Note that, internally
|
||||||
|
a TE-SID is implementation dependent. This textual convention
|
||||||
|
defines the external representation of TE-SID values."
|
||||||
|
REFERENCE
|
||||||
|
"802.1Qay 3.11"
|
||||||
|
SYNTAX Unsigned32 (1..42947295)
|
||||||
|
|
||||||
|
IEEE8021PbbTeProtectionGroupConfigAdmin ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent administrative
|
||||||
|
commands that can be issued to a protection group. The value
|
||||||
|
noAdmin(1) is used to indicate that no administrative action
|
||||||
|
is to be performed."
|
||||||
|
REFERENCE "26.10.3.3.5
|
||||||
|
26.10.3.3.6
|
||||||
|
26.10.3.3.7
|
||||||
|
12.19.2.3.2"
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
clear(1),
|
||||||
|
lockOutProtection(2),
|
||||||
|
forceSwitch(3),
|
||||||
|
manualSwitchToProtection(4),
|
||||||
|
manualSwitchToWorking(5)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021PbbTeProtectionGroupActiveRequests ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent the status of
|
||||||
|
active requests within a protection group."
|
||||||
|
REFERENCE
|
||||||
|
"12.19.2.1.3 d)"
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
noRequest(1),
|
||||||
|
loP(2),
|
||||||
|
fs(3),
|
||||||
|
pSFH(4),
|
||||||
|
wSFH(5),
|
||||||
|
manualSwitchToProtection(6),
|
||||||
|
manualSwitchToWorking(7)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021TeipsIpgid ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"The TEIPS IPG identifier is used to distinguish
|
||||||
|
IPG instances present in a PBB."
|
||||||
|
REFERENCE "12.24.1.1.3 a)"
|
||||||
|
SYNTAX Unsigned32 (1..429467295)
|
||||||
|
|
||||||
|
IEEE8021TeipsSegid ::= TEXTUAL-CONVENTION
|
||||||
|
DISPLAY-HINT "d"
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent an
|
||||||
|
identifier that refers to an Infrastructure Segment.
|
||||||
|
Note that, internally a SEG-ID implementation
|
||||||
|
dependent. This textual convention defines the
|
||||||
|
external representation of SEG-ID values."
|
||||||
|
REFERENCE
|
||||||
|
"26.11.1"
|
||||||
|
SYNTAX Unsigned32 (1..42947295)
|
||||||
|
|
||||||
|
IEEE8021TeipsSmpid ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent the logical
|
||||||
|
components that comprise the 3-tuple that identifies a
|
||||||
|
Segment Monitoring Path (SMP). The 3-tuple consists of a
|
||||||
|
destination MAC address, a source MAC address and a VID.
|
||||||
|
Bytes (1..6) of this textual convention contain the
|
||||||
|
SMP-MAC-DA, bytes (7..12) contain the SMP-MAC-SA, and bytes
|
||||||
|
(13..14) contain the SMP-VID."
|
||||||
|
REFERENCE "26.11.1"
|
||||||
|
SYNTAX OCTET STRING ( SIZE(14))
|
||||||
|
|
||||||
|
IEEE8021TeipsIpgConfigAdmin ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent administrative
|
||||||
|
commands that can be issued to an IPG. The value
|
||||||
|
clear(1) is used to indicate that no administrative action
|
||||||
|
is to be performed."
|
||||||
|
REFERENCE "12.24.2.1.3 h)"
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
clear(1),
|
||||||
|
lockOutProtection(2),
|
||||||
|
forceSwitch(3),
|
||||||
|
manualSwitchToProtection(4),
|
||||||
|
manualSwitchToWorking(5)
|
||||||
|
}
|
||||||
|
|
||||||
|
IEEE8021TeipsIpgConfigActiveRequests ::= TEXTUAL-CONVENTION
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"This textual convention is used to represent the status of
|
||||||
|
active requests within an IPG."
|
||||||
|
REFERENCE
|
||||||
|
"12.24.2.1.3 d)"
|
||||||
|
SYNTAX INTEGER {
|
||||||
|
noRequest(1),
|
||||||
|
loP(2),
|
||||||
|
fs(3),
|
||||||
|
pSFH(4),
|
||||||
|
wSFH(5),
|
||||||
|
manualSwitchToProtection(6),
|
||||||
|
manualSwitchToWorking(7)
|
||||||
|
}
|
||||||
|
|
||||||
|
END
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user