Compare commits

...

39 Commits

Author SHA1 Message Date
Andrey Pazychev
159ab659cb Raisecom. cosmetic 2020-05-20 22:47:37 +03:00
Andrey Pazychev
82032a10e1 Raisecom RC. more wide regexp HW 2020-05-20 22:23:27 +03:00
Andrey Pazychev
84c870f911 Raisecom. HW regexp bugfix 2020-05-20 22:18:57 +03:00
Andrey Pazychev
2b1b53e539 Raisecom RC. Next gen perl coding style. 2020-05-20 22:01:40 +03:00
Andrey Pazychev
b019f3fa06 WIP. Raisecom crap splitting 2020-05-20 21:08:14 +03:00
Andrey Pazychev
4cb3083993 Qtech. China could use different OID prefix for same one ObjectID. Fixed. 2020-05-20 17:49:53 +03:00
Andrey Pazychev
bed7dac4ac Eltex added one more model suport 2020-05-20 17:30:13 +03:00
Andrey Pazychev
316a799fdb Dlink. Added HW to model info 2020-05-20 17:12:25 +03:00
Andrey Pazychev
f2cbd163c9 WIP.
Initial added vendor ECI. os version, serial, hw/fw not found.
2020-05-20 17:03:06 +03:00
Andrey Pazychev
e756091565 WIP. Qtech - more wide model mask for group enterprises.27514.1.3* 2020-05-20 16:53:05 +03:00
Andrey Pazychev
02f667a05b Qtech. Added enterprises.27514.1.3.13 2020-05-20 16:46:49 +03:00
Andrey Pazychev
14e9da0fb7 Qtech vendor refactored. 2020-05-20 05:43:58 +03:00
Andrey Pazychev
08a632c053 WIP.
Added Digital China vendor
Added ASAM 73xx model for Lucent
2020-05-19 21:27:08 +03:00
Andrey Pazychev
fbf0bbe880 WIP.
Accton, Proscend and Nag vendors initial suppport
2020-05-19 20:33:28 +03:00
Andrey Pazychev
4ce3fd8fb6 Increase version because Rotek 2020-05-18 02:58:05 +03:00
Andrey Pazychev
cae9878c60 Rotek added.
Rotek and Raisercom used the same vendor id -(
2020-05-18 02:57:20 +03:00
Andrey Pazychev
cda629bf39 Rotek vendor UCN 2020-05-18 02:09:19 +03:00
Andrey Pazychev
396eb87b57 Raisecom. Crap with OS version same. Different style inside one ObjectID. 2020-05-18 01:42:35 +03:00
Andrey Pazychev
db06c8e75b Raisecom. Crap with HW version different style inside one object ID 2020-05-18 00:58:45 +03:00
Andrey Pazychev
3fd9f1deda Raisecom 886 RC1 2020-05-18 00:34:24 +03:00
Andrey Pazychev
b0e9185cca WIP. Raisecom added 886.6.140 and 191 2020-05-18 00:21:57 +03:00
Andrey Pazychev
b73f0d8d57 WIP. Telindus 2020-05-17 23:43:02 +03:00
Andrey Pazychev
5655486b80 WIP. Reaisecom 2020-05-17 23:31:22 +03:00
Andrey Pazychev
cc935a580d WIP.
Added raisecom 41752
2020-05-17 23:12:19 +03:00
Andrey Pazychev
40ff825a3a Eltex done. I hope... 2020-05-17 20:48:30 +03:00
Andrey Pazychev
4bb40483e6 WIP. Eltex crap 2020-05-17 20:38:53 +03:00
Andrey Pazychev
8c98750541 WIP. Eltex hw crap 2020-05-17 20:32:21 +03:00
Andrey Pazychev
57aa73f613 Eltex hw version crap -( 2020-05-17 19:02:34 +03:00
Andrey Pazychev
fe3bc6afe0 Fix Eltex two verdor numer DSLAM MXA64 2020-05-17 17:07:34 +03:00
Andrey Pazychev
10e0a53b3c Added Eltex DSLAM 35265.1.28 2020-05-17 16:53:28 +03:00
Andrey Pazychev
98d2005bae Eltex fix undef model 2020-05-17 16:17:47 +03:00
Andrey Pazychev
272b56d625 Fix Eltex a lot model.
Add Telindus
Add serial to Zixel
2020-05-17 15:18:08 +03:00
Andrey Pazychev
aa44871f83 Zyxel basic support 2020-05-16 23:22:02 +03:00
Andrey Pazychev
27930d5e50 Add support Raisecom 2020-05-09 19:15:00 +03:00
Andrey Pazychev
a0d3cdcf9f Eltex run also Layer 2 2020-05-09 13:13:08 +03:00
Andrey Pazychev
8317923f28 Eltex support.
Added one Lucend OID
2020-05-09 05:04:39 +03:00
Andrey Pazychev
fc71e2d88d Small fixes. OIDs moved to MIBs 2020-05-09 05:03:55 +03:00
Andrey Pazychev
f96d0df182 Qtech and Carelink support 2020-05-08 20:47:41 +03:00
Andrey Pazychev
1dc4baf1d9 version 135 2020-05-08 20:47:13 +03:00
147 changed files with 2028 additions and 153 deletions

View File

@@ -25,7 +25,7 @@ our
($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG, %SPEED_MAP,
$NOSUCH, $BIGINT, $REPEATERS);
$VERSION = '3.70';
$VERSION = '3.70-135-20.5.6';
=head1 NAME
@@ -33,7 +33,7 @@ SNMP::Info - OO Interface to Network devices and MIBs through SNMP
=head1 VERSION
SNMP::Info - Version 3.70
SNMP::Info - Version 3.70-135
=head1 AUTHOR
@@ -1350,7 +1350,7 @@ sub new {
delete $sess_args{Offline};
}
if ( defined $args{Cache} and ref {} eq ref $args{Cache} ) {
if ( defined $args{Cache} and ref({}) eq ref $args{Cache} ) {
$new_obj->{$_} = $args{Cache}->{$_} for keys %{$args{Cache}};
delete $sess_args{Cache};
}
@@ -1571,7 +1571,7 @@ sub cache {
my $self = shift;
my $data = shift;
if ( defined $data and ref {} eq ref $data ) {
if ( defined $data and ref({}) eq ref $data ) {
$self->{$_} = $data->{$_} for keys %$data;
}
@@ -1671,9 +1671,15 @@ sub device_type {
45 => 'SNMP::Info::Layer2::Baystack',
171 => 'SNMP::Info::Layer3::DLink',
244 => 'SNMP::Info::Layer3::Lantronix',
259 => 'SNMP::Info::Layer3::Accton',
311 => 'SNMP::Info::Layer3::Microsoft',
637 => 'SNMP::Info::Layer3::AlcatelLucent',
655 => 'SNMP::Info::Layer2::Carelink',
664 => 'SNMP::Info::Layer2::Adtran',
674 => 'SNMP::Info::Layer3::Dell',
776 => 'SNMP::Info::Layer2::Telindus',
890 => 'SNMP::Info::Layer2::Zyxel',
1286 => 'SNMP::Info::Layer2::ECI',
1588 => 'SNMP::Info::Layer3::Foundry',
1872 => 'SNMP::Info::Layer3::AlteonAD',
1890 => 'SNMP::Info::Layer3::Redlion',
@@ -1696,10 +1702,13 @@ sub device_type {
5624 => 'SNMP::Info::Layer3::Enterasys',
6027 => 'SNMP::Info::Layer3::Force10',
6141 => 'SNMP::Info::Layer3::Ciena',
6339 => 'SNMP::Info::Layer3::DigitalChina',
6486 => 'SNMP::Info::Layer3::AlcatelLucent',
6527 => 'SNMP::Info::Layer3::Timetra',
6672 => 'SNMP::Info::Layer2::Proscend',
6876 => 'SNMP::Info::Layer3::VMware',
8072 => 'SNMP::Info::Layer3::NetSNMP',
8886 => 'SNMP::Info::Layer3::Raisecom',
9303 => 'SNMP::Info::Layer3::PacketFront',
10002 => 'SNMP::Info::Layer2::Ubiquiti',
10418 => 'SNMP::Info::Layer1::Cyclades',
@@ -1717,12 +1726,18 @@ sub device_type {
25506 => 'SNMP::Info::Layer3::H3C',
26543 => 'SNMP::Info::Layer3::IBMGbTor',
26928 => 'SNMP::Info::Layer2::Aerohive',
27514 => 'SNMP::Info::Layer3::Qtech',
30065 => 'SNMP::Info::Layer3::Arista',
30803 => 'SNMP::Info::Layer3::VyOS',
32761 => 'SNMP::Info::Layer3::Rotek',
34300 => 'SNMP::Info::Layer3::Eltex',
35098 => 'SNMP::Info::Layer3::Pica8',
35265 => 'SNMP::Info::Layer3::Eltex',
40310 => 'SNMP::Info::Layer3::Cumulus',
40418 => 'SNMP::Info::Layer3::Nag',
41112 => 'SNMP::Info::Layer2::Ubiquiti',
44641 => 'SNMP::Info::Layer3::VyOS',
41752 => 'SNMP::Info::Layer3::Raisecom',
);
my %l2sysoidmap = (
@@ -1732,9 +1747,15 @@ sub device_type {
45 => 'SNMP::Info::Layer2::Baystack',
171 => 'SNMP::Info::Layer3::DLink',
207 => 'SNMP::Info::Layer2::Allied',
259 => 'SNMP::Info::Layer3::Accton',
266 => 'SNMP::Info::Layer2::Nexans',
637 => 'SNMP::Info::Layer3::AlcatelLucent',
655 => 'SNMP::Info::Layer2::Carelink',
664 => 'SNMP::Info::Layer2::Adtran',
674 => 'SNMP::Info::Layer3::Dell',
776 => 'SNMP::Info::Layer2::Telindus',
890 => 'SNMP::Info::Layer2::Zyxel',
1286 => 'SNMP::Info::Layer2::ECI',
1872 => 'SNMP::Info::Layer3::AlteonAD',
1890 => 'SNMP::Info::Layer3::Redlion',
1916 => 'SNMP::Info::Layer3::Extreme',
@@ -1747,7 +1768,10 @@ sub device_type {
4526 => 'SNMP::Info::Layer2::Netgear',
5624 => 'SNMP::Info::Layer3::Enterasys',
6141 => 'SNMP::Info::Layer3::Ciena',
6339 => 'SNMP::Info::Layer3::DigitalChina',
6486 => 'SNMP::Info::Layer3::AlcatelLucent',
6672 => 'SNMP::Info::Layer2::Proscend',
8886 => 'SNMP::Info::Layer3::Raisecom',
9303 => 'SNMP::Info::Layer3::PacketFront',
10418 => 'SNMP::Info::Layer1::Cyclades',
11898 => 'SNMP::Info::Layer2::Orinoco',
@@ -1760,6 +1784,12 @@ sub device_type {
21091 => 'SNMP::Info::Layer2::Exinda',
26543 => 'SNMP::Info::Layer3::IBMGbTor',
26928 => 'SNMP::Info::Layer2::Aerohive',
27514 => 'SNMP::Info::Layer3::Qtech',
32761 => 'SNMP::Info::Layer3::Rotek',
34300 => 'SNMP::Info::Layer3::Eltex',
35265 => 'SNMP::Info::Layer3::Eltex',
40418 => 'SNMP::Info::Layer3::Nag',
41752 => 'SNMP::Info::Layer3::Raisecom',
);
my %l1sysoidmap = (
@@ -2871,7 +2901,7 @@ sub ip_index {
my $o_ip_idx = $self->old_ip_index();
return $o_ip_idx
if ( ref {} eq ref $o_ip_idx and scalar keys %$o_ip_idx );
if ( ref({}) eq ref $o_ip_idx and scalar keys %$o_ip_idx );
# Since callers may be using the old iid to get the IP, strip protocol
# and length from the index
@@ -2897,7 +2927,7 @@ sub ip_table {
my $o_ip_table = $self->old_ip_table();
return $o_ip_table
if ( ref {} eq ref $o_ip_table and scalar keys %$o_ip_table );
if ( ref({}) eq ref $o_ip_table and scalar keys %$o_ip_table );
my $n_ip_idx = $self->new_ip_index() || {};
my $n_ip_type = $self->new_ip_type() || {};
@@ -2921,7 +2951,7 @@ sub ip_netmask {
my $o_ip_mask = $self->old_ip_netmask();
return $o_ip_mask
if ( ref {} eq ref $o_ip_mask and scalar keys %$o_ip_mask );
if ( ref({}) eq ref $o_ip_mask and scalar keys %$o_ip_mask );
my $n_ip_pfx = $self->new_ip_prefix() || {};
my $n_ip_type = $self->new_ip_type() || {};
@@ -4802,7 +4832,7 @@ sub _cache {
my ($attr, $data) = @_;
my $store = $self->store();
if (ref {} eq ref $data) {
if (ref({}) eq ref $data) {
$self->{"_${attr}"}++;
$store->{$attr} = $data;
}
@@ -4830,7 +4860,7 @@ sub _munge {
return $data unless defined $munge->{$attr};
if (ref {} eq ref $data) {
if (ref({}) eq ref $data) {
my $subref = $munge->{$attr};
my %munged;
foreach my $key ( keys %$data ) {

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'ADSL-LINE-MIB' => 'adslLineType' );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
# Load MIB for leafs referenced within class
%MIBS = ('IF-MIB' => 'ifIndex',);

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, $INIT);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'BRIDGE-MIB' => 'dot1dBaseBridgeAddress',

View File

@@ -43,7 +43,7 @@ use SNMP::Info;
our
($VERSION, $DEBUG, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $INIT, %CDP_CAPABILITIES);
$VERSION = '3.70';
$VERSION = '3.70-135';
# Five data structures required by SNMP::Info
%MIBS = ( 'CISCO-CDP-MIB' => 'cdpGlobalRun' );

View File

@@ -48,7 +48,7 @@ use SNMP::Info::IEEE802dot3ad;
our ($DEBUG, $VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::IEEE802dot3ad::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'CISCO-CONFIG-COPY-MIB' => 'ccCopyTable',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PAECAPABILITIES);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'CISCO-PORT-SECURITY-MIB' => 'ciscoPortSecurityMIB',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
'CISCO-CDP-MIB' => 'cdpCachePowerConsumption',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'CISCO-CLASS-BASED-QOS-MIB' => 'cbQosIfIndex', );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'CISCO-RTTMON-MIB' => 'rttMonCtrlAdminOwner', );

View File

@@ -38,7 +38,7 @@ use Exporter;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'CISCO-STACK-MIB' => 'ciscoStackMIB', );

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'SNMPv2-MIB' => 'sysDescr',

View File

@@ -36,7 +36,7 @@ use SNMP::Info::Bridge;
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT, $INIT);
$VERSION = '3.70';
$VERSION = '3.70-135';
@SNMP::Info::CiscoStpExtensions::ISA = qw/SNMP::Info::Bridge SNMP::Info Exporter/;
@SNMP::Info::CiscoStpExtensions::EXPORT_OK = qw//;

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'CISCO-VTP-MIB' => 'vtpVlanName',

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS

View File

@@ -11,7 +11,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'DOCS-IF3-MIB' => 'docsIf3Mib',

View File

@@ -40,7 +40,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'EXTREME-EDP-MIB' => 'extremeEdpPortIfIndex',

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'ENTITY-MIB' => 'entPhysicalSerialNum' );

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'EtherLike-MIB' => 'etherMIB' );

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( 'IEEE802dot11-MIB' => 'dot11DesiredSSID', );

View File

@@ -44,7 +44,7 @@ use SNMP::Info::Aggregate;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Aggregate::MIBS,

View File

@@ -45,7 +45,7 @@ use constant {
IPV6MIB => 3,
};
$VERSION = '3.70';
$VERSION = '3.70-135';

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
'LLDP-MIB' => 'lldpLocSysCapEnabled',

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::MIBS, 'SNMP-REPEATER-MIB' => 'rptrPortGroupIndex' );

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, 'root_ip' => 'actualIPAddr', );

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, );

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer1::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -47,7 +47,7 @@ use SNMP::Info::DocsisHE;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::CDP;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Airespace;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,

View File

@@ -48,7 +48,7 @@ use SNMP::Info::IEEE802dot11;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%GLOBALS = (
%SNMP::Info::IEEE802dot11::GLOBALS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::Layer2::MIBS );

View File

@@ -45,7 +45,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -48,7 +48,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2::Cisco;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%GLOBALS = (
%SNMP::Info::Layer2::Cisco::GLOBALS,

133
lib/SNMP/Info/Layer2/Carelink.pm Executable file
View File

@@ -0,0 +1,133 @@
# SNMP::Info::Layer2::Carelink - SNMP Interface to Carelink Devices
#
# Copyright (c) 2020 by 135.
package SNMP::Info::Layer2::Carelink;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer2;
use SNMP::Info::Layer3;
@SNMP::Info::Layer2::Carelink::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Carelink::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70-135';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.
our $index = undef;
%MIBS = (
%SNMP::Info::Layer2::MIBS,
);
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
'serial_oid' => 'mib-2.47.1.1.1.1.11.1',
'os_ver_oid' => 'mib-2.47.1.1.1.1.9.1',
'hw_oid' => 'mib-2.47.1.1.1.1.2.1',
'fw_mac_oid' => 'mib-2.47.1.1.1.1.11.1',
);
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
sub vendor {
return 'carelink';
}
sub os {
return 'caos';
}
sub os_ver {
my $carelink = shift;
my $ver = $carelink->os_ver_oid() || undef;
return $ver if (defined $ver);
return 'Unknown';
}
sub model {
my $carelink = shift;
my $id = $carelink->id();
my $mod = $carelink->hw_oid() || undef;
return $mod if (defined $mod);
return 'Unknown';
}
1;
__END__
=head1 NAME
SNMP::Info::Layer2::Carelink - SNMP Interface to Carelink Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $carelink = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $carelink->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for carelink Devices running IOS-like software
=head2 Inherited Classes
=over
=item SNMP::Info::Layer2
=item SNMP::Info::Layer3
=back
=head2 Inherited Classes' MIBs
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $carelink->vendor()
Returns 'adtran'
=item $carelink->os()
Returns 'caos'
=item $carelink->layers()
Ensures that layer two is reported, at least.
=item $carelink->os_ver()
Returns the software version.
=item $carelink->model()
Returns the model extracted.
=item $carelink->serial()
Returns serial number.
=cut

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2::Cisco;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::Cisco::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::SONMP;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -52,7 +52,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -49,7 +49,7 @@ use SNMP::Info::CDP;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,

113
lib/SNMP/Info/Layer2/ECI.pm Executable file
View File

@@ -0,0 +1,113 @@
# SNMP::Info::Layer2::ECI - SNMP Interface to ECI Devices
#
# Copyright (c) 2020 by 135.
package SNMP::Info::Layer2::ECI;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer2;
@SNMP::Info::Layer2::ECI::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::ECI::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
);
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
sub vendor {
return 'eci';
}
sub os {
return 'eci-os';
}
sub os_ver {
return 'unknown';
}
sub model {
my $obj = shift;
return $obj->description;
}
1;
__END__
=head1 NAME
SNMP::Info::Layer2::ECI - SNMP Interface to ECI Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $obj = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $obj->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for ECI Devices running IOS-like software
=head2 Inherited Classes
=over
=item SNMP::Info::Layer2
=back
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $obj->vendor()
Returns 'eci'
=item $obj->os()
Returns 'eci-os'
=item $obj->layers()
Ensures that layer two is reported, at least.
=item $obj->os_ver()
Returns the software version.
=item $obj->model
Returns the model extracted.
=item $obj->serial()
Returns serial number.
=cut
=back

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -50,7 +50,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -45,7 +45,7 @@ use SNMP::Info::CDP;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -37,7 +37,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Airespace;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::IEEE802dot11::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

108
lib/SNMP/Info/Layer2/Proscend.pm Executable file
View File

@@ -0,0 +1,108 @@
# SNMP::Info::Layer2::Proscend - SNMP Interface to Proscend Devices
#
# Copyright (c) 2020 by 135.
package SNMP::Info::Layer2::Proscend;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer2;
@SNMP::Info::Layer2::Proscend::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Proscend::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
);
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
sub vendor {
return 'proscend';
}
sub os {
return 'proscend';
}
sub model {
my $obj = shift;
return $obj->SUPER::model();
}
1;
__END__
=head1 NAME
SNMP::Info::Layer2::Proscend - SNMP Interface to Proscend Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $obj = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $obj->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for Proscend Devices
=head2 Inherited Classes
=over
=item SNMP::Info::Layer2
=back
=head2 Inherited Classes' MIBs
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $obj->vendor()
Returns 'proscend'
=item $obj->os()
Returns 'proscend'
=item $obj->os_ver()
Returns the software version.
=item $obj->model()
Returns the model extracted.
=item $obj->serial()
Returns serial number.
=cut
=back

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (%SNMP::Info::Layer2::MIBS, 'SIXNET-MIB' => 'sxid',);

124
lib/SNMP/Info/Layer2/Telindus.pm Executable file
View File

@@ -0,0 +1,124 @@
# SNMP::Info::Layer2::Telindus - SNMP Interface to Telindus Devices
#
# Copyright (c) 2020 by 135.
package SNMP::Info::Layer2::Telindus;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer2;
@SNMP::Info::Layer2::Telindus::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Telindus::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70-135';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.
# our $index = undef;
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
);
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
sub vendor {
return 'telindus';
}
sub os {
return 'telind-os';
}
sub os_ver {
my $obj = shift;
$obj->description =~ /\$Telindus\s(\d+)(\$\s(.*)|\s(.*)\$)\s(T\d+\/\d+)/;
return $5
if defined $5;
return $obj->SUPER::os_ver();
}
sub model {
my $obj = shift;
$obj->description =~ /\$Telindus\s(\d+)(\$\s(.*)|\s(.*)\$)\s(T\d+\/\d+)/;
if (defined $1 and defined $3) {
return $1 . ' ' . $3;
}
elsif (defined $1 and defined $4) {
return $1 . ' ' . $4;
}
return $obj->SUPER::model();
}
1;
__END__
=head1 NAME
SNMP::Info::Layer2::Telindus - SNMP Interface to Telindus Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $obj = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $obj->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for Telindus Devices
=head2 Inherited Classes
=over
=item SNMP::Info::Layer2
=back
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $obj->vendor()
Returns 'zyxel'
=item $obj->os()
Returns 'zynos'
=item $obj->layers()
Ensures that layer two is reported, at least.
=item $obj->os_ver()
Returns the software version.
=item $obj->model
Returns the model extracted.
=cut
=back

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Layer3; # only used in sub mac()
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );

126
lib/SNMP/Info/Layer2/Zyxel.pm Executable file
View File

@@ -0,0 +1,126 @@
# SNMP::Info::Layer2::Zyxel - SNMP Interface to Zyxel Devices
#
# Copyright (c) 2020 by 135.
package SNMP::Info::Layer2::Zyxel;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer2;
@SNMP::Info::Layer2::Zyxel::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Zyxel::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70-135';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.
# our $index = undef;
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
'serial_oid' => 'transmission.94.1.1.2.1.1.1',
);
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
sub vendor {
return 'zyxel';
}
sub os {
return 'zynos';
}
sub os_ver {
my $obj = shift;
return 'unknown';
}
sub model {
my $obj = shift;
my $id = $obj->id;
if ($id =~ /890\.1\.5\.11\.11$/) {
return 'IES-1000 AAM1212-51';
}
return 'unknown';
}
sub serial {
my $obj = shift;
return $obj->serial_oid;
}
1;
__END__
=head1 NAME
SNMP::Info::Layer2::Zyxel - SNMP Interface to Zyxel Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $obj = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $obj->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for Zyxel Devices running IOS-like software
=head2 Inherited Classes
=over
=item SNMP::Info::Layer2
=back
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $obj->vendor()
Returns 'zyxel'
=item $obj->os()
Returns 'zynos'
=item $obj->layers()
Ensures that layer two is reported, at least.
=item $obj->os_ver()
Returns the software version.
=item $obj->model
Returns the model extracted.
=item $obj->serial()
Returns serial number.
=cut
=back

View File

@@ -54,7 +54,7 @@ use SNMP::Info::DocsisHE;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::MIBS,

155
lib/SNMP/Info/Layer3/Accton.pm Executable file
View File

@@ -0,0 +1,155 @@
# SNMP::Info::Layer3::Accton - SNMP Interface to Accton Devices
#
# Copyright (c) 2020 by 135.
package SNMP::Info::Layer3::Accton;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer3;
@SNMP::Info::Layer3::Accton::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Accton::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::Layer3::MIBS, );
%GLOBALS = (
%SNMP::Info::Layer3::GLOBALS,
'os_ver_oid_259_6_10_94' => 'enterprises.259.6.10.94.1.1.5.4.0',
'os_ver_oid_259_8_1_5' => 'enterprises.259.8.1.5.1.1.5.4.0',
);
%FUNCS = (
%SNMP::Info::Layer3::FUNCS,
);
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
sub vendor {
return 'accton';
}
sub os {
return 'accton-os';
}
sub model {
my $obj = shift;
my $hw = $obj->c_hw_ver() || undef;
return $obj->SUPER::description() . ' HW:' . $hw if (defined $hw);
return $obj->SUPER::description()
#return $obj->SUPER::model();
}
sub serial {
my $obj = shift;
my $sess = $obj->session();
my $serial = $sess->get($obj->id() . '.1.1.3.1.10.1') || undef;
return $serial;
}
sub hwver {
my $obj = shift;
my $sess = $obj->session();
my $hw = $sess->get($obj->id() . '.1.1.3.1.2.1') || undef;
return $hw;
}
sub os_ver {
my $obj = shift;
my $sess = $obj->session();
my $os_ver = $sess->get($obj->id() . '.1.1.5.4.0') || undef;
my $brom = $sess->get($obj->id() . '.1.1.3.1.5.1') || undef;
my $loader = $sess->get($obj->id() . '.1.1.3.1.4.1') || undef;
my $full_os_ver = $os_ver if defined($os_ver) || return;
$full_os_ver .= ' bootrom:' . $brom if defined($brom);
$full_os_ver .= ' loader:' . $loader if defined($loader);
return $full_os_ver;
}
sub description {
my $obj = shift;
my $descr = undef;
my $sess = $obj->session();
$descr .= $obj->SUPER::description() . "\n";
$descr .= "Serial Number: " . $sess->get($obj->id() . '.1.1.3.1.10.1') . "\n";
$descr .= "Hardware Version: " . $sess->get($obj->id() . '.1.1.3.1.2.1') . "\n";
$descr .= "EPLD Version: " . $sess->get($obj->id() . '.1.1.3.1.15.1') . "\n";
$descr .= "Loader Version: " . $sess->get($obj->id() . '.1.1.3.1.4.1') . "\n";
$descr .= "Boot ROM Version: " . $sess->get($obj->id() . '.1.1.3.1.5.1') . "\n";
$descr .= "Operation Code Version: " . $sess->get($obj->id() . '.1.1.5.4.0') . "\n";
return $descr;
#$sess->get($obj->id() . '.1.1.5.4.0')
}
1;
__END__
=head1 NAME
SNMP::Info::Layer3::Accton - SNMP Interface to Accton Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $obj = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $obj->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for Accton Devices
=head2 Inherited Classes
=over
=item SNMP::Info::Layer3
=back
=head2 Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $obj->vendor()
Returns 'accton'
=item $obj->os()
Returns 'accton-os'
=item $obj->os_ver()
Returns the software version.
=item $obj->model()
Returns the model extracted.
=item $obj->serial()
Returns serial number.
=cut
=back

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -49,7 +49,7 @@ use SNMP::Info::LLDP;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -96,6 +96,8 @@ sub model {
my $id = $alu->id();
my $model = &SNMP::translateObj($id);
return 'ASAM 73xx' if $id =~ /637\.61\.1$/;
return $id unless defined $model;
$model =~ s/^device//;

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE,
$int_include_vpn, $fake_idx, $type_class);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -46,7 +46,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE, %MODEL_MAP,
%MODID_MAP, %PROCID_MAP);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -37,7 +37,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,

View File

@@ -46,7 +46,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
$VERSION = '3.70';
$VERSION = '3.70-135';
# NOTE: Order creates precedence
# Example: v_name exists in Bridge.pm and CiscoVTP.pm

View File

@@ -43,7 +43,7 @@ use SNMP::Info::MAU;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::MAU::MIBS,

View File

@@ -48,7 +48,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@SNMP::Info::Layer3::C6500::EXPORT_OK = qw//;
$VERSION = '3.70';
$VERSION = '3.70-135';
# NOTE: Order creates precedence
# Example: v_name exists in Bridge.pm and CiscoVTP.pm

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -53,7 +53,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -44,7 +44,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );

View File

@@ -47,7 +47,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@SNMP::Info::Layer3::CiscoSwitch::EXPORT_OK = qw//;
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::Cisco::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -44,7 +44,7 @@ use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -38,7 +38,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -76,15 +76,9 @@ $VERSION = '3.70';
sub model {
my $dlink=shift;
my $id = $dlink->id();
my $model = &SNMP::translateObj($id);
return $id unless defined $model;
if (defined $model && $model !~ /dlink-products/) {
return $model;
} else {
#If don't have a device MIB
return $dlink->description();
}
my $hw = $dlink->hwver() || undef;
return $dlink->description() . ' HW:' . $hw if defined($hw);
return $dlink->description();
}
# ifDescr is the same for all interfaces in a class, but the ifName is
@@ -102,6 +96,15 @@ sub vendor {
return 'dlink';
}
sub os {
return 'dlink-os';
}
sub os_ver {
my $obj = shift;
return $obj->fwver();
}
sub serial {
my $dlink = shift;
my $model = $dlink->model();
@@ -134,8 +137,8 @@ sub fwver {
sub hwver {
my $dlink=shift;
my $model = $dlink->model();
my $id = $dlink->id();
my $model = &SNMP::translateObj($id);
my $hw;
if ($model =~ /1210/) {
#Due to the zoo of MIB from DLink by 1210 series
@@ -144,6 +147,9 @@ sub hwver {
$hw = $dlink->dlink_hw();
}
return $hw->{0} if ( defined $hw->{0} and $hw->{0} !~ /^\s*$/ and $hw->{0} !~ 'NOSUCHOBJECT');
$hw = $dlink->session()->get('rmon.19.3.0');
return $hw if defined($hw);
}
sub stp_i_root_port {

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -0,0 +1,149 @@
# SNMP::Info::Layer3::DigitalChina - SNMP Interface to DigitalChina Devices
#
# Copyright (c) 2020 by 135.
package SNMP::Info::Layer3::DigitalChina;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer3;
@SNMP::Info::Layer3::DigitalChina::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::DigitalChina::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70-135';
%MIBS = ( %SNMP::Info::Layer3::MIBS, );
%GLOBALS = (
%SNMP::Info::Layer3::GLOBALS,
'model_oid' => 'mib-2.47.1.1.1.1.2.1',
'serial_oid' => 'mib-2.47.1.1.1.1.11.1',
'hw_oid' => 'mib-2.47.1.1.1.1.8.1',
'brom_oid' => 'mib-2.47.1.1.1.1.9.1',
'os_ver_oid' => 'mib-2.47.1.1.1.1.10.1',
);
%FUNCS = ( %SNMP::Info::Layer3::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
sub vendor {
return 'digital-china';
}
sub os {
return 'snr-os';
}
sub os_ver {
my $obj = shift;
my $os_ver = $obj->os_ver_oid || undef;
my $brom = $obj->brom_oid || undef;
return $os_ver . ' bootrom:' . $brom
if defined $os_ver and defined $brom;
return $os_ver
if defined $os_ver;
return 'unknown';
}
sub model {
my $obj = shift;
my $model = $obj->model_oid || undef;
my $hwver = $obj->hwver || undef;
return $model . ' HW:' . $hwver
if defined $model and defined $hwver;
return $model
if defined $model;
return $obj->SUPER::model();
}
sub hwver {
my $obj = shift;
my $hwver = $obj->hw_oid || undef;
return $hwver
if defined $hwver;
}
sub serial {
my $obj = shift;
my $serial = $obj->serial_oid || undef;
return $serial
if defined $serial;
return $obj->SUPER::serial();
}
1;
__END__
=head1 NAME
SNMP::Info::Layer3::DigitalChina - SNMP Interface to DigitalChina Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $obj = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $obj->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for DigitalChina Devices
=head2 Inherited Classes
=over
=item SNMP::Info::Layer3
=back
=head2 Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $obj->vendor()
Returns 'digital-china'
=item $obj->os()
Returns 'snr-os'
=item $obj->os_ver()
Returns the software version.
=item $obj->model()
Returns the model extracted.
=item $obj->serial()
Returns serial number.
=cut
=back

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS

View File

@@ -0,0 +1,232 @@
# SNMP::Info::Layer3::Eltex - SNMP Interface to Eltex Devices
#
# Copyright (c) 2020 by The 135.
package SNMP::Info::Layer3::Eltex;
use strict;
use warnings;
use Exporter;
use SNMP::Info::Layer3;
@SNMP::Info::Layer3::Eltex::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Eltex::EXPORT_OK = qw//;
our ( $VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE );
$VERSION = '3.70-135';
#our $index = undef;
%MIBS = ( %SNMP::Info::Layer3::MIBS, );
%GLOBALS = (
%SNMP::Info::Layer3::GLOBALS,
'model_oid_mes' => 'mib-2.47.1.1.1.1.13.67108992',
'hw_oid_1_81' => 'mib-2.47.1.1.1.1.8.67108992',
'model_oid' => 'iso.0.8802.1.1.2.1.3.4.0',
'model_oid_mxa' => 'enterprises.35265.4.2.0',
'hw_oid' => 'iso.0.8802.1.1.2.1.5.4795.1.2.2.0',
'hw_oid_1_30' => 'iso.0.8802.1.1.2.1.5.1.1.2.2.0',
'serial_oid' => 'mib-2.47.1.1.1.1.11.67108992',
'serial_oid_22' => 'enterprises.35265.1.22.1.18.4.0',
'serial_oid_mxa' => 'enterprises.35265.4.3.0',
'os_ver_oid' => 'mib-2.47.1.1.1.1.10.67108992',
'os_ver_oid_mxa' => 'enterprises.35265.4.5.0',
'bootrom_oid' => 'mib-2.47.1.1.1.1.9.67108992',
#'serial_oid_140' => '',
'os_ver_oid_140' => 'mib-2.47.1.1.1.1.9.1',
#'bootrom_oid_140' => '',
'descr_oid' => 'iso.0.8802.1.1.2.1.3.4.0',
);
%FUNCS = ( %SNMP::Info::Layer3::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
sub model {
my $obj = shift;
my $model = $obj->description() || undef;
my $hw = $obj->hwver() || undef;
if (defined $model and defined $hw) {
return $model . ' HW:' . $hw;
}
elsif (defined $model) {
return $model;
}
else {
return 'unknown';
}
}
sub vendor {
return 'eltex';
}
sub os {
return 'eltex';
}
sub os_ver {
my $obj = shift;
my $os_ver; my $bootrom;
my $id = $obj->id();
if ($id =~ /35265\.(140|158)$/) {
$os_ver = $obj->os_ver_oid_140;
return $os_ver;
}
if ($id =~ /34300\.1\.6/ or $id =~ /35265\.1\.(28$)|(21\.)/) {
$os_ver = $obj->os_ver_oid_mxa;
$os_ver =~ s/^\s*Eltex\s*LTE\s*software\s*version\s*//;
return $os_ver;
}
elsif ($id =~ /35265\.1\.(24|43|30|120|5[2,4]|74|8[1,9])$/) {
$os_ver = $obj->os_ver_oid;
$bootrom = $obj->bootrom_oid;
}
elsif ( $id =~ /35265\.1\.22$/ ) {
my $descr = $obj->descr_oid;
$descr =~ /Eltex\s(.*)\ssoftware\sversion\s(.*)\sbuild\s(\d+)/;
return $2;
}
elsif ($id =~ /35265\.1\.30$/) {
}
else {
return 'unknown';
}
return $os_ver . ' bootrom: ' . $bootrom;
}
sub serial {
my $obj = shift;
my $serial;
my $id = $obj->id();
if ($id =~ /35265\.(140|158)$/) {
return;
}
elsif ($id =~ /34300\.1\.6/ or $id =~ /35265\.1\.28$/) {
return $obj->serial_oid_mxa;
}
elsif ($id =~ /35265\.1\.(24|43|30|120|5[2,4]|74|8[1,9])$/) {
$serial = $obj->serial_oid;
}
elsif ( $id =~ /35265\.1\.22$/ ) {
$serial = $obj->serial_oid_22;
}
else {
return 'unknown';
}
return $serial;
}
sub hwver {
my $obj = shift;
my $id = $obj->id();
if ($id =~ /35265\.1\.30$/) {
return $obj->hw_oid_1_30;
}
elsif($id =~ /35265\.1\.(74|120|30|24|8[1,9]|5[4,2]|43)$/) {
return $obj->hw_oid_1_81;
}
elsif($id =~ /35265\.158/) {
return $obj->hw_oid;
}
}
1;
__END__
=head1 NAME
SNMP::Info::Layer3::Eltex - SNMP Interface to Eltex Devices
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $obj = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $obj->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for Eltex devices.
=head2 Inherited Classes
=over
=item SNMP::Info::Layer3
=back
=head2 Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS
These are methods that return scalar value from SNMP
=over
=item $obj->model()
Returns the ID or else description.
=item $obj->vendor()
Returns 'eltex'.
=item $obj->serial()
Returns serial number.
=item $obj->fwver()
Returns the firmware version.
=item $obj->hwver()
Returns the hardware version.
=item $obj->stp_i_root_port()
Returns the STP root port.
=back
=head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head1 TABLE METHODS
These are methods that return tables of information in the form of a reference
to a hash.
=over
=item $obj->interfaces();
Returns the map between SNMP Interface Identifier (iid) and C<ifName>.
=back
=head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=cut

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Layer3;
our ($VERSION, $DEBUG, %GLOBALS, %FUNCS, $INIT, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::CDP::MIBS,

View File

@@ -45,7 +45,7 @@ use SNMP::Info::EDP;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::MAU;
our ($VERSION, $DEBUG, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -46,7 +46,7 @@ use SNMP::Info::FDP;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.70';
$VERSION = '3.70-135';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

Some files were not shown because too many files have changed in this diff Show More