documentation overhaul (#353)

* ident
* remove $Id$ tags from rcs software which has been retired
* make an effort to sync required mib docs with actual code
* sync even more docs with what code actually does
* some whitespace nits
* fixup example to use snmpv2 for all but the most ancient devices
* remove blurb to find more specific snmp::info classes for classes
  which alrdy are as specific as they can get (eg snmp::info::layer3::vmware
  doesn't need info on to find a specific module since there ain't none)
* rename all sub {vendor} strings to lowercase vendor, if cisco, juniper
  and arista can be lowercase, so can be all the rest.
* fix tests
* spread some use warnings around
* use $ instead of @
* remove defines that are included via parent classes
* use strict + warnings
* remove alrdy included modules
* add comma after last list item
* typos
* mibs are found in our mib repo, not on the cisco site
* documentation fixes
This commit is contained in:
nick n
2019-08-25 06:47:10 +02:00
committed by GitHub
parent 6c8d39d746
commit 3bcc522590
149 changed files with 630 additions and 1168 deletions

View File

@@ -583,7 +583,7 @@ See documentation in L<SNMP::Info::Layer2::Centillion> for details.
=item SNMP::Info::Layer2::Cisco =item SNMP::Info::Layer2::Cisco
Generic Cisco subclass for layer 2 devices that are not yet supported Generic Cisco subclass for layer 2 devices that are not yet supported
in more specific subclassesand the base layer 2 Cisco class for in more specific subclasses and the base layer 2 Cisco class for
other device specific layer 2 Cisco classes. other device specific layer 2 Cisco classes.
See documentation in L<SNMP::Info::Layer2::Cisco> for details. See documentation in L<SNMP::Info::Layer2::Cisco> for details.
@@ -651,7 +651,7 @@ See documentation in L<SNMP::Info::Layer2::Netgear> for details.
Subclass for Nexans switches Subclass for Nexans switches
See documetion in L<SNMP::Info::Layer2::Nexans> for details. See documentation in L<SNMP::Info::Layer2::Nexans> for details.
=item SNMP::Info::Layer2::NWSS2300 =item SNMP::Info::Layer2::NWSS2300
@@ -704,8 +704,6 @@ See documentation in L<SNMP::Info::Layer3> for details.
Subclass for Cisco Aironet wireless access points (AP) not running IOS. These Subclass for Cisco Aironet wireless access points (AP) not running IOS. These
are usually older devices. are usually older devices.
MIBs for these devices now included in v2.tar.gz available from ftp.cisco.com.
Note L<SNMP::Info::Layer2::Aironet> Note L<SNMP::Info::Layer2::Aironet>
See documentation in L<SNMP::Info::Layer3::Aironet> for details. See documentation in L<SNMP::Info::Layer3::Aironet> for details.
@@ -764,8 +762,9 @@ See documentation in L<SNMP::Info::Layer3::C4000> for details.
=item SNMP::Info::Layer3::C6500 =item SNMP::Info::Layer3::C6500
This class covers Catalyst 6500s in native mode, hybrid mode. Catalyst This class covers Catalyst 6500 series running CatOS or IOS, as well as
3750's, 2970's and probably others. Catalyst 2960, 2970, 3750 and 3850 series, including blade switches
CBS30x0 and CBS31x0 series, all running IOS.
See documentation in L<SNMP::Info::Layer3::C6500> for details. See documentation in L<SNMP::Info::Layer3::C6500> for details.
@@ -1005,7 +1004,7 @@ See documentation in L<SNMP::Info::Layer3::SonicWALL> for details.
=item SNMP::Info::Layer3::Steelhead =item SNMP::Info::Layer3::Steelhead
Subclass for Riverbed Steelhead WAN optimization appliances. Subclass for Riverbed Steelhead WAN optimization appliances.
See documentation in L<SNMP::Info::Layer3::Steelhead> for details. See documentation in L<SNMP::Info::Layer3::Steelhead> for details.
@@ -1261,7 +1260,7 @@ Some older devices don't support SNMP version 2, and will not return anything
when a connection under Version 2 is attempted. when a connection under Version 2 is attempted.
Some newer devices will support Version 1, but will not return all the data Some newer devices will support Version 1, but will not return all the data
they might have if you had connected under Version 1 they might have if you had connected under Version 1.
When trying to get info from a new device, you may have to try version 2 and When trying to get info from a new device, you may have to try version 2 and
then fallback to version 1. then fallback to version 1.
@@ -1673,6 +1672,7 @@ sub device_type {
3375 => 'SNMP::Info::Layer3::F5', 3375 => 'SNMP::Info::Layer3::F5',
3417 => 'SNMP::Info::Layer3::BlueCoatSG', 3417 => 'SNMP::Info::Layer3::BlueCoatSG',
3717 => 'SNMP::Info::Layer3::Genua', 3717 => 'SNMP::Info::Layer3::Genua',
4413 => 'SNMP::Info::Layer2::Ubiquiti',
4526 => 'SNMP::Info::Layer2::Netgear', 4526 => 'SNMP::Info::Layer2::Netgear',
4874 => 'SNMP::Info::Layer3::ERX', 4874 => 'SNMP::Info::Layer3::ERX',
5624 => 'SNMP::Info::Layer3::Enterasys', 5624 => 'SNMP::Info::Layer3::Enterasys',
@@ -1694,17 +1694,16 @@ sub device_type {
17163 => 'SNMP::Info::Layer3::Steelhead', 17163 => 'SNMP::Info::Layer3::Steelhead',
19046 => 'SNMP::Info::Layer3::Lenovo', 19046 => 'SNMP::Info::Layer3::Lenovo',
21091 => 'SNMP::Info::Layer2::Exinda', 21091 => 'SNMP::Info::Layer2::Exinda',
25506 => 'SNMP::Info::Layer3::H3C',
25461 => 'SNMP::Info::Layer3::PaloAlto', 25461 => 'SNMP::Info::Layer3::PaloAlto',
25506 => 'SNMP::Info::Layer3::H3C',
26543 => 'SNMP::Info::Layer3::IBMGbTor', 26543 => 'SNMP::Info::Layer3::IBMGbTor',
30065 => 'SNMP::Info::Layer3::Arista',
35098 => 'SNMP::Info::Layer3::Pica8',
41112 => 'SNMP::Info::Layer2::Ubiquiti',
4413 => 'SNMP::Info::Layer2::Ubiquiti',
26928 => 'SNMP::Info::Layer2::Aerohive', 26928 => 'SNMP::Info::Layer2::Aerohive',
30065 => 'SNMP::Info::Layer3::Arista',
30803 => 'SNMP::Info::Layer3::VyOS', 30803 => 'SNMP::Info::Layer3::VyOS',
44641 => 'SNMP::Info::Layer3::VyOS', 35098 => 'SNMP::Info::Layer3::Pica8',
40310 => 'SNMP::Info::Layer3::Cumulus', 40310 => 'SNMP::Info::Layer3::Cumulus',
41112 => 'SNMP::Info::Layer2::Ubiquiti',
44641 => 'SNMP::Info::Layer3::VyOS',
); );
my %l2sysoidmap = ( my %l2sysoidmap = (
@@ -1753,8 +1752,8 @@ sub device_type {
476 => 'SNMP::Info::Layer7::Liebert', 476 => 'SNMP::Info::Layer7::Liebert',
5951 => 'SNMP::Info::Layer7::Netscaler', 5951 => 'SNMP::Info::Layer7::Netscaler',
9694 => 'SNMP::Info::Layer7::Arbor', 9694 => 'SNMP::Info::Layer7::Arbor',
14525 => 'SNMP::Info::Layer2::Trapeze',
12532 => 'SNMP::Info::Layer7::Neoteris', 12532 => 'SNMP::Info::Layer7::Neoteris',
14525 => 'SNMP::Info::Layer2::Trapeze',
26866 => 'SNMP::Info::Layer7::Gigamon', 26866 => 'SNMP::Info::Layer7::Gigamon',
); );
@@ -1787,7 +1786,7 @@ sub device_type {
$objtype = 'SNMP::Info::Layer3::Aironet' $objtype = 'SNMP::Info::Layer3::Aironet'
if ( $desc =~ /Aironet/ and $desc =~ /\D(AP4800)\D/ ); if ( $desc =~ /Aironet/ and $desc =~ /\D(AP4800)\D/ );
# Override voice gateway device (VG350) showing up as Aironet # Override voice gateway device (VG350) showing up as Aironet
$objtype = 'SNMP::Info::Layer3::Cisco' if $desc =~ /VG350/; $objtype = 'SNMP::Info::Layer3::Cisco' if $desc =~ /VG350/;
# Cat6k with older SUPs (hybrid CatOS/IOS?) # Cat6k with older SUPs (hybrid CatOS/IOS?)
@@ -2243,7 +2242,7 @@ sub cisco_comm_indexing {
=back =back
=head2 Globals (Scalar Methods) =head2 GLOBALS (Scalar Methods)
These are methods to return scalar data from RFC1213. These are methods to return scalar data from RFC1213.
@@ -3234,7 +3233,7 @@ A class inheriting this class must implement these data structures :
=over =over
=item $INIT =item $INIT
Used to flag if the MIBs have been loaded yet. Used to flag if the MIBs have been loaded yet.
@@ -3381,7 +3380,7 @@ $info->init() will throw an exception if a MIB does not load.
%MIBS = ( %MIBS = (
# Include these here for cases where the Net-SNMP default MIB list has # Include these here for cases where the Net-SNMP default MIB list has
# been overridden during the compliation of the local Net-SNMP library. # been overridden during the compilation of the local Net-SNMP library.
# These cover the globals and funcs defined in this file. # These cover the globals and funcs defined in this file.
'SNMPv2-MIB' => 'sysObjectID', 'SNMPv2-MIB' => 'sysObjectID',
# (#325) 'RFC1213-MIB' => 'ipRouteIfIndex', # (#325) 'RFC1213-MIB' => 'ipRouteIfIndex',
@@ -3438,6 +3437,7 @@ will inherit the Cisco Vlan module as an example.
$VERSION = 0.1; $VERSION = 0.1;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -3451,14 +3451,14 @@ will inherit the Cisco Vlan module as an example.
%MIBS = (%SNMP::Info::Layer2::MIBS, %MIBS = (%SNMP::Info::Layer2::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoVTP::MIBS,
'SUPER-DOOPER-MIB' => 'supermibobject' 'SUPER-DOOPER-MIB' => 'supermibobject',
); );
%GLOBALS = (%SNMP::Info::Layer2::GLOBALS, %GLOBALS = (%SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoVTP::GLOBALS,
'name' => 'supermib_supername', 'name' => 'supermib_supername',
'favorite_color' => 'supermib_fav_color_object', 'favorite_color' => 'supermib_fav_color_object',
'favorite_movie' => 'supermib_fav_movie_val' 'favorite_movie' => 'supermib_fav_movie_val',
); );
%FUNCS = (%SNMP::Info::Layer2::FUNCS, %FUNCS = (%SNMP::Info::Layer2::FUNCS,
@@ -3466,16 +3466,16 @@ will inherit the Cisco Vlan module as an example.
# Super Dooper MIB - Super Hero Table # Super Dooper MIB - Super Hero Table
'super_hero_index' => 'SuperHeroIfIndex', 'super_hero_index' => 'SuperHeroIfIndex',
'super_hero_name' => 'SuperHeroIfName', 'super_hero_name' => 'SuperHeroIfName',
'super_hero_powers' => 'SuperHeroIfPowers' 'super_hero_powers' => 'SuperHeroIfPowers',
); );
%MUNGE = (%SNMP::Info::Layer2::MUNGE, %MUNGE = (%SNMP::Info::Layer2::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE,
'super_hero_powers' => \&munge_powers 'super_hero_powers' => \&munge_powers,
); );
# OverRide uptime() method from %SNMP::Info::GLOBALS # Override uptime() method from %SNMP::Info::GLOBALS
sub uptime { sub uptime {
my $sample = shift; my $sample = shift;
@@ -3826,7 +3826,7 @@ updated enumeration for C<ifOperStatus> in C<IF-MIB>. This munge
handles the "newer" definitions for the enumeration in IF-MIB. handles the "newer" definitions for the enumeration in IF-MIB.
TODO: Get the precedence of MIBs and overriding of MIB data in Net-SNMP TODO: Get the precedence of MIBs and overriding of MIB data in Net-SNMP
figured out. Heirarchy/precendence of MIBS in SNMP::Info. figured out. Hierarchy/precedence of MIBS in SNMP::Info.
=cut =cut
@@ -3898,7 +3898,7 @@ sub munge_e_type {
Takes the SNMP::Session C<DestHost> argument and determines if it is an Takes the SNMP::Session C<DestHost> argument and determines if it is an
'IPv4' or 'IPv6' host. 'IPv6' hosts are prefixed with the C<udp6:> 'IPv4' or 'IPv6' host. 'IPv6' hosts are prefixed with the C<udp6:>
C<transport-specifier> as required by the undelying C<Net-SNMP> library. C<transport-specifier> as required by the underlying C<Net-SNMP> library.
If unable to determine the type of address or resolve a DNS name, dies with If unable to determine the type of address or resolve a DNS name, dies with
C<croak>. C<croak>.
@@ -4611,7 +4611,7 @@ sub _load_attr {
# Another check for SNMPv1 - noSuchName return may results in an $iid # Another check for SNMPv1 - noSuchName return may results in an $iid
# we've already seen and $val an empty string. If we don't catch # we've already seen and $val an empty string. If we don't catch
# this here we erronously report a loop below. # this here we erroneously report a loop below.
if ( defined $seen{$iid} and $seen{$iid} and $val eq '' ) { if ( defined $seen{$iid} and $seen{$iid} and $val eq '' ) {
last; last;
} }
@@ -4886,7 +4886,7 @@ sub _validate_autoload_method {
|| ($method !~ /^set/ && $access eq 'NoAccess')) { || ($method !~ /^set/ && $access eq 'NoAccess')) {
print print
"SNMP::Info::_validate_autoload_method($attr : $oid) Not accessable for requested operation.\n" "SNMP::Info::_validate_autoload_method($attr : $oid) Not accessible for requested operation.\n"
if $self->debug(); if $self->debug();
return; return;

View File

@@ -30,6 +30,7 @@
package SNMP::Info::AMAP; package SNMP::Info::AMAP;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -40,16 +41,16 @@ our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS %MIBS = (
= ( 'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType', ); 'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType',
);
%GLOBALS = ( %GLOBALS = (
); );
%FUNCS = ( %FUNCS = (
# ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB::aipAMAPRemHostname
# EXTREME-EDP-MIB::extremeEdpTable
'amap_rem_sysname' => 'aipAMAPRemHostname', 'amap_rem_sysname' => 'aipAMAPRemHostname',
); );
@@ -91,7 +92,7 @@ sub _conn_table_mac {
# address since they should all originate from the same device, but we don't # address since they should all originate from the same device, but we don't
# know if they would all be reachable from the network management application. # know if they would all be reachable from the network management application.
# #
# We don't inplement partials since this is private index function # We don't implement partials since this is private index function
sub _amap_index { sub _amap_index {
my $amap = shift; my $amap = shift;
@@ -253,7 +254,7 @@ Eric Miller
$hasamap = $amap->hasAMAP() ? 'yes' : 'no'; $hasamap = $amap->hasAMAP() ? 'yes' : 'no';
# Print out a map of device ports with LLDP neighbors: # Print out a map of device ports with AMAP neighbors:
my $interfaces = $amap->interfaces(); my $interfaces = $amap->interfaces();
my $amap_if = $amap->amap_if(); my $amap_if = $amap->amap_if();
my $amap_ip = $amap->amap_ip(); my $amap_ip = $amap->amap_ip();
@@ -291,7 +292,7 @@ None.
=back =back
=head1 GLOBAL METHODS =head1 GLOBALS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP

View File

@@ -30,6 +30,7 @@
package SNMP::Info::AdslLine; package SNMP::Info::AdslLine;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -105,8 +106,6 @@ none.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 GLOBALS =head1 GLOBALS
=over =over

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Aggregate; package SNMP::Info::Aggregate;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Airespace # SNMP::Info::Airespace
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Airespace; package SNMP::Info::Airespace;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Bridge # SNMP::Info::Bridge
# $Id$
# #
# Changes since Version 0.7 Copyright (c) 2004 Max Baker # Changes since Version 0.7 Copyright (c) 2004 Max Baker
# All rights reserved. # All rights reserved.
@@ -34,6 +33,7 @@
package SNMP::Info::Bridge; package SNMP::Info::Bridge;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -296,11 +296,11 @@ sub i_stp_port {
my %i_stp_port; my %i_stp_port;
foreach my $index ( keys %$stp_p_port ) { foreach my $index ( keys %$stp_p_port ) {
my $bridge = $stp_p_port->{$index}; my $bport = $stp_p_port->{$index};
my $iid = $bp_index->{$index}; my $iid = $bp_index->{$index};
next unless defined $iid; next unless defined $iid;
next unless defined $bridge; next unless defined $bport;
$i_stp_port{$iid} = $bridge; $i_stp_port{$iid} = $bport;
} }
return \%i_stp_port; return \%i_stp_port;
} }
@@ -315,11 +315,11 @@ sub i_stp_id {
my %i_stp_id; my %i_stp_id;
foreach my $index ( keys %$stp_p_id ) { foreach my $index ( keys %$stp_p_id ) {
my $bridge = $stp_p_id->{$index}; my $bport = $stp_p_id->{$index};
my $iid = $bp_index->{$index}; my $iid = $bp_index->{$index};
next unless defined $iid; next unless defined $iid;
next unless defined $bridge; next unless defined $bport;
$i_stp_id{$iid} = $bridge; $i_stp_id{$iid} = $bport;
} }
return \%i_stp_id; return \%i_stp_id;
} }
@@ -334,11 +334,11 @@ sub i_stp_bridge {
my %i_stp_bridge; my %i_stp_bridge;
foreach my $index ( keys %$stp_p_bridge ) { foreach my $index ( keys %$stp_p_bridge ) {
my $bridge = $stp_p_bridge->{$index}; my $bport = $stp_p_bridge->{$index};
my $iid = $bp_index->{$index}; my $iid = $bp_index->{$index};
next unless defined $iid; next unless defined $iid;
next unless defined $bridge; next unless defined $bport;
$i_stp_bridge{$iid} = $bridge; $i_stp_bridge{$iid} = $bport;
} }
return \%i_stp_bridge; return \%i_stp_bridge;
} }
@@ -609,12 +609,11 @@ None.
=item F<Q-BRIDGE-MIB> =item F<Q-BRIDGE-MIB>
=item F<RSTP-MIB>
=back =back
F<BRIDGE-MIB> needs to be extracted from =head1 GLOBALS
ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
=head1 GLOBAL METHODS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CDP # SNMP::Info::CDP
# $Id$
# #
# Changes since Version 0.7 Copyright (c) 2004 Max Baker # Changes since Version 0.7 Copyright (c) 2004 Max Baker
# All rights reserved. # All rights reserved.
@@ -34,6 +33,7 @@
package SNMP::Info::CDP; package SNMP::Info::CDP;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -259,7 +259,7 @@ Max Baker
$hascdp = $cdp->hasCDP() ? 'yes' : 'no'; $hascdp = $cdp->hasCDP() ? 'yes' : 'no';
# Print out a map of device ports with CDP neighbors: # Print out a map of device ports with CDP neighbors:
my $interfaces = $cdp->interfaces(); my $interfaces = $cdp->interfaces();
my $cdp_if = $cdp->cdp_if(); my $cdp_if = $cdp->cdp_if();
my $cdp_ip = $cdp->cdp_ip(); my $cdp_ip = $cdp->cdp_ip();
my $cdp_port = $cdp->cdp_port(); my $cdp_port = $cdp->cdp_port();
@@ -299,9 +299,7 @@ None.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz =head1 GLOBALS
=head1 GLOBAL METHODS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP

View File

@@ -30,7 +30,7 @@
package SNMP::Info::CiscoAgg; package SNMP::Info::CiscoAgg;
use strict; use strict;
#use warnings; use warnings;
use Exporter; use Exporter;
use SNMP::Info::IEEE802dot3ad; use SNMP::Info::IEEE802dot3ad;
@@ -191,9 +191,7 @@ L<SNMP::Info::IEEE802dot3ad>
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz =head1 TABLE METHODS
=head1 METHODS
=over 4 =over 4

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoConfig # SNMP::Info::CiscoConfig
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::CiscoConfig; package SNMP::Info::CiscoConfig;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoPortSecurity # SNMP::Info::CiscoPortSecurity
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::CiscoPortSecurity; package SNMP::Info::CiscoPortSecurity;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -110,7 +110,7 @@ $VERSION = '3.68';
%PAECAPABILITIES = ( %PAECAPABILITIES = (
0 => 'dot1xPaePortAuthCapable', 0 => 'dot1xPaePortAuthCapable',
1 => 'dot1xPaePortSuppCapable' 1 => 'dot1xPaePortSuppCapable',
); );
sub munge_pae_capabilities { sub munge_pae_capabilities {

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoPower # SNMP::Info::CiscoPower
# $Id$
# #
# Copyright (c) 2008 Bill Fenner # Copyright (c) 2008 Bill Fenner
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::CiscoPower; package SNMP::Info::CiscoPower;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -42,7 +42,8 @@ our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex', %MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
'CISCO-CDP-MIB' => 'cdpCachePowerConsumption' ); 'CISCO-CDP-MIB' => 'cdpCachePowerConsumption',
);
%GLOBALS = (); %GLOBALS = ();
@@ -153,6 +154,8 @@ Note that it requires that the device inherits from Info::Entity.
=item F<CISCO-POWER-ETHERNET-EXT-MIB> =item F<CISCO-POWER-ETHERNET-EXT-MIB>
=item F<CISCO-CDP-MIB>
=back =back
=head1 GLOBALS =head1 GLOBALS

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoQOS # SNMP::Info::CiscoQOS
# $Id$
# #
# Copyright (c) 2005 Alexander Hartmaier # Copyright (c) 2005 Alexander Hartmaier
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::CiscoQOS; package SNMP::Info::CiscoQOS;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -118,8 +118,6 @@ none.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 GLOBALS =head1 GLOBALS
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoRTT # SNMP::Info::CiscoRTT
# $Id$
# #
# Copyright (c) 2005 Alexander Hartmaier # Copyright (c) 2005 Alexander Hartmaier
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::CiscoRTT; package SNMP::Info::CiscoRTT;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -99,8 +99,6 @@ none.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 GLOBALS =head1 GLOBALS
=over =over
@@ -113,7 +111,7 @@ None
=head2 Overall Control Group Table =head2 Overall Control Group Table
This table is from C<CISCO-RTTMAN-MIB::rttMonCtrlAdminTable> This table is from C<CISCO-RTTMON-MIB::rttMonCtrlAdminTable>
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoStack # SNMP::Info::CiscoStack
# $Id$
# #
# Copyright (c) 2008 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::CiscoStack; package SNMP::Info::CiscoStack;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
@SNMP::Info::CiscoStack::ISA = qw/Exporter/; @SNMP::Info::CiscoStack::ISA = qw/Exporter/;
@@ -106,7 +106,7 @@ $VERSION = '3.68';
1 => 'other', 1 => 'other',
2 => 'ok', 2 => 'ok',
3 => 'minorFault', 3 => 'minorFault',
4 => 'majorFault' 4 => 'majorFault',
); );
# Changes binary byte describing each port into ascii, and returns # Changes binary byte describing each port into ascii, and returns
@@ -286,8 +286,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::CiscoStack - SNMP Interface to data from F<CISCO-STACK-MIB> and SNMP::Info::CiscoStack - SNMP Interface to data from F<CISCO-STACK-MIB>
F<CISCO-PORT-SECURITY-MIB>
=head1 AUTHOR =head1 AUTHOR
@@ -296,7 +295,7 @@ Max Baker
=head1 SYNOPSIS =head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you. # Let SNMP::Info determine the correct subclass for you.
my $ciscostats = new SNMP::Info( my $ciscostack = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
DestHost => 'myswitch', DestHost => 'myswitch',
@@ -305,7 +304,7 @@ Max Baker
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
my $class = $ciscostats->class(); my $class = $ciscostack->class();
print "SNMP::Info determined this device to fall under subclass : $class\n"; print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION =head1 DESCRIPTION

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoStats # SNMP::Info::CiscoStats
# $Id$
# #
# Changes since Version 0.7 Copyright (c) 2008-2009 Max Baker and SNMP::Info Developers # Changes since Version 0.7 Copyright (c) 2008-2009 Max Baker and SNMP::Info Developers
# All rights reserved. # All rights reserved.
@@ -34,6 +33,7 @@
package SNMP::Info::CiscoStats; package SNMP::Info::CiscoStats;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -385,8 +385,6 @@ None.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 GLOBALS =head1 GLOBALS
=over =over

View File

@@ -29,7 +29,7 @@
package SNMP::Info::CiscoStpExtensions; package SNMP::Info::CiscoStpExtensions;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
use SNMP::Info::Bridge; use SNMP::Info::Bridge;
@@ -317,9 +317,7 @@ For debugging you can call new() directly as you would in SNMP::Info
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz =head1 GLOBALS
=head1 GLOBAL METHODS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP

View File

@@ -1,5 +1,4 @@
# SNMP::Info::CiscoVTP # SNMP::Info::CiscoVTP
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::CiscoVTP; package SNMP::Info::CiscoVTP;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -565,8 +565,6 @@ None.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 GLOBALS =head1 GLOBALS
=over =over

View File

@@ -1,6 +1,7 @@
package SNMP::Info::DocsisHE; package SNMP::Info::DocsisHE;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -14,7 +15,7 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
'DOCS-IF3-MIB' => 'docsIf3Mib', 'DOCS-IF3-MIB' => 'docsIf3Mib',
'DOCS-IF-MIB' => 'docsIfMib' 'DOCS-IF-MIB' => 'docsIfMib',
); );
%GLOBALS = (); %GLOBALS = ();
@@ -26,12 +27,12 @@ $VERSION = '3.68';
'docs_if_cmts_cm_status_inet_address_type' => 'docsIfCmtsCmStatusInetAddressType', 'docs_if_cmts_cm_status_inet_address_type' => 'docsIfCmtsCmStatusInetAddressType',
'docs_if_cmts_cm_status_inet_address' => 'docsIfCmtsCmStatusInetAddress', 'docs_if_cmts_cm_status_inet_address' => 'docsIfCmtsCmStatusInetAddress',
'docs_cmts_cm_down_channel_if_index' => 'docsIfCmtsCmStatusDownChannelIfIndex', 'docs_cmts_cm_down_channel_if_index' => 'docsIfCmtsCmStatusDownChannelIfIndex',
'docs_cmts_cm_up_channel_if_index' => 'docsIfCmtsCmStatusUpChannelIfIndex' 'docs_cmts_cm_up_channel_if_index' => 'docsIfCmtsCmStatusUpChannelIfIndex',
); );
%MUNGE = (); %MUNGE = ();
1; 1;
__END__ __END__
=head1 NAME =head1 NAME
@@ -74,7 +75,7 @@ CableLabs MIBs for DOCSIS 3
=back =back
=head1 GLOBAL METHODS =head1 GLOBALS
None. None.
@@ -119,3 +120,5 @@ cable modem.
(C<docsIfCmtsCmStatusUpChannelIfIndex>) (C<docsIfCmtsCmStatusUpChannelIfIndex>)
=back =back
=cut

View File

@@ -31,6 +31,7 @@
package SNMP::Info::EDP; package SNMP::Info::EDP;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -75,7 +76,7 @@ sub hasEDP {
# address since they should all originate from the same device, but we don't # address since they should all originate from the same device, but we don't
# know if they would all be reachable from the network management application. # know if they would all be reachable from the network management application.
# #
# We don't inplement partials since this is private index function # We don't implement partials since this is private index function
sub _edp_index { sub _edp_index {
my $edp = shift; my $edp = shift;
@@ -204,10 +205,10 @@ Eric Miller
my $class = $edp->class(); my $class = $edp->class();
print " Using device sub class : $class\n"; print " Using device sub class : $class\n";
$haslldp = $edp->hasLLDP() ? 'yes' : 'no'; $hasedp = $edp->hasEDP() ? 'yes' : 'no';
# Print out a map of device ports with LLDP neighbors: # Print out a map of device ports with EDP neighbors:
my $interfaces = $edp->interfaces(); my $interfaces = $edp->interfaces();
my $edp_if = $edp->edp_if(); my $edp_if = $edp->edp_if();
my $edp_ip = $edp->edp_ip(); my $edp_ip = $edp->edp_ip();
my $edp_port = $edp->edp_port(); my $edp_port = $edp->edp_port();
@@ -243,7 +244,7 @@ None.
=back =back
=head1 GLOBAL METHODS =head1 GLOBALS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP
@@ -251,7 +252,7 @@ These are methods that return scalar values from SNMP
=item $edp->hasEDP() =item $edp->hasEDP()
Is EDP is active in this device? Is EDP active on this device?
=back =back

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Entity # SNMP::Info::Entity
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Entity; package SNMP::Info::Entity;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -75,7 +75,7 @@ sub e_index {
my $entity = shift; my $entity = shift;
my $partial = shift; my $partial = shift;
# Force use of MIB leaf to avoid inheritance issues in psuedo classes # Force use of MIB leaf to avoid inheritance issues in pseudo classes
my $e_descr = $entity->entPhysicalDescr($partial); my $e_descr = $entity->entPhysicalDescr($partial);
return unless ($e_descr); return unless ($e_descr);
@@ -213,8 +213,6 @@ none.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 GLOBALS =head1 GLOBALS
none. none.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::EtherLike # SNMP::Info::EtherLike
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::EtherLike; package SNMP::Info::EtherLike;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -68,7 +68,7 @@ $VERSION = '3.68';
'el_xmit_defer' => 'dot3StatsDeferredTransmissions', 'el_xmit_defer' => 'dot3StatsDeferredTransmissions',
# Ethernet-like Collision Statistics Group # Ethernet-like Collision Statistics Group
'el_coll_freq' => 'dot3CollFrequencies' 'el_coll_freq' => 'dot3CollFrequencies',
); );
%MUNGE = ( %SNMP::Info::MUNGE, 'el_duplex' => \&munge_el_duplex, ); %MUNGE = ( %SNMP::Info::MUNGE, 'el_duplex' => \&munge_el_duplex, );
@@ -103,7 +103,7 @@ Max Baker
Version => 2 Version => 2
); );
my $class = $cdp->class(); my $class = $el->class();
print " Using device sub class : $class\n"; print " Using device sub class : $class\n";
# Find the duplex setting for a port on a device that implements # Find the duplex setting for a port on a device that implements
@@ -143,8 +143,6 @@ None.
=back =back
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP

View File

@@ -1,5 +1,4 @@
# SNMP::Info::FDP # SNMP::Info::FDP
# $Id$
# #
# Copyright (c) 2008 Bruce Rodger, Max Baker # Copyright (c) 2008 Bruce Rodger, Max Baker
# All rights reserved. # All rights reserved.
@@ -34,6 +33,7 @@
package SNMP::Info::FDP; package SNMP::Info::FDP;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -65,7 +65,7 @@ $VERSION = '3.68';
%MUNGE = ( %MUNGE = (
'fdp_capabilities' => \&SNMP::Info::munge_bits, 'fdp_capabilities' => \&SNMP::Info::munge_bits,
'fdp_ip' => \&SNMP::Info::munge_ip 'fdp_ip' => \&SNMP::Info::munge_ip,
); );
sub fdp_run { sub fdp_run {
@@ -146,7 +146,7 @@ Bruce Rodger, Max Baker
$hasfdp = $fdp->hasFDP() ? 'yes' : 'no'; $hasfdp = $fdp->hasFDP() ? 'yes' : 'no';
# Print out a map of device ports with FDP neighbors: # Print out a map of device ports with FDP neighbors:
my $interfaces = $fdp->interfaces(); my $interfaces = $fdp->interfaces();
my $fdp_if = $fdp->fdp_if(); my $fdp_if = $fdp->fdp_if();
my $fdp_ip = $fdp->fdp_ip(); my $fdp_ip = $fdp->fdp_ip();
my $fdp_port = $fdp->fdp_port(); my $fdp_port = $fdp->fdp_port();
@@ -190,7 +190,7 @@ work with B2R07600C.
=back =back
=head1 GLOBAL METHODS =head1 GLOBALS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP

View File

@@ -1,5 +1,4 @@
# SNMP::Info::IEEE802dot11 # SNMP::Info::IEEE802dot11
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::IEEE802dot11; package SNMP::Info::IEEE802dot11;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;

View File

@@ -30,6 +30,7 @@
package SNMP::Info::IEEE802dot3ad; package SNMP::Info::IEEE802dot3ad;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Aggregate; use SNMP::Info::Aggregate;

View File

@@ -30,6 +30,7 @@
package SNMP::Info::IPv6; package SNMP::Info::IPv6;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -479,7 +480,9 @@ none.
=over =over
=item F<IP-MIB> =item F<IP-MIB>
=item F<IPV6-MIB> =item F<IPV6-MIB>
=item F<CISCO-IETF-IP-MIB> =item F<CISCO-IETF-IP-MIB>
=back =back

View File

@@ -1,5 +1,4 @@
# SNMP::Info::LLDP # SNMP::Info::LLDP
# $Id$
# #
# Copyright (c) 2018 Eric Miller # Copyright (c) 2018 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::LLDP; package SNMP::Info::LLDP;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -512,7 +512,7 @@ None.
=back =back
=head1 GLOBAL METHODS =head1 GLOBALS
These are methods that return scalar values from SNMP These are methods that return scalar values from SNMP

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer1 - SNMP Interface to Layer1 Devices # SNMP::Info::Layer1 - SNMP Interface to Layer1 Devices
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer1; package SNMP::Info::Layer1;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
@@ -49,7 +49,7 @@ $VERSION = '3.68';
%SNMP::Info::GLOBALS, %SNMP::Info::GLOBALS,
'ports_managed' => 'ifNumber', 'ports_managed' => 'ifNumber',
'rptr_slots' => 'rptrGroupCapacity', 'rptr_slots' => 'rptrGroupCapacity',
'slots' => 'rptrGroupCapacity' 'slots' => 'rptrGroupCapacity',
); );
%FUNCS = ( %FUNCS = (
@@ -86,7 +86,7 @@ sub ports {
} }
# $l1->model() - Looks at sysObjectID which gives the oid of the system # $l1->model() - Looks at sysObjectID which gives the oid of the system
# name, contained in a propriatry MIB. # name, contained in a proprietary MIB.
sub model { sub model {
my $l1 = shift; my $l1 = shift;
my $id = $l1->id(); my $id = $l1->id();
@@ -178,7 +178,7 @@ Max Baker
Debug => 1, Debug => 1,
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -227,12 +227,9 @@ after determining a more specific class using the method above.
=back =back
MIBs required for L<SNMP::Info/"Required MIBs"> MIBs required for L<SNMP::Info/"REQUIREMENTS">
See L<SNMP::Info/"Required MIBs"> for its MIB requirements. See L<SNMP::Info/"REQUIREMENTS"> for its MIB requirements.
F<SNMP-REPEATER-MIB> needs to be extracted from
ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
=head1 GLOBALS =head1 GLOBALS
@@ -278,7 +275,7 @@ Number of 'groups' in the Repeater MIB
=head2 Global Methods imported from SNMP::Info =head2 Global Methods imported from SNMP::Info
See documentation in L<SNMP::Info/"GLOBALS"> for details. See documentation in L<SNMP::Info/"USAGE"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
@@ -341,6 +338,6 @@ Group (slot) Number for given port.
=head2 Table Methods imported from SNMP::Info =head2 Table Methods imported from SNMP::Info
See documentation in L<SNMP::Info/"TABLE METHODS"> for details. See documentation in L<SNMP::Info/"USAGE"> for details.
=cut =cut

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer1::Allied # SNMP::Info::Layer1::Allied
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer1::Allied; package SNMP::Info::Layer1::Allied;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer1; use SNMP::Info::Layer1;
@@ -52,9 +52,14 @@ $VERSION = '3.68';
'ati_up' => 'linkTestLED', 'ati_up' => 'linkTestLED',
); );
%MIBS = ( %SNMP::Info::Layer1::MIBS, 'ATI-MIB' => 'atiPortGroupIndex' ); %MIBS = (
%SNMP::Info::Layer1::MIBS,
'ATI-MIB' => 'atiPortGroupIndex',
);
%MUNGE = ( %SNMP::Info::Layer1::MUNGE, ); %MUNGE = (
%SNMP::Info::Layer1::MUNGE,
);
sub vendor { sub vendor {
return 'allied'; return 'allied';
@@ -68,7 +73,7 @@ sub os_ver {
my $allied = shift; my $allied = shift;
my $descr = $allied->description(); my $descr = $allied->description();
if ( $descr =~ m/version (\d+\.\d+)/ ) { if ( defined ($descr) && $descr =~ m/version (\d+\.\d+)/ ) {
return $1; return $1;
} }
return; return;
@@ -79,7 +84,7 @@ sub model {
my $desc = $allied->description(); my $desc = $allied->description();
if ( $desc =~ /(AT-\d{4}\S{1})/ ) { if ( defined ($desc) && $desc =~ /(AT-\d{4}\S{1})/ ) {
return $1; return $1;
} }
return; return;

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer1::Asante # SNMP::Info::Layer1::Asante
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer1::Asante; package SNMP::Info::Layer1::Asante;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer1; use SNMP::Info::Layer1;
@@ -81,7 +81,7 @@ sub os_ver {
my $asante = shift; my $asante = shift;
my $descr = $asante->description(); my $descr = $asante->description();
if ( $descr =~ /software v(\d+\.\d+)/ ) { if ( defined ($descr) && $descr =~ /software v(\d+\.\d+)/ ) {
return $1; return $1;
} }
return; return;
@@ -188,7 +188,7 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from an
Asante device through SNMP. Asante device through SNMP.
=head2 Inherited Classes =head2 Inherited Classes
@@ -227,7 +227,7 @@ Culls software version from description()
=item $asante->vendor() =item $asante->vendor()
Returns 'asante' :) Returns 'asante'
=item $asante->model() =item $asante->model()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer1::Bayhub # SNMP::Info::Layer1::Bayhub
# $Id$
# #
# Copyright (c) 2008 Eric Miller, Max Baker # Copyright (c) 2008 Eric Miller, Max Baker
# All rights reserved. # All rights reserved.
@@ -31,13 +30,14 @@
package SNMP::Info::Layer1::Bayhub; package SNMP::Info::Layer1::Bayhub;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::SONMP; use SNMP::Info::SONMP;
use SNMP::Info::NortelStack; use SNMP::Info::NortelStack;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@SNMP::Info::Layer1::Bayhub::ISA @SNMP::Info::Layer1::Bayhub::ISA
= qw/SNMP::Info::SONMP SNMP::Info::NortelStack SNMP::Info::Layer2 Exporter/; = qw/SNMP::Info::SONMP SNMP::Info::NortelStack SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer1::Bayhub::EXPORT_OK = qw//; @SNMP::Info::Layer1::Bayhub::EXPORT_OK = qw//;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE); our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
@@ -505,11 +505,6 @@ Provides abstraction to the configuration information obtainable from a
Bay hub device through SNMP. Also provides device MAC to port mapping through Bay hub device through SNMP. Also provides device MAC to port mapping through
the proprietary MIB. the proprietary MIB.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $bayhub = new SNMP::Info::Layer1::Bayhub(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer1::Cyclades # SNMP::Info::Layer1::Cyclades
# $Id$
# #
# Copyright (c) 2018 Eric Miller # Copyright (c) 2018 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer1::Cyclades; package SNMP::Info::Layer1::Cyclades;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer1; use SNMP::Info::Layer1;
@@ -498,11 +498,6 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Cyclades/Avocent device through SNMP. Cyclades/Avocent device through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $cyclades = new SNMP::Info::Layer1::Cyclades(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
@@ -515,6 +510,10 @@ my $cyclades = new SNMP::Info::Layer1::Cyclades(...);
=over =over
=item F<ACS-MIB>
=item F<ACS6000-MIB>
=item F<CYCLADES-ACS-SYS-MIB> =item F<CYCLADES-ACS-SYS-MIB>
=item F<CYCLADES-ACS-CONF-MIB> =item F<CYCLADES-ACS-CONF-MIB>
@@ -527,8 +526,6 @@ my $cyclades = new SNMP::Info::Layer1::Cyclades(...);
=item F<CYCLADES-ACS5K-INFO-MIB> =item F<CYCLADES-ACS5K-INFO-MIB>
=item F<ACS6000-MIB>
=back =back
=head2 Inherited MIBs =head2 Inherited MIBs

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer1::S3000 # SNMP::Info::Layer1::S3000
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer1::S3000; package SNMP::Info::Layer1::S3000;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -386,11 +386,6 @@ Provides abstraction to the configuration information obtainable from a
Bay hub device through SNMP. Also provides device MAC to port mapping through Bay hub device through SNMP. Also provides device MAC to port mapping through
the proprietary MIB. the proprietary MIB.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $s3000 = new SNMP::Info::Layer1::S3000(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2 - SNMP Interface to Layer2 Devices # SNMP::Info::Layer2 - SNMP Interface to Layer2 Devices
# $Id$
# #
# Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on # Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer2; package SNMP::Info::Layer2;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
use SNMP::Info::Bridge; use SNMP::Info::Bridge;
@@ -86,7 +86,7 @@ $VERSION = '3.68';
# Method OverRides # Method OverRides
# $l2->model() - Looks at sysObjectID which gives the oid of the system # $l2->model() - Looks at sysObjectID which gives the oid of the system
# name, contained in a propriatry MIB. # name, contained in a proprietary MIB.
sub model { sub model {
my $l2 = shift; my $l2 = shift;
my $id = $l2->id(); my $id = $l2->id();
@@ -228,10 +228,14 @@ after determining a more specific class using the method above.
=item SNMP::Info::Bridge =item SNMP::Info::Bridge
=item SNMP::Info::DocsisHE
=item SNMP::Info::Entity =item SNMP::Info::Entity
=item SNMP::Info::LLDP =item SNMP::Info::LLDP
=item SNMP::Info::PowerEthernet
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -275,7 +279,7 @@ Returns a serial number if found from F<ENTITY-MIB> and F<OLD-CISCO->... MIB.
=head2 Globals imported from SNMP::Info =head2 Globals imported from SNMP::Info
See documentation in L<SNMP::Info/"GLOBALS"> for details. See documentation in L<SNMP::Info/"USAGE"> for details.
=head2 Globals imported from SNMP::Info::Bridge =head2 Globals imported from SNMP::Info::Bridge
@@ -309,7 +313,7 @@ Defaults to C<ifDescr> but checks and overrides with C<ifName>
=head2 Table Methods imported from SNMP::Info =head2 Table Methods imported from SNMP::Info
See documentation in L<SNMP::Info/"TABLE METHODS"> for details. See documentation in L<SNMP::Info/"USAGE"> for details.
=head2 Table Methods imported from SNMP::Info::Bridge =head2 Table Methods imported from SNMP::Info::Bridge

View File

@@ -29,12 +29,12 @@
package SNMP::Info::Layer2::3Com; package SNMP::Info::Layer2::3Com;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use SNMP::Info::LLDP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
@SNMP::Info::Layer2::3Com::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer2 Exporter/; @SNMP::Info::Layer2::3Com::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::3Com::EXPORT_OK = qw//; @SNMP::Info::Layer2::3Com::EXPORT_OK = qw//;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD); our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
@@ -42,27 +42,22 @@ our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer2::MIBS,
'A3Com-products-MIB' => 'wlanAP7760', 'A3Com-products-MIB' => 'wlanAP7760',
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::LLDP::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::LLDP::MUNGE,
); );
sub os { sub os {
return '3Com'; return '3Com';
} }
@@ -94,17 +89,19 @@ sub os_ver {
} }
sub vendor { sub vendor {
return '3Com'; return '3com';
} }
sub model { sub model {
my $dsmodel = shift; my $dsmodel = shift;
my $descr = $dsmodel->description(); my $descr = $dsmodel->description();
if ( $descr =~ /^([\S ]+) Software.*/){
if (defined ($descr)) {
if ($descr =~ /^([\S ]+) Software.*/) {
return $1; return $1;
} else { } else {
return $descr; return $descr;
}
} }
return; return;
} }
@@ -128,7 +125,7 @@ Max Kosmach
Debug => 1, Debug => 1,
DestHost => 'myrouter', DestHost => 'myrouter',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -169,7 +166,7 @@ These are methods that return scalar value from SNMP
=item $device->vendor() =item $device->vendor()
Returns '3Com' Returns '3com'
=item $device->os() =item $device->os()

View File

@@ -29,12 +29,12 @@
package SNMP::Info::Layer2::Adtran; package SNMP::Info::Layer2::Adtran;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::LLDP;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@SNMP::Info::Layer2::Adtran::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer2 Exporter/; @SNMP::Info::Layer2::Adtran::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Adtran::EXPORT_OK = qw//; @SNMP::Info::Layer2::Adtran::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE); our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@@ -58,14 +58,12 @@ our $index = undef;
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'serial' => 'adProdSerialNumber', 'serial' => 'adProdSerialNumber',
'ad_mgmtevcvid' => 'adGenEVCSysMgmtEVCSTagVID', 'ad_mgmtevcvid' => 'adGenEVCSysMgmtEVCSTagVID',
); );
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, %FUNCS = ( %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
'ad_evcstag' => 'adGenEVCLookupName', 'ad_evcstag' => 'adGenEVCLookupName',
'ad_menport' => 'adGenMenPortRowStatus', 'ad_menport' => 'adGenMenPortRowStatus',
'ad_evcnamevid' => 'adGenEVCSTagVID', 'ad_evcnamevid' => 'adGenEVCSTagVID',
@@ -75,7 +73,7 @@ our $index = undef;
'ad_genportcustuse' => 'adGenPortCustomerUse', 'ad_genportcustuse' => 'adGenPortCustomerUse',
); );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::LLDP::MUNGE, %SNMP::Info::Layer3::MUNGE ); %MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer3::MUNGE );
sub vendor { sub vendor {
return 'adtran'; return 'adtran';
@@ -130,8 +128,8 @@ sub i_name {
my $adname = $adtran->ad_genportcustuse() || undef; my $adname = $adtran->ad_genportcustuse() || undef;
if (defined $adname) { if (defined $adname) {
foreach my $port (keys %$adname) { foreach my $port (keys %$adname) {
my @split = split(/\./,$port); my @splitout = split(/\./,$port);
$i_name->{@split[1]} = $adname->{$port}; $i_name->{$splitout[1]} = $adname->{$port};
} }
} }
return $i_name; return $i_name;
@@ -170,9 +168,9 @@ sub i_vlan_membership {
} }
my $if_vlans = {}; my $if_vlans = {};
foreach my $entry (keys %$i_vlan) { foreach my $entry (keys %$i_vlan) {
my @split = split(/(\.0)+\./,$entry); my @splitout = split(/(\.0)+\./,$entry);
my $name = pack("C*", split(/\./,@split[0])); my $name = pack("C*", split(/\./,$splitout[0]));
push @{$if_vlans->{@split[2]}}, $vlans->{$name}; push @{$if_vlans->{$splitout[2]}}, $vlans->{$name};
} }
my $mgmtevcports = $adtran->ad_mgmtevcports(); my $mgmtevcports = $adtran->ad_mgmtevcports();
my $mgmtevcid = $adtran->ad_mgmtevcvid(); my $mgmtevcid = $adtran->ad_mgmtevcvid();
@@ -223,17 +221,17 @@ Subclass for adtran Devices running JUNOS
=over =over
=item SNMP::Info::Layer3 =item SNMP::Info::Layer2
=item SNMP::Info::LLDP =item SNMP::Info::Layer3
=back =back
=head2 Inherited Classes' MIBs =head2 Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS =head1 GLOBALS
@@ -273,10 +271,6 @@ Returns serial number.
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -303,12 +297,12 @@ IDs. These are the VLANs which are members of the egress list for the port.
=back =back
=head2 Table Methods imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer3 =head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer2::Aerohive; package SNMP::Info::Layer2::Aerohive;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -107,13 +108,12 @@ sub os_ver {
my $aerohive = shift; my $aerohive = shift;
my $descr = $aerohive->description(); my $descr = $aerohive->description();
if ( $descr =~ m/\bHiveOS\s(\d\.\w+)\b/ix ) { if ( defined ($descr) && $descr =~ m/\bHiveOS\s(\d\.\w+)\b/ix ) {
return $1; return $1;
} }
return; return;
} }
sub mac { sub mac {
my $aerohive = shift; my $aerohive = shift;
my $ahmac = $aerohive->ah_mac(); my $ahmac = $aerohive->ah_mac();
@@ -137,12 +137,11 @@ sub mac {
return $macs[0]; return $macs[0];
} }
sub model { sub model {
my $aerohive = shift; my $aerohive = shift;
my $descr = $aerohive->description(); my $descr = $aerohive->description();
if ( $descr =~ m/\b(?:Hive|)(AP\d+)\b/ix ) { if ( defined ($descr) && $descr =~ m/\b(?:Hive|)(AP\d+)\b/ix ) {
return $1; return $1;
} }
return; return;
@@ -345,11 +344,6 @@ Eric Miller
Provides abstraction to the configuration information obtainable from an Provides abstraction to the configuration information obtainable from an
Aerohive wireless Access Point through SNMP. Aerohive wireless Access Point through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $aerohive = new SNMP::Info::Layer2::Aerohive(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -29,8 +29,8 @@
package SNMP::Info::Layer2::Airespace; package SNMP::Info::Layer2::Airespace;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Bridge;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::Airespace; use SNMP::Info::Airespace;
@@ -272,11 +272,6 @@ Eric Miller
Provides abstraction to the configuration information obtainable from Provides abstraction to the configuration information obtainable from
Cisco (Airespace) Wireless Controllers through SNMP. Cisco (Airespace) Wireless Controllers through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $airespace = new SNMP::Info::Layer2::Airespace(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Aironet # SNMP::Info::Layer2::Aironet
# $Id$
# #
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,9 +32,9 @@
package SNMP::Info::Layer2::Aironet; package SNMP::Info::Layer2::Aironet;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use SNMP::Info::Entity;
use SNMP::Info::EtherLike; use SNMP::Info::EtherLike;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoConfig; use SNMP::Info::CiscoConfig;
@@ -43,7 +42,7 @@ use SNMP::Info::CDP;
use SNMP::Info::IEEE802dot11; use SNMP::Info::IEEE802dot11;
@SNMP::Info::Layer2::Aironet::ISA @SNMP::Info::Layer2::Aironet::ISA
= qw/SNMP::Info::Layer2 SNMP::Info::Entity SNMP::Info::EtherLike = qw/SNMP::Info::Layer2 SNMP::Info::EtherLike
SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/; SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/;
@SNMP::Info::Layer2::Aironet::EXPORT_OK = qw//; @SNMP::Info::Layer2::Aironet::EXPORT_OK = qw//;
@@ -54,19 +53,17 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::IEEE802dot11::GLOBALS, %SNMP::Info::IEEE802dot11::GLOBALS,
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::Entity::GLOBALS,
%SNMP::Info::EtherLike::GLOBALS, %SNMP::Info::EtherLike::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CiscoConfig::GLOBALS, %SNMP::Info::CiscoConfig::GLOBALS,
%SNMP::Info::CDP::GLOBALS, %SNMP::Info::CDP::GLOBALS,
'serial' => 'entPhysicalSerialNum.1', 'serial' => 'entPhysicalSerialNum.1',
'ps1_type' => 'cpoePdCurrentPowerSource' 'ps1_type' => 'cpoePdCurrentPowerSource',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::IEEE802dot11::FUNCS, %SNMP::Info::IEEE802dot11::FUNCS,
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::Entity::FUNCS,
%SNMP::Info::EtherLike::FUNCS, %SNMP::Info::EtherLike::FUNCS,
%SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CiscoConfig::FUNCS, %SNMP::Info::CiscoConfig::FUNCS,
@@ -88,7 +85,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::IEEE802dot11::MIBS, %SNMP::Info::IEEE802dot11::MIBS,
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::Entity::MIBS,
%SNMP::Info::EtherLike::MIBS, %SNMP::Info::EtherLike::MIBS,
%SNMP::Info::CiscoStats::MIBS, %SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CiscoConfig::MIBS, %SNMP::Info::CiscoConfig::MIBS,
@@ -103,7 +99,6 @@ $VERSION = '3.68';
%MUNGE = ( %MUNGE = (
%SNMP::Info::IEEE802dot11::MUNGE, %SNMP::Info::IEEE802dot11::MUNGE,
%SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::Entity::MUNGE,
%SNMP::Info::EtherLike::MUNGE, %SNMP::Info::EtherLike::MUNGE,
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
@@ -118,7 +113,6 @@ $VERSION = '3.68';
= \&SNMP::Info::IEEE802dot11::dot11_cur_tx_pwr_mw; = \&SNMP::Info::IEEE802dot11::dot11_cur_tx_pwr_mw;
sub vendor { sub vendor {
# Sorry, but it's true. # Sorry, but it's true.
return 'cisco'; return 'cisco';
} }
@@ -138,8 +132,13 @@ sub description {
my $descr = $aironet->SUPER::description(); my $descr = $aironet->SUPER::description();
my $e_descr = $aironet->e_descr(); my $e_descr = $aironet->e_descr();
$descr = "$e_descr->{1} $descr" if defined $e_descr->{1}; if (defined $e_descr->{1}) {
if (defined $descr) {
$descr = "$e_descr->{1} $descr"
} else {
$descr = "$e_descr->{1}"
}
}
return $descr; return $descr;
} }
@@ -527,8 +526,6 @@ my $aironet = new SNMP::Info::Layer2::Aironet(...);
=item SNMP::Info::Layer2 =item SNMP::Info::Layer2
=item SNMP::Info::Entity
=item SNMP::Info::EtherLike =item SNMP::Info::EtherLike
=item SNMP::Info::CiscoStats =item SNMP::Info::CiscoStats
@@ -541,6 +538,16 @@ my $aironet = new SNMP::Info::Layer2::Aironet(...);
=over =over
=item F<CISCO-DOT11-ASSOCIATION-MIB>
=item F<CISCO-DOT11-IF-MIB>
=item F<CISCO-DOT11-SSID-SECURITY-MIB>
=item F<CISCO-POE-PD-MIB>
=item F<CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB>
=item Inherited Classes =item Inherited Classes
MIBs required by the inherited classes listed above. MIBs required by the inherited classes listed above.
@@ -567,10 +574,6 @@ System description. Adds info from method e_descr() from SNMP::Info::Entity
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::EtherLike =head2 Globals imported from SNMP::Info::EtherLike
See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details. See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details.
@@ -668,10 +671,6 @@ C<cpoePdSupportedPowerMode>.
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::EtherLike =head2 Table Methods imported from SNMP::Info::EtherLike
See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Allied # SNMP::Info::Layer2::Allied
# $Id$
# #
# Copyright (c) 2008 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer2::Allied; package SNMP::Info::Layer2::Allied;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use SNMP::Info::Layer1; use SNMP::Info::Layer1;
@@ -70,7 +70,7 @@ sub os_ver {
my $allied = shift; my $allied = shift;
my $descr = $allied->description(); my $descr = $allied->description();
if ( $descr =~ m/version (\d+\.\d+)/ ) { if ( defined ($descr) && $descr =~ m/version (\d+\.\d+)/ ) {
return $1; return $1;
} }
return; return;
@@ -78,10 +78,9 @@ sub os_ver {
sub model { sub model {
my $allied = shift; my $allied = shift;
my $desc = $allied->description(); my $desc = $allied->description();
if ( $desc =~ /(AT-80\d{2}\S*)/ ) { if ( defined ($desc) && $desc =~ /(AT-80\d{2}\S*)/ ) {
return $1; return $1;
} }
return; return;
@@ -191,7 +190,7 @@ These are methods that return scalar value from SNMP
=item $allied->vendor() =item $allied->vendor()
Returns 'allied' :) Returns 'allied'
=item $allied->os() =item $allied->os()

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer2::Atmedia; package SNMP::Info::Layer2::Atmedia;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -68,10 +69,12 @@ sub model {
my $atmedia = shift; my $atmedia = shift;
my $atmedia_model = $atmedia->atm_model(); my $atmedia_model = $atmedia->atm_model();
$atmedia_model =~ s/\<|\>//g; if (defined $atmedia_model) {
$atmedia_model =~ s/\//_/g; $atmedia_model =~ s/\<|\>//g;
$atmedia_model =~ s/\//_/g;
return $atmedia_model; return $atmedia_model;
}
return;
} }
sub vendor { sub vendor {

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Baystack # SNMP::Info::Layer2::Baystack
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# All rights reserved. # All rights reserved.
@@ -31,16 +30,16 @@
package SNMP::Info::Layer2::Baystack; package SNMP::Info::Layer2::Baystack;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::SONMP; use SNMP::Info::SONMP;
use SNMP::Info::NortelStack; use SNMP::Info::NortelStack;
use SNMP::Info::RapidCity; use SNMP::Info::RapidCity;
use SNMP::Info::LLDP;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@SNMP::Info::Layer2::Baystack::ISA @SNMP::Info::Layer2::Baystack::ISA
= qw/SNMP::Info::SONMP SNMP::Info::NortelStack = qw/SNMP::Info::SONMP SNMP::Info::NortelStack
SNMP::Info::RapidCity SNMP::Info::LLDP SNMP::Info::RapidCity
SNMP::Info::Layer3 Exporter/; SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer2::Baystack::EXPORT_OK = qw//; @SNMP::Info::Layer2::Baystack::EXPORT_OK = qw//;
@@ -49,20 +48,20 @@ our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::LLDP::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::RapidCity::MIBS, %SNMP::Info::NortelStack::MIBS, %SNMP::Info::RapidCity::MIBS, %SNMP::Info::NortelStack::MIBS,
%SNMP::Info::SONMP::MIBS, %SNMP::Info::SONMP::MIBS,
'BAY-STACK-PETH-EXT-MIB' => 'bspePethPsePortExtMeasuredPower', 'BAY-STACK-PETH-EXT-MIB' => 'bspePethPsePortExtMeasuredPower',
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::LLDP::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::RapidCity::GLOBALS, %SNMP::Info::NortelStack::GLOBALS, %SNMP::Info::RapidCity::GLOBALS, %SNMP::Info::NortelStack::GLOBALS,
%SNMP::Info::SONMP::GLOBALS, %SNMP::Info::SONMP::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::LLDP::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::RapidCity::FUNCS, %SNMP::Info::NortelStack::FUNCS, %SNMP::Info::RapidCity::FUNCS, %SNMP::Info::NortelStack::FUNCS,
%SNMP::Info::SONMP::FUNCS, %SNMP::Info::SONMP::FUNCS,
'peth_port_power' => 'bspePethPsePortExtMeasuredPower', 'peth_port_power' => 'bspePethPsePortExtMeasuredPower',
@@ -74,7 +73,7 @@ $SNMP::Info::SPEED_MAP{200_000_000} = '100 Mbps';
$SNMP::Info::SPEED_MAP{2_000_000_000} = '1.0 Gbps'; $SNMP::Info::SPEED_MAP{2_000_000_000} = '1.0 Gbps';
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::LLDP::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::RapidCity::MUNGE, %SNMP::Info::NortelStack::MUNGE, %SNMP::Info::RapidCity::MUNGE, %SNMP::Info::NortelStack::MUNGE,
%SNMP::Info::SONMP::MUNGE, %SNMP::Info::SONMP::MUNGE,
); );
@@ -429,11 +428,6 @@ Provides abstraction to the configuration information obtainable from an
Avaya Ethernet Switch (formerly Nortel/Bay Baystack) and VSP 7000 series Avaya Ethernet Switch (formerly Nortel/Bay Baystack) and VSP 7000 series
through SNMP. through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $baystack = new SNMP::Info::Layer2::Baystack(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
@@ -444,8 +438,6 @@ my $baystack = new SNMP::Info::Layer2::Baystack(...);
=item SNMP::Info::RapidCity =item SNMP::Info::RapidCity
=item SNMP::Info::LLDP
=item SNMP::Info::Layer3 =item SNMP::Info::Layer3
=back =back
@@ -454,7 +446,7 @@ my $baystack = new SNMP::Info::Layer2::Baystack(...);
=over =over
=item F<BAY-STACK-PETH-EXT-MIBB> =item F<BAY-STACK-PETH-EXT-MIB>
=back =back
@@ -466,8 +458,6 @@ See L<SNMP::Info::NortelStack/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::RapidCity/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::RapidCity/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its MIB requirements.
=head1 GLOBALS =head1 GLOBALS
@@ -537,10 +527,6 @@ See L<SNMP::Info::NortelStack/"GLOBALS"> for details.
See L<SNMP::Info::RapidCity/"GLOBALS"> for details. See L<SNMP::Info::RapidCity/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer3 =head2 Globals imported from SNMP::Info::Layer3
See L<SNMP::Info::Layer3/"GLOBALS"> for details. See L<SNMP::Info::Layer3/"GLOBALS"> for details.
@@ -700,10 +686,6 @@ See L<SNMP::Info::NortelStack/"TABLE METHODS"> for details.
See L<SNMP::Info::RapidCity/"TABLE METHODS"> for details. See L<SNMP::Info::RapidCity/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer3 =head2 Table Methods imported from SNMP::Info::Layer3
See L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See L<SNMP::Info::Layer3/"TABLE METHODS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::C1900 # SNMP::Info::Layer2::C1900
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer2::C1900; package SNMP::Info::Layer2::C1900;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
@@ -311,11 +311,6 @@ Catalyst 1900 device through SNMP. See SNMP::Info for full documentation
Note that most of these devices only talk SNMP version 1, but not all. Note that most of these devices only talk SNMP version 1, but not all.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $c1900 = new SNMP::Info::Layer2::C1900(...);
=head2 Inherited classes =head2 Inherited classes
=over =over
@@ -342,8 +337,6 @@ after determining a more specific class using the method above.
F<ESSWITCH-MIB> is included in the Version 1 MIBs from Cisco. F<ESSWITCH-MIB> is included in the Version 1 MIBs from Cisco.
They can be found at ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
=back =back
=head2 Inherited MIBs =head2 Inherited MIBs
@@ -386,7 +379,7 @@ the version from there.
=item $c1900->vendor() =item $c1900->vendor()
Returns 'cisco' :) Returns 'cisco'
=back =back
@@ -420,10 +413,6 @@ See L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
See L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details. See L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoAgg
See L<SNMP::Info::CiscoAgg/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer2 =head2 Globals imported from SNMP::Info::Layer2
See L<SNMP::Info::Layer2/"GLOBALS"> for details. See L<SNMP::Info::Layer2/"GLOBALS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::C2900 # SNMP::Info::Layer2::C2900
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer2::C2900; package SNMP::Info::Layer2::C2900;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2::Cisco; use SNMP::Info::Layer2::Cisco;
@@ -244,11 +244,6 @@ Max Baker
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
C2900 device through SNMP. C2900 device through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $c2900 = new SNMP::Info::Layer2::C2900(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
@@ -281,7 +276,7 @@ These are methods that return scalar value from SNMP
=item $c2900->vendor() =item $c2900->vendor()
Returns 'cisco' :) Returns 'cisco'
=item $c2900->cisco_comm_indexing() =item $c2900->cisco_comm_indexing()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Catalyst # SNMP::Info::Layer2::Catalyst
# $Id$
# #
# Copyright (c) 2002,2003 Regents of the University of California # Copyright (c) 2002,2003 Regents of the University of California
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond
@@ -32,6 +31,7 @@
package SNMP::Info::Layer2::Catalyst; package SNMP::Info::Layer2::Catalyst;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::CiscoStack; use SNMP::Info::CiscoStack;
use SNMP::Info::Layer2::Cisco; use SNMP::Info::Layer2::Cisco;
@@ -64,7 +64,7 @@ $VERSION = '3.68';
%SNMP::Info::CiscoStack::MUNGE, %SNMP::Info::CiscoStack::MUNGE,
); );
# Overidden Methods # Overridden Methods
# i_physical sets a hash entry as true if the iid is a physical port # i_physical sets a hash entry as true if the iid is a physical port
sub i_physical { sub i_physical {

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Centillion # SNMP::Info::Layer2::Centillion
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,9 +30,9 @@
package SNMP::Info::Layer2::Centillion; package SNMP::Info::Layer2::Centillion;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
use SNMP::Info::Bridge;
use SNMP::Info::NortelStack; use SNMP::Info::NortelStack;
use SNMP::Info::SONMP; use SNMP::Info::SONMP;
@@ -292,11 +291,6 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Centillion device through SNMP. Centillion device through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $centillion = new SNMP::Info::Layer2::centillion(...);
Note: This class supports version 4.X and 5.X which are VLAN based rather Note: This class supports version 4.X and 5.X which are VLAN based rather
than bridge group based. than bridge group based.
@@ -328,7 +322,7 @@ than bridge group based.
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info/"REQUIREMENTS"> for its own MIB requirements.
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
@@ -346,7 +340,7 @@ These are methods that return scalar value from SNMP
=item $centillion->vendor() =item $centillion->vendor()
Returns 'Nortel' Returns 'nortel'
=item $centillion->model() =item $centillion->model()
@@ -357,7 +351,7 @@ Removes C<sreg-> from the model name
=item $centillion->os() =item $centillion->os()
Returns 'Centillion' Returns 'centillion'
=item $centillion->tftp_action() =item $centillion->tftp_action()
@@ -399,7 +393,7 @@ start at 0. Returns 0.
=head2 Globals imported from SNMP::Info =head2 Globals imported from SNMP::Info
See documentation in L<SNMP::Info/"GLOBALS"> for details. See documentation in L<SNMP::Info/"USAGE"> for details.
=head2 Globals imported from SNMP::Info::Bridge =head2 Globals imported from SNMP::Info::Bridge
@@ -513,7 +507,7 @@ Returns reference to hash. Key: Table entry, Value: VLAN Type
=head2 Table Methods imported from SNMP::Info =head2 Table Methods imported from SNMP::Info
See documentation in L<SNMP::Info/"TABLE METHODS"> for details. See documentation in L<SNMP::Info/"USAGE"> for details.
=head2 Table Methods imported from SNMP::Info::Bridge =head2 Table Methods imported from SNMP::Info::Bridge

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Cisco # SNMP::Info::Layer2::Cisco
# $Id$
# #
# Copyright (c) 2008 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer2::Cisco; package SNMP::Info::Layer2::Cisco;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
@@ -194,7 +194,7 @@ These are methods that return scalar value from SNMP
=item $cisco->vendor() =item $cisco->vendor()
Returns 'cisco' Returns 'cisco'
=back =back
@@ -226,10 +226,6 @@ See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
See documentation in L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoAgg
See documentation in L<SNMP::Info::CiscoAgg/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer2 =head2 Globals imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.

View File

@@ -37,14 +37,13 @@ use strict;
use warnings; use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use SNMP::Info::Entity;
use SNMP::Info::EtherLike; use SNMP::Info::EtherLike;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoConfig; use SNMP::Info::CiscoConfig;
use SNMP::Info::CDP; use SNMP::Info::CDP;
@SNMP::Info::Layer2::CiscoSB::ISA @SNMP::Info::Layer2::CiscoSB::ISA
= qw/SNMP::Info::Layer2 SNMP::Info::Entity SNMP::Info::EtherLike = qw/SNMP::Info::Layer2 SNMP::Info::EtherLike
SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/; SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/;
@SNMP::Info::Layer2::CiscoSB::EXPORT_OK = qw//; @SNMP::Info::Layer2::CiscoSB::EXPORT_OK = qw//;
@@ -54,17 +53,15 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::Entity::GLOBALS,
%SNMP::Info::EtherLike::GLOBALS, %SNMP::Info::EtherLike::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CiscoConfig::GLOBALS, %SNMP::Info::CiscoConfig::GLOBALS,
%SNMP::Info::CDP::GLOBALS, %SNMP::Info::CDP::GLOBALS,
'descr' => 'sysDescr' 'descr' => 'sysDescr',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::Entity::FUNCS,
%SNMP::Info::EtherLike::FUNCS, %SNMP::Info::EtherLike::FUNCS,
%SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CiscoConfig::FUNCS, %SNMP::Info::CiscoConfig::FUNCS,
@@ -73,7 +70,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::Entity::MIBS,
%SNMP::Info::EtherLike::MIBS, %SNMP::Info::EtherLike::MIBS,
%SNMP::Info::CiscoStats::MIBS, %SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CiscoConfig::MIBS, %SNMP::Info::CiscoConfig::MIBS,
@@ -82,14 +78,12 @@ $VERSION = '3.68';
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::Entity::MUNGE,
%SNMP::Info::EtherLike::MUNGE, %SNMP::Info::EtherLike::MUNGE,
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CDP::MUNGE, %SNMP::Info::CDP::MUNGE,
); );
sub vendor { sub vendor {
return 'cisco'; return 'cisco';
} }
@@ -210,8 +204,6 @@ managed switches. [i.e. those matching enterprises(1).cisco(9).otherEnterprises(
=item SNMP::Info::CiscoStats =item SNMP::Info::CiscoStats
=item SNMP::Info::Entity
=item SNMP::Info::EtherLike =item SNMP::Info::EtherLike
=item SNMP::Info::Layer2 =item SNMP::Info::Layer2
@@ -267,10 +259,6 @@ Returns 'ros'.
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::EtherLike =head2 Globals imported from SNMP::Info::EtherLike
See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details. See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details.
@@ -299,10 +287,6 @@ Uses the i_name() field.
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::EtherLike =head2 Table Methods imported from SNMP::Info::EtherLike
See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::HP - SNMP Interface to HP ProCurve Switches # SNMP::Info::Layer2::HP - SNMP Interface to HP ProCurve Switches
# $Id$
# #
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer2::HP; package SNMP::Info::Layer2::HP;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::MAU; use SNMP::Info::MAU;

View File

@@ -32,6 +32,7 @@
package SNMP::Info::Layer2::HP4000; package SNMP::Info::Layer2::HP4000;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::MAU; use SNMP::Info::MAU;
@@ -49,7 +50,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::MAU::MIBS, %SNMP::Info::MAU::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::CDP::MIBS, %SNMP::Info::CDP::MIBS,
'RFC1271-MIB' => 'logDescription', 'RFC1271-MIB' => 'logDescription',
'HP-ICF-OID' => 'hpSwitch4000', 'HP-ICF-OID' => 'hpSwitch4000',
@@ -427,7 +427,7 @@ sub set_i_vlan {
$hp->error_throw("Error removing previous untagged vlan from port, should never happen...\n") unless defined $rv; $hp->error_throw("Error removing previous untagged vlan from port, should never happen...\n") unless defined $rv;
} }
} else { } else {
# If vlan change was not succesful, try to revert to the old situation. # If vlan change was not successful, try to revert to the old situation.
if (defined $old_untagged) { if (defined $old_untagged) {
$rv = $hp->set_hp_v_if_tag(2, $old_untagged) if defined $old_untagged; $rv = $hp->set_hp_v_if_tag(2, $old_untagged) if defined $old_untagged;
if (defined $rv) { if (defined $rv) {
@@ -504,11 +504,6 @@ Note: Some HP Switches will connect via SNMP version 1, but a lot of config
data will not be available. Make sure you try and connect with Version 2 data will not be available. Make sure you try and connect with Version 2
first, and then fail back to version 1. first, and then fail back to version 1.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $hp = new SNMP::Info::Layer2::HP4000(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -31,12 +31,12 @@
package SNMP::Info::Layer2::HPVC; package SNMP::Info::Layer2::HPVC;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use SNMP::Info::LLDP;
@SNMP::Info::Layer2::HPVC::ISA @SNMP::Info::Layer2::HPVC::ISA
= qw/SNMP::Info::Layer2 SNMP::Info::LLDP Exporter/; = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::HPVC::EXPORT_OK = qw//; @SNMP::Info::Layer2::HPVC::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE); our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@@ -45,7 +45,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::LLDP::MIBS,
'HPVC-MIB' => 'vcDomainName', 'HPVC-MIB' => 'vcDomainName',
'CPQSINFO-MIB' => 'cpqSiSysSerialNum', 'CPQSINFO-MIB' => 'cpqSiSysSerialNum',
'HPVCMODULE-MIB' => 'vcModuleDomainName', 'HPVCMODULE-MIB' => 'vcModuleDomainName',
@@ -53,7 +52,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'serial1' => 'cpqSiSysSerialNum.0', 'serial1' => 'cpqSiSysSerialNum.0',
'os_ver' => 'cpqHoSWRunningVersion.1', 'os_ver' => 'cpqHoSWRunningVersion.1',
'os_bin' => 'cpqHoFwVerVersion.1', 'os_bin' => 'cpqHoFwVerVersion.1',
@@ -62,17 +60,13 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::LLDP::FUNCS,
); );
%MUNGE = ( %MUNGE = (
# Inherit all the built in munging # Inherit all the built in munging
%SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::LLDP::MUNGE,
); );
# Method Overrides # Method Overrides
sub os { sub os {
@@ -120,11 +114,6 @@ Jeroen van Ingen
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
HP Virtual Connect Switch via SNMP. HP Virtual Connect Switch via SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $hp = new SNMP::Info::Layer2::HPVC(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -28,6 +28,7 @@ package SNMP::Info::Layer2::Kentrox;
# POSSIBILITY OF SUCH DAMAGE. # POSSIBILITY OF SUCH DAMAGE.
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -57,13 +58,13 @@ $VERSION = '3.68';
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, ); %MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
sub os { sub os {
return 'Kentrox'; return 'kentrox';
} }
sub os_ver { sub os_ver {
my $dsver = shift; my $dsver = shift;
my $descr = $dsver->description(); my $descr = $dsver->description();
if ( $descr =~ /^\S+\s\S+\s\S+\s(\S+)/){ if ( defined ($descr) && $descr =~ /^\S+\s\S+\s\S+\s(\S+)/){
return $1; return $1;
} }
return; return;
@@ -72,20 +73,20 @@ sub os_ver {
sub serial { sub serial {
my $dsserial = shift; my $dsserial = shift;
my $serial = $dsserial->ds_sysinfo(); my $serial = $dsserial->ds_sysinfo();
if ( $serial =~ /SERIAL\s(\S+)/){ if ( defined ($serial) && $serial =~ /SERIAL\s(\S+)/){
my $str = substr($1,8,10); my $str = substr($1,8,10);
return $str; return $str;
} }
return; return;
} }
sub vendor { sub vendor {
return 'Kentrox'; return 'kentrox';
} }
sub model { sub model {
my $dsmodel = shift; my $dsmodel = shift;
my $descr = $dsmodel->description(); my $descr = $dsmodel->description();
if ( $descr =~ /^(\S+\s\S+)/){ if ( defined ($descr) && $descr =~ /^(\S+\s\S+)/){
return $1; return $1;
} }
return; return;
@@ -110,7 +111,7 @@ phishphreek@gmail.com
Debug => 1, Debug => 1,
DestHost => 'myrouter', DestHost => 'myrouter',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::N2270 # SNMP::Info::Layer2::N2270
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,14 +30,14 @@
package SNMP::Info::Layer2::N2270; package SNMP::Info::Layer2::N2270;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info::Layer2;
use SNMP::Info::Bridge;
use SNMP::Info::SONMP; use SNMP::Info::SONMP;
use SNMP::Info::Airespace; use SNMP::Info::Airespace;
@SNMP::Info::Layer2::N2270::ISA @SNMP::Info::Layer2::N2270::ISA
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::SONMP SNMP::Info::Airespace Exporter/; = qw/SNMP::Info::Layer2 SNMP::Info::SONMP SNMP::Info::Airespace Exporter/;
@SNMP::Info::Layer2::N2270::EXPORT_OK = qw//; @SNMP::Info::Layer2::N2270::EXPORT_OK = qw//;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG); our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
@@ -46,23 +45,27 @@ our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::SONMP::MIBS, %SNMP::Info::Airespace::MIBS, %SNMP::Info::SONMP::MIBS,
%SNMP::Info::Airespace::MIBS,
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::GLOBALS, %SNMP::Info::Bridge::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::SONMP::GLOBALS, %SNMP::Info::Airespace::GLOBALS, %SNMP::Info::SONMP::GLOBALS,
%SNMP::Info::Airespace::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::FUNCS, %SNMP::Info::Bridge::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::SONMP::FUNCS, %SNMP::Info::Airespace::FUNCS, %SNMP::Info::SONMP::FUNCS,
%SNMP::Info::Airespace::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::MUNGE, %SNMP::Info::Bridge::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::SONMP::MUNGE, %SNMP::Info::Airespace::MUNGE, %SNMP::Info::SONMP::MUNGE,
%SNMP::Info::Airespace::MUNGE,
); );
sub os { sub os {
@@ -126,18 +129,11 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Provides abstraction to the configuration information obtainable from a
Nortel 2270 Series Wireless Switch through SNMP. Nortel 2270 Series Wireless Switch through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $n2270 = new SNMP::Info::Layer2::N2270(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
=item SNMP::Info =item SNMP::Info::Layer2
=item SNMP::Info::Bridge
=item SNMP::Info::SONMP =item SNMP::Info::SONMP
@@ -151,9 +147,7 @@ my $n2270 = new SNMP::Info::Layer2::N2270(...);
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::SONMP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::SONMP/"Required MIBs"> for its own MIB requirements.
@@ -200,13 +194,9 @@ start at 0. Returns 0.
=back =back
=head2 Globals imported from SNMP::Info =head2 Globals imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::SONMP =head2 Global Methods imported from SNMP::Info::SONMP
@@ -229,13 +219,9 @@ to a hash.
=back =back
=head2 Table Methods imported from SNMP::Info =head2 Table Methods imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::SONMP =head2 Table Methods imported from SNMP::Info::SONMP

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::NAP222x # SNMP::Info::Layer2::NAP222x
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer2::NAP222x; package SNMP::Info::Layer2::NAP222x;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::SONMP; use SNMP::Info::SONMP;
use SNMP::Info::IEEE802dot11; use SNMP::Info::IEEE802dot11;
@@ -393,11 +393,6 @@ Eric Miller
Provides abstraction to the configuration information obtainable from a Nortel Provides abstraction to the configuration information obtainable from a Nortel
2220 series wireless Access Points through SNMP. 2220 series wireless Access Points through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $nap222x = new SNMP::Info::Layer2::NAP222x(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -29,12 +29,12 @@
package SNMP::Info::Layer2::NWSS2300; package SNMP::Info::Layer2::NWSS2300;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info::Layer2;
use SNMP::Info::Bridge;
@SNMP::Info::Layer2::NWSS2300::ISA @SNMP::Info::Layer2::NWSS2300::ISA
= qw/SNMP::Info SNMP::Info::Bridge Exporter/; = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::NWSS2300::EXPORT_OK = qw//; @SNMP::Info::Layer2::NWSS2300::EXPORT_OK = qw//;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE); our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
@@ -42,8 +42,7 @@ our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::Bridge::MIBS,
'NTWS-REGISTRATION-DEVICES-MIB' => 'ntwsSwitch2380', 'NTWS-REGISTRATION-DEVICES-MIB' => 'ntwsSwitch2380',
'NTWS-AP-STATUS-MIB' => 'ntwsApStatNumAps', 'NTWS-AP-STATUS-MIB' => 'ntwsApStatNumAps',
'NTWS-CLIENT-SESSION-MIB' => 'ntwsClSessTotalSessions', 'NTWS-CLIENT-SESSION-MIB' => 'ntwsClSessTotalSessions',
@@ -53,16 +52,14 @@ $VERSION = '3.68';
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::Bridge::GLOBALS,
'os_ver' => 'ntwsVersionString', 'os_ver' => 'ntwsVersionString',
'serial' => 'ntwsSerialNumber', 'serial' => 'ntwsSerialNumber',
'mac' => 'dot1dBaseBridgeAddress', 'mac' => 'dot1dBaseBridgeAddress',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::Bridge::FUNCS,
# NTWS-AP-STATUS-MIB::ntwsApStatApStatusTable # NTWS-AP-STATUS-MIB::ntwsApStatApStatusTable
'nwss2300_ap_mac' => 'ntwsApStatApStatusBaseMac', 'nwss2300_ap_mac' => 'ntwsApStatApStatusBaseMac',
@@ -125,8 +122,7 @@ $VERSION = '3.68';
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::Bridge::MUNGE,
'nwss2300_apif_mac' => \&SNMP::Info::munge_mac, 'nwss2300_apif_mac' => \&SNMP::Info::munge_mac,
'nwss2300_apif_bssid' => \&SNMP::Info::munge_mac, 'nwss2300_apif_bssid' => \&SNMP::Info::munge_mac,
); );
@@ -813,18 +809,11 @@ This class emulates bridge functionality for the wireless switch. This enables
end station MAC addresses collection and correlation to the thin access point end station MAC addresses collection and correlation to the thin access point
the end station is using for communication. the end station is using for communication.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $nwss2300 = new SNMP::Info::Layer2::NWSS2300(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
=item SNMP::Info =item SNMP::Info::Layer2
=item SNMP::Info::Bridge
=back =back
@@ -846,9 +835,7 @@ my $nwss2300 = new SNMP::Info::Layer2::NWSS2300(...);
=head2 Inherited Classes' MIBs =head2 Inherited Classes' MIBs
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS =head1 GLOBALS
@@ -895,13 +882,9 @@ proprietary MIBs.
=back =back
=head2 Global Methods imported from SNMP::Info =head2 Global Methods imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
@@ -1141,13 +1124,9 @@ These emulate the F<CISCO-DOT11-MIB>
=back =back
=head2 Table Methods imported from SNMP::Info =head2 Table Methods imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
=head2 Overrides =head2 Overrides

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Netgear # SNMP::Info::Layer2::Netgear
# $Id$
# #
# Copyright (c) 2008 Bill Fenner # Copyright (c) 2008 Bill Fenner
# All rights reserved. # All rights reserved.
@@ -31,11 +30,11 @@
package SNMP::Info::Layer2::Netgear; package SNMP::Info::Layer2::Netgear;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
use SNMP::Info::LLDP;
@SNMP::Info::Layer2::Netgear::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer2 Exporter/; @SNMP::Info::Layer2::Netgear::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Netgear::EXPORT_OK = qw//; @SNMP::Info::Layer2::Netgear::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE); our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@@ -46,18 +45,18 @@ $VERSION = '3.68';
# table by the serial() function. # table by the serial() function.
our $index = undef; our $index = undef;
%MIBS = ( %SNMP::Info::Layer2::MIBS, %SNMP::Info::LLDP::MIBS, ); %MIBS = ( %SNMP::Info::Layer2::MIBS, );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::LLDP::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
ng_fsosver => '.1.3.6.1.4.1.4526.11.11.1.0', ng_fsosver => '.1.3.6.1.4.1.4526.11.11.1.0',
ng_gsmserial => '.1.3.6.1.4.1.4526.10.1.1.1.4.0', ng_gsmserial => '.1.3.6.1.4.1.4526.10.1.1.1.4.0',
ng_gsmosver => '.1.3.6.1.4.1.4526.10.1.1.1.13.0', ng_gsmosver => '.1.3.6.1.4.1.4526.10.1.1.1.13.0',
); );
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, %SNMP::Info::LLDP::FUNCS, ); %FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::LLDP::MUNGE, ); %MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
sub vendor { sub vendor {
return 'netgear'; return 'netgear';
@@ -87,7 +86,7 @@ sub serial {
return $e_serial->{$index} if defined $index; return $e_serial->{$index} if defined $index;
} }
# Without Enitity-MIB, we've got to work our way through a bunch of # Without Entity-MIB, we've got to work our way through a bunch of
# different locales... # different locales...
return $netgear->ng_gsmserial() if defined $netgear->model and $netgear->model =~ m/[FG]SM\d/i;; return $netgear->ng_gsmserial() if defined $netgear->model and $netgear->model =~ m/[FG]SM\d/i;;
return 'none'; return 'none';
@@ -109,7 +108,7 @@ sub model {
# ifDescr is the same for all interfaces in a class, but the ifName is # ifDescr is the same for all interfaces in a class, but the ifName is
# unique, so let's use that for port name. If all else fails, # unique, so let's use that for port name. If all else fails,
# concatentate ifDesc and ifIndex. # concatenate ifDesc and ifIndex.
sub interfaces { sub interfaces {
my $netgear = shift; my $netgear = shift;
my $partial = shift; my $partial = shift;
@@ -192,8 +191,6 @@ inherited methods.
=over =over
=item SNMP::Info::Layer2 =item SNMP::Info::Layer2
=item SNMP::Info::Entity
=item SNMP::Info::LLDP
=back =back
@@ -206,10 +203,6 @@ inherited methods.
MIBs listed in L<SNMP::Info::Layer2/"Required MIBs"> and its inherited MIBs listed in L<SNMP::Info::Layer2/"Required MIBs"> and its inherited
classes. classes.
See L<SNMP::Info::Entity/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -248,14 +241,6 @@ serial number).
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of These are methods that return tables of information in the form of
@@ -275,12 +260,4 @@ Uses the i_name() field.
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer2::Nexans; package SNMP::Info::Layer2::Nexans;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -157,11 +158,6 @@ tested devices:
gigaSwitch641DeskSfpTp version 3.68, 4.14W gigaSwitch641DeskSfpTp version 3.68, 4.14W
gigaSwitchV3d2SfpSfp version 3.68, 4.02, 4.02B, 4.10C, 4,14W gigaSwitchV3d2SfpSfp version 3.68, 4.02, 4.02B, 4.10C, 4,14W
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $nexans = new SNMP::Info::Layer2::Nexans(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::Orinoco # SNMP::Info::Layer2::Orinoco
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer2::Orinoco; package SNMP::Info::Layer2::Orinoco;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::IEEE802dot11; use SNMP::Info::IEEE802dot11;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -189,11 +189,6 @@ Provides abstraction to the configuration information obtainable from
Orinoco Access Point through SNMP. Orinoco devices have been manufactured Orinoco Access Point through SNMP. Orinoco devices have been manufactured
by Proxim, Agere, and Lucent. by Proxim, Agere, and Lucent.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $orinoco = new SNMP::Info::Layer2::Orinoco(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
@@ -234,7 +229,7 @@ Returns the model extracted from C<sysDescr>.
=item $orinoco->os() =item $orinoco->os()
Returns 'Orinoco' Returns 'orinoco'
=item $orinoco->os_ver() =item $orinoco->os_ver()

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer2::Sixnet; package SNMP::Info::Layer2::Sixnet;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -108,11 +109,6 @@ Eric Miller
SNMP::Info::Layer2::Sixnet is a subclass of SNMP::Info that provides an SNMP::Info::Layer2::Sixnet is a subclass of SNMP::Info that provides an
interface to Sixnet industrial switches. interface to Sixnet industrial switches.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $sixnet = new SNMP::Info::Layer2::Sixnet(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -29,13 +29,12 @@
package SNMP::Info::Layer2::Trapeze; package SNMP::Info::Layer2::Trapeze;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info::Layer2;
use SNMP::Info::Bridge;
use SNMP::Info::LLDP;
@SNMP::Info::Layer2::Trapeze::ISA @SNMP::Info::Layer2::Trapeze::ISA
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::LLDP Exporter/; = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Trapeze::EXPORT_OK = qw//; @SNMP::Info::Layer2::Trapeze::EXPORT_OK = qw//;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE); our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
@@ -43,9 +42,7 @@ our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::Bridge::MIBS,
%SNMP::Info::LLDP::MIBS,
'TRAPEZE-NETWORKS-REGISTRATION-DEVICES-MIB' => 'wirelessLANController', 'TRAPEZE-NETWORKS-REGISTRATION-DEVICES-MIB' => 'wirelessLANController',
'TRAPEZE-NETWORKS-AP-STATUS-MIB' => 'trpzApStatNumAps', 'TRAPEZE-NETWORKS-AP-STATUS-MIB' => 'trpzApStatNumAps',
'TRAPEZE-NETWORKS-CLIENT-SESSION-MIB' => 'trpzClSessTotalSessions', 'TRAPEZE-NETWORKS-CLIENT-SESSION-MIB' => 'trpzClSessTotalSessions',
@@ -55,18 +52,14 @@ $VERSION = '3.68';
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::GLOBALS, %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::Bridge::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'os_ver' => 'trpzVersionString', 'os_ver' => 'trpzVersionString',
'serial' => 'trpzSerialNumber', 'serial' => 'trpzSerialNumber',
'mac' => 'dot1dBaseBridgeAddress', 'mac' => 'dot1dBaseBridgeAddress',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::Bridge::FUNCS,
%SNMP::Info::LLDP::FUNCS,
# TRAPEZE-NETWORKS-AP-STATUS-MIB::trpzApStatApStatusTable # TRAPEZE-NETWORKS-AP-STATUS-MIB::trpzApStatApStatusTable
'trapeze_ap_mac' => 'trpzApStatApStatusBaseMac', 'trapeze_ap_mac' => 'trpzApStatApStatusBaseMac',
'trapeze_ap_name' => 'trpzApStatApStatusApName', 'trapeze_ap_name' => 'trpzApStatApStatusApName',
@@ -128,9 +121,7 @@ $VERSION = '3.68';
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::MUNGE, %SNMP::Info::Layer2::MUNGE,
%SNMP::Info::Bridge::MUNGE,
%SNMP::Info::LLDP::MUNGE,
'trapeze_apif_mac' => \&SNMP::Info::munge_mac, 'trapeze_apif_mac' => \&SNMP::Info::munge_mac,
'trapeze_apif_bssid' => \&SNMP::Info::munge_mac, 'trapeze_apif_bssid' => \&SNMP::Info::munge_mac,
); );
@@ -817,18 +808,11 @@ This class emulates bridge functionality for the wireless switch. This enables
end station MAC addresses collection and correlation to the thin access point end station MAC addresses collection and correlation to the thin access point
the end station is using for communication. the end station is using for communication.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $trapeze = new SNMP::Info::Layer2::Trapeze(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
=item SNMP::Info =item SNMP::Info::Layer2
=item SNMP::Info::Bridge
=back =back
@@ -850,9 +834,7 @@ my $trapeze = new SNMP::Info::Layer2::Trapeze(...);
=head2 Inherited Classes' MIBs =head2 Inherited Classes' MIBs
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS =head1 GLOBALS
@@ -899,13 +881,9 @@ proprietary MIBs.
=back =back
=head2 Global Methods imported from SNMP::Info =head2 Global Methods imported from SNMP::Info::Layer2
See documentation in L<SNMP::Info/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
@@ -1147,11 +1125,7 @@ These emulate the F<CISCO-DOT11-MIB>
=head2 Table Methods imported from SNMP::Info =head2 Table Methods imported from SNMP::Info
See documentation in L<SNMP::Info/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
=head2 Overrides =head2 Overrides

View File

@@ -29,6 +29,7 @@
package SNMP::Info::Layer2::Ubiquiti; package SNMP::Info::Layer2::Ubiquiti;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::IEEE802dot11; use SNMP::Info::IEEE802dot11;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -47,16 +48,16 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer2::MIBS,
%SNMP::Info::IEEE802dot11::MIBS, %SNMP::Info::IEEE802dot11::MIBS,
); );
%GLOBALS %GLOBALS = (
= ( %SNMP::Info::Layer2::GLOBALS, %SNMP::Info::IEEE802dot11::GLOBALS, ); %SNMP::Info::Layer2::GLOBALS,
%SNMP::Info::IEEE802dot11::GLOBALS,
);
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer2::FUNCS, %SNMP::Info::Layer2::FUNCS,
%SNMP::Info::IEEE802dot11::FUNCS, %SNMP::Info::IEEE802dot11::FUNCS,
); );
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::IEEE802dot11::MUNGE, ); %MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::IEEE802dot11::MUNGE, );
@@ -136,7 +137,7 @@ sub os_ver {
} }
sub vendor { sub vendor {
return 'Ubiquiti Networks, Inc.'; return 'ubiquiti';
} }
sub model { sub model {
@@ -323,11 +324,6 @@ Max Kosmach
Provides abstraction to the configuration information obtainable from Provides abstraction to the configuration information obtainable from
Ubiquiti Access Point through SNMP. Ubiquiti Access Point through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $ubnt = new SNMP::Info::Layer2::Ubiquiti(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
@@ -356,11 +352,11 @@ These are methods that return scalar value from SNMP
=item $ubnt->vendor() =item $ubnt->vendor()
Returns 'Ubiquiti Networks, Inc.' Returns 'ubiquiti'
=item $ubnt->model() =item $ubnt->model()
Returns the model extracted from C<dot11manufacturerProductName>, with failback to some complex logic for EdgeMax devices Returns the model extracted from C<dot11manufacturerProductName>, with fallback to some complex logic for EdgeMax devices
=item $ubnt->serial() =item $ubnt->serial()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer2::ZyXEL_DSLAM # SNMP::Info::Layer2::ZyXEL_DSLAM
# $Id$
# #
# Copyright (c) 2008 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer2::ZyXEL_DSLAM; package SNMP::Info::Layer2::ZyXEL_DSLAM;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer2; use SNMP::Info::Layer2;
@@ -77,7 +77,7 @@ sub os_ver {
my $zyxel = shift; my $zyxel = shift;
my $descr = $zyxel->description(); my $descr = $zyxel->description();
if ( $descr =~ m/version (\S+) / ) { if ( defined ($descr) && $descr =~ m/version (\S+) / ) {
return $1; return $1;
} }
return; return;
@@ -88,11 +88,13 @@ sub model {
my $desc = $zyxel->description(); my $desc = $zyxel->description();
if ( $desc =~ /8-port ADSL Module\(Annex A\)/ ) { if (defined $desc) {
if ($desc =~ /8-port ADSL Module\(Annex A\)/) {
return "AAM1008-61"; return "AAM1008-61";
} }
elsif ( $desc =~ /8-port ADSL Module\(Annex B\)/ ) { elsif ($desc =~ /8-port ADSL Module\(Annex B\)/) {
return "AAM1008-63"; return "AAM1008-63";
}
} }
return; return;
} }
@@ -130,11 +132,11 @@ Dmitry Sergienko (C<dmitry@trifle.net>)
Debug => 1, Debug => 1,
DestHost => 'myhub', DestHost => 'myhub',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
my $class = $l2->class(); my $class = $zyxel->class();
print "SNMP::Info determined this device to fall under subclass : $class\n"; print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION =head1 DESCRIPTION
@@ -174,11 +176,11 @@ These are methods that return scalar value from SNMP
=item $zyxel->vendor() =item $zyxel->vendor()
Returns 'ZyXEL' :) Returns 'zyxel'
=item $zyxel->os() =item $zyxel->os()
Returns 'ZyXEL' Returns 'zyxel'
=item $zyxel->os_ver() =item $zyxel->os_ver()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3 - SNMP Interface to Layer3 devices # SNMP::Info::Layer3 - SNMP Interface to Layer3 devices
# $Id$
# #
# Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on # Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer3; package SNMP::Info::Layer3;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info; use SNMP::Info;
use SNMP::Info::Bridge; use SNMP::Info::Bridge;
@@ -463,6 +463,10 @@ after determining a more specific class using the method above.
=item SNMP::Info::LLDP =item SNMP::Info::LLDP
=item SNMP::Info::DocsisHE
=item SNMP::Info::AdslLine
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -481,7 +485,7 @@ after determining a more specific class using the method above.
=head2 Inherited MIBs =head2 Inherited MIBs
See L<SNMP::Info/"Required MIBs"> for its MIB requirements. See L<SNMP::Info/"REQUIREMENTS"> for its MIB requirements.
See L<SNMP::Info::Bridge/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::Bridge/"Required MIBs"> for its MIB requirements.
@@ -495,6 +499,10 @@ See L<SNMP::Info::IPv6/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::DocsisHE/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::AdslLine/"Required MIBs"> for its MIB requirements.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
@@ -553,7 +561,7 @@ found: OSPF Router ID (C<ospfRouterId>) or any OSPF Host IP Address
=head2 Globals imported from SNMP::Info =head2 Globals imported from SNMP::Info
See L<SNMP::Info/"GLOBALS"> for details. See L<SNMP::Info/"USAGE"> for details.
=head2 Global Methods imported from SNMP::Info::Bridge =head2 Global Methods imported from SNMP::Info::Bridge
@@ -579,6 +587,14 @@ See L<SNMP::Info::IPv6/"GLOBALS"> for details.
See L<SNMP::Info::LLDP/"GLOBALS"> for details. See L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::DocsisHE
See L<SNMP::Info::DocsisHE/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::AdslLine
See L<SNMP::Info::AdslLine/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -895,14 +911,14 @@ Note this returns hash-strings, for IPs, use $l3->isis_peers()
=item $l3->isis_peers() =item $l3->isis_peers()
Returns reference to hash of addresses (IPv4, IPv6) on adjacencies. Returns reference to hash of addresses (IPv4, IPv6) on adjacencies.
Convers hash strings from isis_adj to proper Convert hash strings from isis_adj to proper
IP (v4 and v6) formatting. IP (v4 and v6) formatting.
=back =back
=head2 Table Methods imported from SNMP::Info =head2 Table Methods imported from SNMP::Info
See L<SNMP::Info/"TABLE METHODS"> for details. See L<SNMP::Info/"USAGE"> for details.
=head2 Table Methods imported from SNMP::Info::Bridge =head2 Table Methods imported from SNMP::Info::Bridge
@@ -928,4 +944,12 @@ See L<SNMP::Info::IPv6/"TABLE METHODS"> for details.
See L<SNMP::Info::LLDP/"TABLE METHODS"> for details. See L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::DocsisHE
See L<SNMP::Info::DocsisHE/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::AdslLine
See L<SNMP::Info::AdslLine/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Aironet # SNMP::Info::Layer3::Aironet
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,6 +32,7 @@
package SNMP::Info::Layer3::Aironet; package SNMP::Info::Layer3::Aironet;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -279,9 +279,6 @@ after determining a more specific class using the method above.
=back =back
These MIBs are now included in the v2.tar.gz archive available from
ftp.cisco.com. Make sure you have a current version.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::AlcatelLucent # SNMP::Info::Layer3::AlcatelLucent
# $Id$
# #
# Copyright (c) 2008 Bill Fenner # Copyright (c) 2008 Bill Fenner
# #
@@ -30,6 +29,7 @@
package SNMP::Info::Layer3::AlcatelLucent; package SNMP::Info::Layer3::AlcatelLucent;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -115,7 +115,9 @@ sub os_ver {
my $alu = shift; my $alu = shift;
my $descr = $alu->description(); my $descr = $alu->description();
return $1 if $descr =~ m/\b(\d[\.\d]+R\d+) (?:GA|Service Release), /; if (defined ($descr)) {
return $1 if $descr =~ m/\b(\d[\.\d]+R\d+) (?:GA|Service Release), /;
}
# No clue what this will try but hey # No clue what this will try but hey
return $alu->SUPER::os_ver(); return $alu->SUPER::os_ver();
@@ -370,7 +372,7 @@ These are methods that return scalar value from SNMP
=item $alu->vendor() =item $alu->vendor()
Returns 'alcatel-lucent' Returns 'alcatel-lucent'
=item $alu->model() =item $alu->model()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::AlteonAD # SNMP::Info::Layer3::AlteonAD
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All Rights Reserved # All Rights Reserved
@@ -31,6 +30,7 @@
package SNMP::Info::Layer3::AlteonAD; package SNMP::Info::Layer3::AlteonAD;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -450,11 +450,6 @@ Eric Miller
Abstraction subclass for Radware Alteon Series ADC switches and Abstraction subclass for Radware Alteon Series ADC switches and
Nortel BladeCenter Layer2-3 GbE Switch Modules. Nortel BladeCenter Layer2-3 GbE Switch Modules.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $alteon = new SNMP::Info::Layer3::AlteonAD(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Altiga # SNMP::Info::Layer3::Altiga
# $Id$
# #
# Copyright (c) 2008 Jeroen van Ingen Schenau # Copyright (c) 2008 Jeroen van Ingen Schenau
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer3::Altiga; package SNMP::Info::Layer3::Altiga;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -281,7 +281,7 @@ Jeroen van Ingen Schenau
Debug => 1, Debug => 1,
DestHost => 'my_vpn_host', DestHost => 'my_vpn_host',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -304,6 +304,12 @@ Subclass for Cisco (formerly Altiga) VPN concentrators
=over =over
=item F<ALTIGA-VERSION-STATS-MIB>
=item F<ALTIGA-SESSION-STATS-MIB>
=item F<ALTIGA-HARDWARE-STATS-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Arista # SNMP::Info::Layer3::Arista
# $Id$
# #
# Copyright (c) 2008 Arista Networks, Inc. # Copyright (c) 2008 Arista Networks, Inc.
# All rights reserved. # All rights reserved.
@@ -31,18 +30,17 @@
package SNMP::Info::Layer3::Arista; package SNMP::Info::Layer3::Arista;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::MAU; use SNMP::Info::MAU;
use SNMP::Info::LLDP;
use SNMP::Info::Aggregate 'agg_ports_ifstack'; use SNMP::Info::Aggregate 'agg_ports_ifstack';
@SNMP::Info::Layer3::Arista::ISA = qw/ @SNMP::Info::Layer3::Arista::ISA = qw/
SNMP::Info::Aggregate SNMP::Info::Aggregate
SNMP::Info::LLDP
SNMP::Info::MAU SNMP::Info::MAU
SNMP::Info::Layer3 Exporter SNMP::Info::Layer3
Exporter
/; /;
@SNMP::Info::Layer3::Arista::EXPORT_OK = qw//; @SNMP::Info::Layer3::Arista::EXPORT_OK = qw//;
@@ -53,7 +51,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::MAU::MIBS, %SNMP::Info::MAU::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::Aggregate::MIBS, %SNMP::Info::Aggregate::MIBS,
'ARISTA-PRODUCTS-MIB' => 'aristaDCS7124S', 'ARISTA-PRODUCTS-MIB' => 'aristaDCS7124S',
); );
@@ -61,19 +58,16 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::MAU::GLOBALS, %SNMP::Info::MAU::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::MAU::FUNCS, %SNMP::Info::MAU::FUNCS,
%SNMP::Info::LLDP::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::MAU::MUNGE, %SNMP::Info::MAU::MUNGE,
%SNMP::Info::LLDP::MUNGE,
); );
# use MAU-MIB for admin. duplex and admin. speed # use MAU-MIB for admin. duplex and admin. speed
@@ -92,11 +86,14 @@ sub os {
sub os_ver { sub os_ver {
my $arista = shift; my $arista = shift;
my $descr = $arista->description(); my $descr = $arista->description();
my $os_ver = undef;
$os_ver = $1 if ( $descr =~ /\s+EOS\s+version\s+(\S+)\s+/ ); if (defined ($descr)) {
return $os_ver; my $os_ver = undef;
$os_ver = $1 if ($descr =~ /\s+EOS\s+version\s+(\S+)\s+/);
return $os_ver;
}
return;
} }
sub model { sub model {
@@ -174,8 +171,6 @@ Subclass for Arista Networks EOS-based devices
=item SNMP::Info::MAU =item SNMP::Info::MAU
=item SNMP::Info::LLDP
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -192,8 +187,6 @@ See L<SNMP::Info::Aggregate/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -230,10 +223,6 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details. See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -269,8 +258,4 @@ See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Aruba # SNMP::Info::Layer3::Aruba
# $Id$
# #
# Copyright (c) 2013 Eric Miller # Copyright (c) 2013 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,11 +30,11 @@
package SNMP::Info::Layer3::Aruba; package SNMP::Info::Layer3::Aruba;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::Aruba::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::Aruba::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Aruba::EXPORT_OK = qw//; @SNMP::Info::Layer3::Aruba::EXPORT_OK = qw//;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE); our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
@@ -44,7 +43,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
'WLSR-AP-MIB' => 'wlsrHideSSID', 'WLSR-AP-MIB' => 'wlsrHideSSID',
'WLSX-IFEXT-MIB' => 'ifExtVlanName', 'WLSX-IFEXT-MIB' => 'ifExtVlanName',
'WLSX-POE-MIB' => 'wlsxPseSlotPowerAvailable', 'WLSX-POE-MIB' => 'wlsxPseSlotPowerAvailable',
@@ -58,7 +56,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'aruba_serial_old' => 'wlsxSwitchLicenseSerialNumber', 'aruba_serial_old' => 'wlsxSwitchLicenseSerialNumber',
'aruba_serial_new' => 'wlsxSysExtLicenseSerialNumber', 'aruba_serial_new' => 'wlsxSysExtLicenseSerialNumber',
'aruba_model' => 'wlsxModelName', 'aruba_model' => 'wlsxModelName',
@@ -67,7 +64,6 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
# WLSR-AP-MIB::wlsrConfigTable # WLSR-AP-MIB::wlsrConfigTable
'aruba_ap_ssidbcast' => 'wlsrHideSSID', 'aruba_ap_ssidbcast' => 'wlsrHideSSID',
@@ -143,7 +139,6 @@ $VERSION = '3.68';
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::LLDP::MUNGE,
'aruba_ap_fqln' => \&munge_aruba_fqln, 'aruba_ap_fqln' => \&munge_aruba_fqln,
'aruba_ap_type' => \&SNMP::Info::munge_e_type, 'aruba_ap_type' => \&SNMP::Info::munge_e_type,
'aruba_card_type' => \&SNMP::Info::munge_e_type, 'aruba_card_type' => \&SNMP::Info::munge_e_type,
@@ -170,10 +165,9 @@ sub vendor {
$id = $1 if ( defined($id) && $id =~ /^\.1\.3\.6\.1\.4\.1\.(\d+)/ ); $id = $1 if ( defined($id) && $id =~ /^\.1\.3\.6\.1\.4\.1\.(\d+)/ );
if ( defined($id) and exists( $oidmap{$id} ) ) { if ( defined($id) and exists( $oidmap{$id} ) ) {
return $oidmap{$id}; return $oidmap{$id};
} } else {
else { return 'aruba';
return 'aruba';
} }
} }
@@ -183,7 +177,7 @@ sub os_ver {
return unless defined $descr; return unless defined $descr;
if ( $descr =~ m/Version\s+(\d+\.\d+\.\d+\.\d+)/ ) { if ( $descr =~ m/Version\s+(\d+\.\d+\.\d+\.\d+)/ ) {
return $1; return $1;
} }
return; return;
@@ -1421,11 +1415,6 @@ This class emulates bridge functionality for the wireless switch. This enables
end station MAC addresses collection and correlation to the thin access point end station MAC addresses collection and correlation to the thin access point
the end station is using for communication. the end station is using for communication.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $aruba = new SNMP::Info::Layer3::Aruba(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::BayRS # SNMP::Info::Layer3::BayRS
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,13 +30,12 @@
package SNMP::Info::Layer3::BayRS; package SNMP::Info::Layer3::BayRS;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::Bridge;
@SNMP::Info::Layer3::BayRS::ISA = qw/SNMP::Info SNMP::Info::Layer3 @SNMP::Info::Layer3::BayRS::ISA = qw/SNMP::Info::Layer3
SNMP::Info::Bridge Exporter/; Exporter/;
@SNMP::Info::Layer3::BayRS::EXPORT_OK = qw//; @SNMP::Info::Layer3::BayRS::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE, %MODEL_MAP, our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE, %MODEL_MAP,
@@ -46,9 +44,7 @@ our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE, %MODEL_MAP,
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::MIBS,
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::Bridge::MIBS,
'Wellfleet-HARDWARE-MIB' => 'wfHwBpIdOpt', 'Wellfleet-HARDWARE-MIB' => 'wfHwBpIdOpt',
'Wellfleet-OSPF-MIB' => 'wfOspfRouterId', 'Wellfleet-OSPF-MIB' => 'wfOspfRouterId',
'Wellfleet-DOT1QTAG-CONFIG-MIB' => 'wfDot1qTagCfgVlanName', 'Wellfleet-DOT1QTAG-CONFIG-MIB' => 'wfDot1qTagCfgVlanName',
@@ -57,18 +53,14 @@ $VERSION = '3.68';
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::GLOBALS,
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::Bridge::GLOBALS,
'bp_id' => 'wfHwBpIdOpt', 'bp_id' => 'wfHwBpIdOpt',
'bp_serial' => 'wfHwBpSerialNumber', 'bp_serial' => 'wfHwBpSerialNumber',
'ospf_rtr_id' => 'wfOspfRouterId', 'ospf_rtr_id' => 'wfOspfRouterId',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::FUNCS,
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::Bridge::FUNCS,
# From Wellfleet-CSMACD-MIB::wfCSMACDTable # From Wellfleet-CSMACD-MIB::wfCSMACDTable
'wf_csmacd_cct' => 'wfCSMACDCct', 'wf_csmacd_cct' => 'wfCSMACDCct',
@@ -107,9 +99,7 @@ $VERSION = '3.68';
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::MUNGE,
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::Bridge::MUNGE,
'wf_hw_boot' => \&munge_hw_rev, 'wf_hw_boot' => \&munge_hw_rev,
'wf_hw_diag' => \&munge_hw_rev, 'wf_hw_diag' => \&munge_hw_rev,
'wf_hw_mobo_ser' => \&munge_wf_serial, 'wf_hw_mobo_ser' => \&munge_wf_serial,
@@ -541,7 +531,10 @@ sub model {
my $bayrs = shift; my $bayrs = shift;
my $bp_id = $bayrs->bp_id(); my $bp_id = $bayrs->bp_id();
return defined $MODEL_MAP{$bp_id} ? $MODEL_MAP{$bp_id} : $bp_id; if (defined $bp_id) {
return defined $MODEL_MAP{$bp_id} ? $MODEL_MAP{$bp_id} : $bp_id;
}
return;
} }
sub vendor { sub vendor {
@@ -776,7 +769,7 @@ sub e_index {
my $bp_id = $bayrs->bp_id(); my $bp_id = $bayrs->bp_id();
# Don't like polling all these columns to build the index, can't think of # Don't like polling all these columns to build the index, can't think of
# a better way right now. Luckly all this data will be cached for the # a better way right now. Luckily all this data will be cached for the
# rest of the e_* methods # rest of the e_* methods
# Using mib leafs so we don't have to define everything in FUNCS # Using mib leafs so we don't have to define everything in FUNCS
@@ -805,7 +798,7 @@ sub e_index {
my @slots = ( $wf_mb, $wf_db, $wf_bb, $wf_mod, $wf_mod1, $wf_mod2 ); my @slots = ( $wf_mb, $wf_db, $wf_bb, $wf_mod, $wf_mod1, $wf_mod2 );
my @mods = ( $wf_mm, $wf_dm ); my @mods = ( $wf_mm, $wf_dm );
# We're going to hack an index: Slot/Module/Postion # We're going to hack an index: Slot/Module/Position
my %wf_e_index; my %wf_e_index;
# Chassis on BN types # Chassis on BN types
@@ -1406,19 +1399,10 @@ Eric Miller
Abstraction subclass for routers running Avaya/Nortel BayRS. Abstraction subclass for routers running Avaya/Nortel BayRS.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $bayrs = new SNMP::Info::Layer3::BayRS(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
=item SNMP::Info
=item SNMP::Info::Bridge
=item SNMP::Info::Layer3 =item SNMP::Info::Layer3
=back =back
@@ -1441,10 +1425,6 @@ after determining a more specific class using the method above.
=head2 Inherited MIBs =head2 Inherited MIBs
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS =head1 GLOBALS
@@ -1500,14 +1480,6 @@ undefined.
=back =back
=head2 Globals imported from SNMP::Info
See documentation in L<SNMP::Info/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer3 =head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
@@ -1625,14 +1597,6 @@ is not contained in any other entity.
=back =back
=head2 Table Methods imported from SNMP::Info
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Bridge
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer3 =head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.

View File

@@ -28,6 +28,7 @@ package SNMP::Info::Layer3::BlueCoatSG;
# POSSIBILITY OF SUCH DAMAGE. # POSSIBILITY OF SUCH DAMAGE.
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -55,7 +56,7 @@ $VERSION = '3.68';
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer3::MUNGE, ); %MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer3::MUNGE, );
sub vendor { sub vendor {
return 'Blue Coat'; return 'bluecoat';
} }
sub os { sub os {
@@ -65,7 +66,7 @@ sub os {
sub os_ver { sub os_ver {
my $sg = shift; my $sg = shift;
my $os_string = $sg->sw_ver(); my $os_string = $sg->sw_ver();
if ($os_string =~ /^Version:\s(\w+)\s([\d\.]+)/) { if (defined ($os_string) && $os_string =~ /^Version:\s(\w+)\s([\d\.]+)/) {
return $2; return $2;
} else { } else {
return ''; # perhaps we can try sysDescr or some other object... return ''; # perhaps we can try sysDescr or some other object...
@@ -92,7 +93,7 @@ Jeroen van Ingen
Debug => 1, Debug => 1,
DestHost => 'myrouter', DestHost => 'myrouter',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -113,10 +114,10 @@ Subclass for Blue Coat SG Series proxy devices
=head2 Required MIBs =head2 Required MIBs
BLUECOAT-SG-PROXY-MIB
=over =over
=item F<BLUECOAT-SG-PROXY-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
@@ -133,7 +134,7 @@ These are methods that return scalar value from SNMP
=item $router->vendor() =item $router->vendor()
Returns C<'Blue Coat'> Returns C<'bluecoat'>
=item $router->os() =item $router->os()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::C3550 # SNMP::Info::Layer3::C3550
# $Id$
# #
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
# Copyright (c) 2004 Regents of the University of California # Copyright (c) 2004 Regents of the University of California
@@ -105,7 +104,7 @@ sub ports {
return $ports; return $ports;
} }
# Verions prior to 12.1(22)EA1a use the older CiscoStack method # Versions prior to 12.1(22)EA1a use the older CiscoStack method
# Newer versions use the ETHERLIKE-MIB to report operational duplex. # Newer versions use the ETHERLIKE-MIB to report operational duplex.
# See http://www.ciscosystems.com/en/US/products/hw/switches/ps646/prod_release_note09186a00802a08ee.html # See http://www.ciscosystems.com/en/US/products/hw/switches/ps646/prod_release_note09186a00802a08ee.html
@@ -228,11 +227,6 @@ These devices run IOS but have some of the same characteristics as the
Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in
VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>. VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $c3550 = new SNMP::Info::Layer3::C3550(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::C4000 # SNMP::Info::Layer3::C4000
# $Id$
# #
# Copyright (c) 2008 Bill Fenner # Copyright (c) 2008 Bill Fenner
# All rights reserved. # All rights reserved.
@@ -129,11 +128,6 @@ Bill Fenner
Abstraction subclass for Cisco Catalyst 4000 Layer 2/3 Switches. Abstraction subclass for Cisco Catalyst 4000 Layer 2/3 Switches.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $c4000 = new SNMP::Info::Layer3::C4000(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::C6500 # SNMP::Info::Layer3::C6500
# $Id$
# #
# Copyright (c) 2008-2009 Max Baker # Copyright (c) 2008-2009 Max Baker
# All rights reserved. # All rights reserved.
@@ -186,7 +185,7 @@ sub set_i_duplex_admin {
# 2. Disable ifMauAutoNegAdminStatus # 2. Disable ifMauAutoNegAdminStatus
# If the second set is not done, this is not going to be # If the second set is not done, this is not going to be
# working... Cisco Bug id CSCty97033. # working... Cisco Bug id CSCty97033.
# SXI is not working (up to at least relase SXI9). # SXI is not working (up to at least release SXI9).
# SXJ is working at SXJ3 (not before). # SXJ is working at SXJ3 (not before).
return $c6500->mau_set_i_duplex_admin( $duplex, $iid ); return $c6500->mau_set_i_duplex_admin( $duplex, $iid );
@@ -224,7 +223,7 @@ sub set_i_speed_admin {
# 2. Disable ifMauAutoNegAdminStatus # 2. Disable ifMauAutoNegAdminStatus
# If the second set is not done, this is not going to be working... # If the second set is not done, this is not going to be working...
# Cisco Bug id CSCty97033. # Cisco Bug id CSCty97033.
# SXI is not working (at least up to relase SXI9). # SXI is not working (at least up to release SXI9).
# SXJ is working at SXJ3 (not before). # SXJ is working at SXJ3 (not before).
return $c6500->mau_set_i_speed_admin( $speed, $iid ); return $c6500->mau_set_i_speed_admin( $speed, $iid );
@@ -242,7 +241,8 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer3::C6500 - SNMP Interface to Cisco Catalyst 6500 Layer 2/3 SNMP::Info::Layer3::C6500 - SNMP Interface to Cisco Catalyst 6500 Layer 2/3
Switches running IOS and/or CatOS Switches running IOS and/or CatOS. Also Cisco Catalyst 2960, 2970, 3750 and
3850 series and blade switch CBS30x0 and CBS31x0 series running IOS.
=head1 AUTHOR =head1 AUTHOR
@@ -272,10 +272,9 @@ These devices run IOS but have some of the same characteristics as the
Catalyst WS-C family (5xxx). For example, forwarding tables are held in Catalyst WS-C family (5xxx). For example, forwarding tables are held in
VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>. VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
For speed or debugging purposes you can call the subclass directly, but not It also supports the following IOS only series switches: Cisco Catalyst 2960,
after determining a more specific class using the method above. 2970, 3750 and 3850 series. Also blade switches from the CBS30x0 and CBS31x0
series.
my $c6500 = new SNMP::Info::Layer3::C6500(...);
=head2 Inherited Classes =head2 Inherited Classes
@@ -293,6 +292,8 @@ after determining a more specific class using the method above.
=over =over
=item F<CISCO-VIRTUAL-SWITCH-MIB>
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements.
@@ -312,7 +313,7 @@ These are methods that return scalar value from SNMP
=item $c6500->vendor() =item $c6500->vendor()
Returns 'cisco' Returns 'cisco'
=item $c6500->cvsSwitchMode() =item $c6500->cvsSwitchMode()
@@ -397,13 +398,11 @@ Crosses $c6500->p_port() with $c6500->p_speed() to utilize port C<ifIndex>.
See documentation in L<SNMP::Info::CiscoStack/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoStack/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch =head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch
See documentation in L<SNMP::Info::Layer3::CiscoSwitch/"TABLE METHODS"> for See documentation in L<SNMP::Info::Layer3::CiscoSwitch/"TABLE METHODS"> for
details. details.
=head2 Table Methods imported from SNMP::Info::MAU =head2 Table Methods imported from SNMP::Info::MAU
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::CheckPoint # SNMP::Info::Layer3::CheckPoint
# $Id$
# #
# Copyright (c) 2008 Bill Fenner # Copyright (c) 2008 Bill Fenner
# All rights reserved. # All rights reserved.
@@ -31,11 +30,11 @@
package SNMP::Info::Layer3::CheckPoint; package SNMP::Info::Layer3::CheckPoint;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::CheckPoint::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::CheckPoint::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::CheckPoint::EXPORT_OK = qw//; @SNMP::Info::Layer3::CheckPoint::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE); our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@@ -44,7 +43,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
'CHECKPOINT-MIB' => 'fwProduct', 'CHECKPOINT-MIB' => 'fwProduct',
'UCD-SNMP-MIB' => 'versionTag', 'UCD-SNMP-MIB' => 'versionTag',
'NET-SNMP-TC' => 'netSnmpAliasDomain', 'NET-SNMP-TC' => 'netSnmpAliasDomain',
@@ -54,15 +52,12 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'netsnmp_vers' => 'versionTag', 'netsnmp_vers' => 'versionTag',
'hrSystemUptime' => 'hrSystemUptime', 'hrSystemUptime' => 'hrSystemUptime',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
# Net-SNMP Extend table that could but customize to add a the CheckPoint version # Net-SNMP Extend table that could but customize to add a the CheckPoint version
'extend_output_table' => 'nsExtendOutputFull', 'extend_output_table' => 'nsExtendOutputFull',
@@ -70,7 +65,6 @@ $VERSION = '3.68';
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::LLDP::MUNGE,
); );
sub vendor { sub vendor {
@@ -199,11 +193,11 @@ Ambroise Rosset
=head1 DESCRIPTION =head1 DESCRIPTION
Subclass for Generic Net-SNMP devices Subclass for CheckPoint Devices.
=head2 WARNING =head2 WARNING
To correctly and completelly work, you should add the following line in the file C</etc/snmp/snmpd.local.conf> on each of your CheckPoint devices: To correctly and completely work, you should add the following line in the file C</etc/snmp/snmpd.local.conf> on each of your CheckPoint devices:
# Netdisco SNMP configuration # Netdisco SNMP configuration
extend ckpVersion /opt/CPsuite-R77/fw1/bin/fw ver extend ckpVersion /opt/CPsuite-R77/fw1/bin/fw ver
@@ -221,8 +215,12 @@ To correctly and completelly work, you should add the following line in the file
=over =over
=item F<CHECKPOINT-MIB>
=item F<UCD-SNMP-MIB> =item F<UCD-SNMP-MIB>
=item F<NET-SNMP-EXTEND-MIB>
=item F<NET-SNMP-TC> =item F<NET-SNMP-TC>
=item F<HOST-RESOURCES-MIB> =item F<HOST-RESOURCES-MIB>
@@ -231,8 +229,6 @@ To correctly and completelly work, you should add the following line in the file
See L<SNMP::Info::Layer3> for its own MIB requirements. See L<SNMP::Info::Layer3> for its own MIB requirements.
See L<SNMP::Info::LLDP> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -279,10 +275,6 @@ Return '01001100'.
See documentation in L<SNMP::Info::Layer3> for details. See documentation in L<SNMP::Info::Layer3> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP> for details.
=head1 TABLE ENTRIES =head1 TABLE ENTRIES
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -304,10 +296,6 @@ Ignores loopback
See documentation in L<SNMP::Info::Layer3> for details. See documentation in L<SNMP::Info::Layer3> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP> for details.
=head1 NOTES =head1 NOTES
In order to cause SNMP::Info to classify your device into this class, it In order to cause SNMP::Info to classify your device into this class, it

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Cisco # SNMP::Info::Layer3::Cisco
# $Id$
# #
# Copyright (c) 2008 Max Baker # Copyright (c) 2008 Max Baker
# All rights reserved. # All rights reserved.
@@ -34,7 +33,6 @@ use strict;
use warnings; use warnings;
use Exporter; use Exporter;
use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoVTP;
use SNMP::Info::LLDP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::CiscoStats; use SNMP::Info::CiscoStats;
use SNMP::Info::CiscoRTT; use SNMP::Info::CiscoRTT;
@@ -45,7 +43,7 @@ use SNMP::Info::CiscoStpExtensions;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP @SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP
SNMP::Info::LLDP SNMP::Info::CDP SNMP::Info::CDP
SNMP::Info::CiscoStats SNMP::Info::CiscoRTT SNMP::Info::CiscoStats SNMP::Info::CiscoRTT
SNMP::Info::CiscoQOS SNMP::Info::CiscoConfig SNMP::Info::CiscoQOS SNMP::Info::CiscoConfig
SNMP::Info::CiscoPower SNMP::Info::CiscoStpExtensions SNMP::Info::CiscoPower SNMP::Info::CiscoStpExtensions
@@ -66,7 +64,6 @@ $VERSION = '3.68';
%SNMP::Info::CiscoRTT::MIBS, %SNMP::Info::CiscoRTT::MIBS,
%SNMP::Info::CiscoStats::MIBS, %SNMP::Info::CiscoStats::MIBS,
%SNMP::Info::CDP::MIBS, %SNMP::Info::CDP::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::CiscoVTP::MIBS, %SNMP::Info::CiscoVTP::MIBS,
'CISCO-EIGRP-MIB' => 'cEigrpAsRouterId', 'CISCO-EIGRP-MIB' => 'cEigrpAsRouterId',
); );
@@ -80,7 +77,6 @@ $VERSION = '3.68';
%SNMP::Info::CiscoRTT::GLOBALS, %SNMP::Info::CiscoRTT::GLOBALS,
%SNMP::Info::CiscoStats::GLOBALS, %SNMP::Info::CiscoStats::GLOBALS,
%SNMP::Info::CDP::GLOBALS, %SNMP::Info::CDP::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
%SNMP::Info::CiscoVTP::GLOBALS, %SNMP::Info::CiscoVTP::GLOBALS,
'eigrp_id' => 'cEigrpAsRouterId', 'eigrp_id' => 'cEigrpAsRouterId',
); );
@@ -94,13 +90,11 @@ $VERSION = '3.68';
%SNMP::Info::CiscoRTT::FUNCS, %SNMP::Info::CiscoRTT::FUNCS,
%SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CiscoStats::FUNCS,
%SNMP::Info::CDP::FUNCS, %SNMP::Info::CDP::FUNCS,
%SNMP::Info::LLDP::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS, %SNMP::Info::CiscoVTP::FUNCS,
# CISCO-EIGRP-MIB::cEigrpPeerTable # CISCO-EIGRP-MIB::cEigrpPeerTable
'c_eigrp_peer_types' => 'cEigrpPeerAddrType', 'c_eigrp_peer_types' => 'cEigrpPeerAddrType',
'c_eigrp_peers' => 'cEigrpPeerAddr', 'c_eigrp_peers' => 'cEigrpPeerAddr',
); );
%MUNGE = ( %MUNGE = (
@@ -108,7 +102,7 @@ $VERSION = '3.68';
%SNMP::Info::CiscoPower::MUNGE, %SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoPower::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoQOS::MUNGE, %SNMP::Info::CiscoRTT::MUNGE, %SNMP::Info::CiscoQOS::MUNGE, %SNMP::Info::CiscoRTT::MUNGE,
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE, %SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE,
%SNMP::Info::LLDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE,
); );
sub i_vlan { sub i_vlan {
@@ -214,8 +208,6 @@ for other device specific L3 Cisco classes.
=item SNMP::Info::CiscoVTP =item SNMP::Info::CiscoVTP
=item SNMP::Info::LLDP
=item SNMP::Info::CDP =item SNMP::Info::CDP
=item SNMP::Info::CiscoStats =item SNMP::Info::CiscoStats
@@ -244,8 +236,6 @@ for other device specific L3 Cisco classes.
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
@@ -285,10 +275,6 @@ Determined by checking C<vtpVersion>.
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CDP =head2 Globals imported from SNMP::Info::CDP
See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details.
@@ -344,10 +330,6 @@ Returns a mapping between C<ifIndex> and the PVID or default VLAN.
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CDP =head2 Table Methods imported from SNMP::Info::CDP
See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::CiscoASA # SNMP::Info::Layer3::CiscoASA
# $Id$
# #
# Copyright (c) 2013 Moe Kraus # Copyright (c) 2013 Moe Kraus
# All rights reserved. # All rights reserved.
@@ -113,7 +112,7 @@ Moe Kraus
=head1 SYNOPSIS =head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you. # Let SNMP::Info determine the correct subclass for you.
my $cisco = new SNMP::Info( my $asa = new SNMP::Info(
AutoSpecify => 1, AutoSpecify => 1,
Debug => 1, Debug => 1,
# These arguments are passed directly to SNMP::Session # These arguments are passed directly to SNMP::Session

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::CiscoFWSM # SNMP::Info::Layer3::CiscoFWSM
# $Id$
# #
# Copyright (c) 2010 Brian De Wolf # Copyright (c) 2010 Brian De Wolf
# All rights reserved. # All rights reserved.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::CiscoSwitch # SNMP::Info::Layer3::CiscoSwitch
# $Id$
# #
# Copyright (c) 2014 Eric Miller # Copyright (c) 2014 Eric Miller
# All rights reserved. # All rights reserved.
@@ -155,10 +154,6 @@ Returns 1. Use vlan indexing.
=back =back
=head2 Global Methods imported from SNMP::Info::CiscoAgg
See documentation in L<SNMP::Info::CiscoAgg/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CiscoPortSecurity =head2 Globals imported from SNMP::Info::CiscoPortSecurity
See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details. See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Contivity # SNMP::Info::Layer3::Contivity
# $Id$
# #
# Copyright (c) 2010 Eric Miller # Copyright (c) 2010 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,13 +30,12 @@
package SNMP::Info::Layer3::Contivity; package SNMP::Info::Layer3::Contivity;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::Entity;
@SNMP::Info::Layer3::Contivity::ISA @SNMP::Info::Layer3::Contivity::ISA
= qw/SNMP::Info SNMP::Info::Layer3 SNMP::Info::Entity Exporter/; = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Contivity::EXPORT_OK = qw//; @SNMP::Info::Layer3::Contivity::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE); our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
@@ -45,22 +43,19 @@ our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.68'; $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Layer3::MIBS, %SNMP::Info::Entity::MIBS, %SNMP::Info::Layer3::MIBS,
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::GLOBALS, %SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::Entity::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::FUNCS, %SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::Entity::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::MUNGE, %SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::Entity::MUNGE,
); );
sub layers { sub layers {
@@ -189,21 +184,12 @@ Eric Miller
Abstraction subclass for Avaya/Nortel VPN Routers (formerly Contivity Abstraction subclass for Avaya/Nortel VPN Routers (formerly Contivity
Extranet Switch). Extranet Switch).
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $contivity = new SNMP::Info::Layer3::Contivity(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
=item SNMP::Info
=item SNMP::Info::Layer3 =item SNMP::Info::Layer3
=item SNMP::Info::Entity
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -212,12 +198,8 @@ after determining a more specific class using the method above.
=item Inherited Classes' MIBs =item Inherited Classes' MIBs
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::Entity/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -238,7 +220,7 @@ Returns the chassis name.
=item $contivity->os() =item $contivity->os()
Returns C<'CES'> Returns C<'contivity'>
=item $contivity->os_ver() =item $contivity->os_ver()
@@ -267,18 +249,10 @@ layers.
=back =back
=head2 Globals imported from SNMP::Info
See documentation in L<SNMP::Info/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Layer3 =head2 Globals imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -299,16 +273,8 @@ Interface Name field. Skips loopback and tunnel interfaces.
=back =back
=head2 Table Methods imported from SNMP::Info
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Layer3 =head2 Table Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::Entity
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Cumulus # SNMP::Info::Layer3::Cumulus
# $Id$
# #
# Copyright (c) 2018 Bill Fenner and Oliver Gorwits # Copyright (c) 2018 Bill Fenner and Oliver Gorwits
# All rights reserved. # All rights reserved.
@@ -31,14 +30,13 @@
package SNMP::Info::Layer3::Cumulus; package SNMP::Info::Layer3::Cumulus;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
use SNMP::Info::IEEE802dot3ad 'agg_ports_lag'; use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
@SNMP::Info::Layer3::Cumulus::ISA = qw/ @SNMP::Info::Layer3::Cumulus::ISA = qw/
SNMP::Info::IEEE802dot3ad SNMP::Info::IEEE802dot3ad
SNMP::Info::LLDP
SNMP::Info::Layer3 SNMP::Info::Layer3
Exporter Exporter
/; /;
@@ -50,7 +48,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::IEEE802dot3ad::MIBS, %SNMP::Info::IEEE802dot3ad::MIBS,
'UCD-SNMP-MIB' => 'versionTag', 'UCD-SNMP-MIB' => 'versionTag',
'NET-SNMP-TC' => 'netSnmpAliasDomain', 'NET-SNMP-TC' => 'netSnmpAliasDomain',
@@ -59,7 +56,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'netsnmp_vers' => 'versionTag', 'netsnmp_vers' => 'versionTag',
'hrSystemUptime' => 'hrSystemUptime', 'hrSystemUptime' => 'hrSystemUptime',
'chassis' => 'entPhysicalDescr.1', 'chassis' => 'entPhysicalDescr.1',
@@ -67,17 +63,15 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
%SNMP::Info::IEEE802dot3ad::FUNCS, %SNMP::Info::IEEE802dot3ad::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::LLDP::MUNGE,
%SNMP::Info::IEEE802dot3ad::MUNGE, %SNMP::Info::IEEE802dot3ad::MUNGE,
); );
sub vendor { return 'Cumulus Networks' } sub vendor { return 'cumulus networks' }
sub os { return 'cumulus' } sub os { return 'cumulus' }
@@ -86,7 +80,7 @@ sub os_ver {
my $descr = $netsnmp->description(); my $descr = $netsnmp->description();
# STRING: "Cumulus Linux version 3.5.1 running on innotek GmbH VirtualBox" # STRING: "Cumulus Linux version 3.5.1 running on innotek GmbH VirtualBox"
return $1 if ( $descr =~ /^Cumulus Linux.+(\d+\.\d+\.\d+)\s/ ); return $1 if ( defined ($descr) && $descr =~ /^Cumulus Linux.+(\d+\.\d+\.\d+)\s/ );
return; return;
} }
@@ -95,7 +89,9 @@ sub model {
my $chassis = $netsnmp->chassis(); my $chassis = $netsnmp->chassis();
# STRING: "Cumulus Networks VX Chassis" # STRING: "Cumulus Networks VX Chassis"
return $1 if ( $chassis =~ /^Cumulus Networks\s+(.+)/ ); if (defined ($chassis)) {
return $1 if ($chassis =~ /^Cumulus Networks\s+(.+)/);
}
return $netsnmp->SUPER::model(); return $netsnmp->SUPER::model();
} }
@@ -116,7 +112,7 @@ sub uptime {
# ifDescr is the same for all interfaces in a class, but the ifName is # ifDescr is the same for all interfaces in a class, but the ifName is
# unique, so let's use that for port name. If all else fails, # unique, so let's use that for port name. If all else fails,
# concatentate ifDesc and ifIndex. # concatenate ifDesc and ifIndex.
# (code from SNMP/Info/Layer2/Netgear.pm) # (code from SNMP/Info/Layer2/Netgear.pm)
sub interfaces { sub interfaces {
my $netsnmp = shift; my $netsnmp = shift;
@@ -218,8 +214,6 @@ Subclass for Cumulus Networks devices
See L<SNMP::Info::Layer3> for its own MIB requirements. See L<SNMP::Info::Layer3> for its own MIB requirements.
See L<SNMP::Info::LLDP> for its own MIB requirements.
See L<SNMP::Info::IEEE802dot3ad> for its own MIB requirements. See L<SNMP::Info::IEEE802dot3ad> for its own MIB requirements.
=back =back
@@ -232,7 +226,7 @@ These are methods that return scalar value from SNMP
=item $cumulus->vendor() =item $cumulus->vendor()
Returns 'Cumulus Networks'. Returns 'cumulus networks'.
=item $cumulus->os() =item $cumulus->os()
@@ -258,10 +252,6 @@ Returns the chassis type.
See documentation in L<SNMP::Info::Layer3> for details. See documentation in L<SNMP::Info::Layer3> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP> for details.
=head2 Globals imported from SNMP::Info::IEEE802dot3ad =head2 Globals imported from SNMP::Info::IEEE802dot3ad
See documentation in L<SNMP::Info::IEEE802dot3ad> for details. See documentation in L<SNMP::Info::IEEE802dot3ad> for details.
@@ -295,10 +285,6 @@ ifIndex of the corresponding master ports.
See documentation in L<SNMP::Info::Layer3> for details. See documentation in L<SNMP::Info::Layer3> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP> for details.
=head2 Table Methods imported from SNMP::Info::IEEE802dot3ad =head2 Table Methods imported from SNMP::Info::IEEE802dot3ad
See documentation in L<SNMP::Info::IEEE802dot3ad> for details. See documentation in L<SNMP::Info::IEEE802dot3ad> for details.

View File

@@ -29,11 +29,11 @@
package SNMP::Info::Layer3::DLink; package SNMP::Info::Layer3::DLink;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::DLink::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::DLink::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::DLink::EXPORT_OK = qw//; @SNMP::Info::Layer3::DLink::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE); our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
@@ -42,7 +42,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
'DLINK-ID-REC-MIB' => 'dlink', 'DLINK-ID-REC-MIB' => 'dlink',
'SWPRIMGMT-DES3200-MIB' => 'dlink-des3200SeriesProd', 'SWPRIMGMT-DES3200-MIB' => 'dlink-des3200SeriesProd',
'SWPRIMGMT-DES30XXP-MIB' => 'dlink-des30xxproductProd', 'SWPRIMGMT-DES30XXP-MIB' => 'dlink-des30xxproductProd',
@@ -54,17 +53,14 @@ $VERSION = '3.68';
'DES-1210-52-BX' => 'des-1210-52bx', 'DES-1210-52-BX' => 'des-1210-52bx',
'DES-1210-52-CX' => 'des-1210-52-cx', 'DES-1210-52-CX' => 'des-1210-52-cx',
'DGS-1210-24-AX' => 'dgs-1210-24ax', 'DGS-1210-24-AX' => 'dgs-1210-24ax',
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
'dlink_fw' => 'probeSoftwareRev', 'dlink_fw' => 'probeSoftwareRev',
'dlink_hw' => 'probeHardwareRev', 'dlink_hw' => 'probeHardwareRev',
# Replaced with OID since these MIBs are no longer in the netdisco-mibs # Replaced with OID since these MIBs are no longer in the netdisco-mibs
@@ -76,7 +72,7 @@ $VERSION = '3.68';
# replaced similarly and use the library getter methods # replaced similarly and use the library getter methods
); );
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, %SNMP::Info::LLDP::MUNGE, ); %MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
sub model { sub model {
my $dlink=shift; my $dlink=shift;
@@ -197,7 +193,33 @@ Subclass for DLink devices.
=item SNMP::Info::Layer3 =item SNMP::Info::Layer3
=item SNMP::Info::LLDP =back
=head2 Required MIBs
=over
=item F<DLINK-ID-REC-MIB>
=item F<SWPRIMGMT-DES3200-MIB>
=item F<SWPRIMGMT-DES30XXP-MIB>
=item F<SWPRIMGMT-DES1228ME-MIB>
=item F<SWDES3528-52PRIMGMT-MIB>
=item F<DES-1210-28-AX>
=item F<DES-1210-10MEbx>
=item F<DES-1210-26MEbx>
=item F<DES-1210-52-BX>
=item F<DES-1210-52-CX>
=item F<DGS-1210-24-AX>
=back =back
@@ -205,8 +227,6 @@ Subclass for DLink devices.
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
@@ -243,8 +263,6 @@ Returns the STP root port.
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -262,6 +280,4 @@ Returns the map between SNMP Interface Identifier (iid) and C<ifName>.
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Dell - SNMP Interface to Dell devices # SNMP::Info::Layer3::Dell - SNMP Interface to Dell devices
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,11 +30,11 @@
package SNMP::Info::Layer3::Dell; package SNMP::Info::Layer3::Dell;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::Dell::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/; @SNMP::Info::Layer3::Dell::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Dell::EXPORT_OK = qw//; @SNMP::Info::Layer3::Dell::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE); our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
@@ -44,7 +43,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
'RADLAN-COPY-MIB' => 'rlCopySourceLocation', 'RADLAN-COPY-MIB' => 'rlCopySourceLocation',
'RADLAN-Physicaldescription-MIB' => 'rlPhdStackReorder', 'RADLAN-Physicaldescription-MIB' => 'rlPhdStackReorder',
'RADLAN-rlInterfaces' => 'rlIfNumOfLoopbackPorts', 'RADLAN-rlInterfaces' => 'rlIfNumOfLoopbackPorts',
@@ -55,14 +53,12 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'dell_os_ver' => 'productIdentificationVersion', 'dell_os_ver' => 'productIdentificationVersion',
'dell_id_name' => 'productIdentificationDisplayName', 'dell_id_name' => 'productIdentificationDisplayName',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
# RADLAN-rlInterfaces:swIfTable # RADLAN-rlInterfaces:swIfTable
'dell_duplex_admin' => 'swIfDuplexAdminMode', 'dell_duplex_admin' => 'swIfDuplexAdminMode',
@@ -108,7 +104,7 @@ $VERSION = '3.68';
'dell_fan_desc' => 'rlEnvMonFanStatusDescr', 'dell_fan_desc' => 'rlEnvMonFanStatusDescr',
); );
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, %SNMP::Info::LLDP::MUNGE, ); %MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
# Method OverRides # Method OverRides
@@ -336,7 +332,7 @@ Eric Miller
Debug => 1, Debug => 1,
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -452,10 +448,6 @@ otherwise uses the Layer3 serial method.
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -528,8 +520,4 @@ Returns nothing to work around incorrect indexing of C<dot1qTpFdbTable>
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer3::ERX; package SNMP::Info::Layer3::ERX;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -60,7 +61,7 @@ $VERSION = '3.68';
); );
sub vendor { sub vendor {
return "Juniper"; return "juniper";
} }
sub model { sub model {
@@ -82,7 +83,7 @@ sub os_ver {
my $descr = $ERX->description(); my $descr = $ERX->description();
my $os_ver = undef; my $os_ver = undef;
if ( $descr =~ /Version : \((.+)\) .+:/ ) { if ( defined ($descr) && $descr =~ /Version : \((.+)\) .+:/ ) {
$os_ver = $1; $os_ver = $1;
} }
@@ -110,7 +111,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer3::ERX - SNMP Interface to ERX Layer 3 routers. SNMP::Info::Layer3::ERX - SNMP Interface to Juniper ERX Layer 3 routers.
=head1 AUTHORS =head1 AUTHORS
@@ -161,7 +162,7 @@ These are methods that return scalar value from SNMP
=item $ERX->vendor() =item $ERX->vendor()
Returns 'Juniper'. Returns 'juniper'.
=item $ERX->os() =item $ERX->os()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Enterasys - SNMP Interface to Enterasys devices # SNMP::Info::Layer3::Enterasys - SNMP Interface to Enterasys devices
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,13 +30,13 @@
package SNMP::Info::Layer3::Enterasys; package SNMP::Info::Layer3::Enterasys;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::MAU; use SNMP::Info::MAU;
use SNMP::Info::LLDP;
use SNMP::Info::CDP; use SNMP::Info::CDP;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@SNMP::Info::Layer3::Enterasys::ISA = qw/SNMP::Info::MAU SNMP::Info::LLDP @SNMP::Info::Layer3::Enterasys::ISA = qw/SNMP::Info::MAU
SNMP::Info::CDP SNMP::Info::Layer3 SNMP::Info::CDP SNMP::Info::Layer3
Exporter/; Exporter/;
@SNMP::Info::Layer3::Enterasys::EXPORT_OK = qw//; @SNMP::Info::Layer3::Enterasys::EXPORT_OK = qw//;
@@ -48,24 +47,24 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::CDP::MIBS, %SNMP::Info::Layer3::MIBS, %SNMP::Info::CDP::MIBS,
%SNMP::Info::LLDP::MIBS, %SNMP::Info::MAU::MIBS, %SNMP::Info::MAU::MIBS,
'ENTERASYS-OIDS-MIB' => 'etsysOidDevice', 'ENTERASYS-OIDS-MIB' => 'etsysOidDevice',
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::CDP::GLOBALS, %SNMP::Info::Layer3::GLOBALS, %SNMP::Info::CDP::GLOBALS,
%SNMP::Info::LLDP::GLOBALS, %SNMP::Info::MAU::GLOBALS, %SNMP::Info::MAU::GLOBALS,
'mac' => 'dot1dBaseBridgeAddress', 'mac' => 'dot1dBaseBridgeAddress',
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::CDP::FUNCS, %SNMP::Info::Layer3::FUNCS, %SNMP::Info::CDP::FUNCS,
%SNMP::Info::LLDP::FUNCS, %SNMP::Info::MAU::FUNCS, %SNMP::Info::MAU::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::CDP::MUNGE, %SNMP::Info::Layer3::MUNGE, %SNMP::Info::CDP::MUNGE,
%SNMP::Info::LLDP::MUNGE, %SNMP::Info::MAU::MUNGE, %SNMP::Info::MAU::MUNGE,
); );
sub model { sub model {
@@ -267,7 +266,7 @@ Eric Miller
Debug => 1, Debug => 1,
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -280,19 +279,12 @@ Eric Miller
Provides abstraction to the configuration information obtainable from an Provides abstraction to the configuration information obtainable from an
Enterasys device through SNMP. Enterasys device through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $enterasys = new SNMP::Info::Layer3::Enterasys(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
=item SNMP::Info::MAU =item SNMP::Info::MAU
=item SNMP::Info::LLDP
=item SNMP::Info::CDP =item SNMP::Info::CDP
=item SNMP::Info::Layer3 =item SNMP::Info::Layer3
@@ -311,8 +303,6 @@ my $enterasys = new SNMP::Info::Layer3::Enterasys(...);
See L<SNMP::Info::MAU/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::MAU/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::CDP/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::CDP/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its MIB requirements.
@@ -352,10 +342,6 @@ Returns base mac
See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details. See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::CDP =head2 Globals imported from SNMP::Info::CDP
See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details. See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details.
@@ -427,10 +413,6 @@ supply a partial value of zero which means no time filter.
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::CDP =head2 Table Methods imported from SNMP::Info::CDP
See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Extreme - SNMP Interface to Extreme devices # SNMP::Info::Layer3::Extreme - SNMP Interface to Extreme devices
# $Id$
# #
# Copyright (c) 2012 Eric Miller # Copyright (c) 2012 Eric Miller
# #
@@ -33,14 +32,14 @@
package SNMP::Info::Layer3::Extreme; package SNMP::Info::Layer3::Extreme;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::MAU; use SNMP::Info::MAU;
use SNMP::Info::LLDP;
use SNMP::Info::EDP; use SNMP::Info::EDP;
@SNMP::Info::Layer3::Extreme::ISA @SNMP::Info::Layer3::Extreme::ISA
= qw/SNMP::Info::Layer3 SNMP::Info::MAU SNMP::Info::LLDP = qw/SNMP::Info::Layer3 SNMP::Info::MAU
SNMP::Info::EDP Exporter/; SNMP::Info::EDP Exporter/;
@SNMP::Info::Layer3::Extreme::EXPORT_OK = qw//; @SNMP::Info::Layer3::Extreme::EXPORT_OK = qw//;
@@ -51,7 +50,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::MAU::MIBS, %SNMP::Info::MAU::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::EDP::MIBS, %SNMP::Info::EDP::MIBS,
'EXTREME-BASE-MIB' => 'extremeAgent', 'EXTREME-BASE-MIB' => 'extremeAgent',
'EXTREME-SYSTEM-MIB' => 'extremeSystem', 'EXTREME-SYSTEM-MIB' => 'extremeSystem',
@@ -64,7 +62,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::MAU::GLOBALS, %SNMP::Info::MAU::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
%SNMP::Info::EDP::GLOBALS, %SNMP::Info::EDP::GLOBALS,
'serial1' => 'extremeSystemID.0', 'serial1' => 'extremeSystemID.0',
'temp' => 'extremeCurrentTemperature', 'temp' => 'extremeCurrentTemperature',
@@ -78,7 +75,6 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::MAU::FUNCS, %SNMP::Info::MAU::FUNCS,
%SNMP::Info::LLDP::FUNCS,
%SNMP::Info::EDP::FUNCS, %SNMP::Info::EDP::FUNCS,
'fan_state' => 'extremeFanOperational', 'fan_state' => 'extremeFanOperational',
# EXTREME-FDB-MIB:extremeFdbMacFdbTable # EXTREME-FDB-MIB:extremeFdbMacFdbTable
@@ -119,7 +115,6 @@ $VERSION = '3.68';
# Inherit all the built in munging # Inherit all the built in munging
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::MAU::MUNGE, %SNMP::Info::MAU::MUNGE,
%SNMP::Info::LLDP::MUNGE,
%SNMP::Info::EDP::MUNGE, %SNMP::Info::EDP::MUNGE,
'ex_fw_mac' => \&SNMP::Info::munge_mac, 'ex_fw_mac' => \&SNMP::Info::munge_mac,
'ps1_status_old' => \&munge_true_ok, 'ps1_status_old' => \&munge_true_ok,
@@ -166,7 +161,6 @@ sub vendor {
sub os { sub os {
my $extreme = shift; my $extreme = shift;
my $desc = $extreme->description(); my $desc = $extreme->description();
if ( $desc =~ /xos/i ) { if ( $desc =~ /xos/i ) {
@@ -905,11 +899,6 @@ Eric Miller, Bill Fenner
Provides abstraction to the configuration information obtainable from an Provides abstraction to the configuration information obtainable from an
Extreme device through SNMP. Extreme device through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $extreme = new SNMP::Info::Layer3::Extreme(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
@@ -918,8 +907,6 @@ my $extreme = new SNMP::Info::Layer3::Extreme(...);
=item SNMP::Info::MAU =item SNMP::Info::MAU
=item SNMP::Info::LLDP
=item SNMP::Info::EDP =item SNMP::Info::EDP
=back =back
@@ -1014,10 +1001,6 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details. See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::EDP =head2 Globals imported from SNMP::Info::EDP
See documentation in L<SNMP::Info::EDP/"GLOBALS"> for details. See documentation in L<SNMP::Info::EDP/"GLOBALS"> for details.
@@ -1228,10 +1211,6 @@ See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::EDP =head2 Table Methods imported from SNMP::Info::EDP
See documentation in L<SNMP::Info::EDP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::EDP/"TABLE METHODS"> for details.

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer3::F5; package SNMP::Info::Layer3::F5;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -321,11 +322,6 @@ Eric Miller
Abstraction subclass for F5 network devices. Abstraction subclass for F5 network devices.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $f5 = new SNMP::Info::Layer3::F5(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Force10 # SNMP::Info::Layer3::Force10
# $Id$
# #
# Copyright (c) 2012 William Bulley # Copyright (c) 2012 William Bulley
# All rights reserved. # All rights reserved.
@@ -31,13 +30,13 @@
package SNMP::Info::Layer3::Force10; package SNMP::Info::Layer3::Force10;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::MAU; use SNMP::Info::MAU;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::Force10::ISA = qw/SNMP::Info::LLDP SNMP::Info::MAU @SNMP::Info::Layer3::Force10::ISA = qw/SNMP::Info::MAU
SNMP::Info::Layer3 Exporter/; SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Force10::EXPORT_OK = qw//; @SNMP::Info::Layer3::Force10::EXPORT_OK = qw//;
@@ -48,26 +47,22 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::MAU::MIBS, %SNMP::Info::MAU::MIBS,
%SNMP::Info::LLDP::MIBS,
'F10-PRODUCTS-MIB' => 'f10ESeriesProducts', 'F10-PRODUCTS-MIB' => 'f10ESeriesProducts',
); );
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::MAU::GLOBALS, %SNMP::Info::MAU::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
); );
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::MAU::FUNCS, %SNMP::Info::MAU::FUNCS,
%SNMP::Info::LLDP::FUNCS,
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::MAU::MUNGE, %SNMP::Info::MAU::MUNGE,
%SNMP::Info::LLDP::MUNGE,
); );
# use MAU-MIB for admin. duplex and admin. speed # use MAU-MIB for admin. duplex and admin. speed
@@ -202,8 +197,6 @@ Subclass for Force10 Networks FTOS-based devices.
=item SNMP::Info::MAU =item SNMP::Info::MAU
=item SNMP::Info::LLDP
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -218,8 +211,6 @@ See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -254,10 +245,6 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details. See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::Layer3
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -291,8 +278,4 @@ See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer3::Fortinet; package SNMP::Info::Layer3::Fortinet;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -150,11 +151,6 @@ Eric Miller
Abstraction subclass for Fortinet network devices. Abstraction subclass for Fortinet network devices.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $fortinet = new SNMP::Info::Layer3::Fortinet(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Foundry - SNMP Interface to Foundry devices # SNMP::Info::Layer3::Foundry - SNMP Interface to Foundry devices
# $Id$
# #
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond. # Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
# #
@@ -33,14 +32,13 @@
package SNMP::Info::Layer3::Foundry; package SNMP::Info::Layer3::Foundry;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::FDP; use SNMP::Info::FDP;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::Foundry::ISA = qw/ @SNMP::Info::Layer3::Foundry::ISA = qw/
SNMP::Info::FDP SNMP::Info::FDP
SNMP::Info::LLDP
SNMP::Info::Layer3 SNMP::Info::Layer3
Exporter Exporter
/; /;
@@ -52,7 +50,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::FDP::MIBS, %SNMP::Info::FDP::MIBS,
'FOUNDRY-SN-ROOT-MIB' => 'foundry', 'FOUNDRY-SN-ROOT-MIB' => 'foundry',
@@ -65,7 +62,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
%SNMP::Info::FDP::GLOBALS, %SNMP::Info::FDP::GLOBALS,
'mac' => 'ifPhysAddress.1', 'mac' => 'ifPhysAddress.1',
@@ -81,7 +77,6 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
%SNMP::Info::FDP::FUNCS, %SNMP::Info::FDP::FUNCS,
# FOUNDRY-SN-SWITCH-GROUP-MIB # FOUNDRY-SN-SWITCH-GROUP-MIB
@@ -119,7 +114,6 @@ $VERSION = '3.68';
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::LLDP::MUNGE,
%SNMP::Info::FDP::MUNGE, %SNMP::Info::FDP::MUNGE,
'ag_mod2_type' => \&SNMP::Info::munge_e_type, 'ag_mod2_type' => \&SNMP::Info::munge_e_type,
@@ -304,7 +298,7 @@ sub interfaces {
# NetIron CES, NetIron CER, and older EdgeIron series devices. # NetIron CES, NetIron CER, and older EdgeIron series devices.
# Try Entity MIB methods first and fall back to Pseudo ENTITY-MIB methods for # Try Entity MIB methods first and fall back to Pseudo ENTITY-MIB methods for
# other devices. # other devices.
# e_fwver, e_hwver, e_swver not supported in psuedo methods, no need to # e_fwver, e_hwver, e_swver not supported in pseudo methods, no need to
# override # override
sub e_index { sub e_index {
@@ -866,7 +860,7 @@ Max Baker
Debug => 1, Debug => 1,
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -876,12 +870,8 @@ Max Baker
=head1 DESCRIPTION =head1 DESCRIPTION
Abstraction subclass for Brocade (Foundry) Networks devices. Provides abstraction to information obtainable from Brocade (Foundry) Networks
devices through SNMP. See inherited classes' documentation for inherited methods.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $foundry = new SNMP::Info::Layer3::Foundry(...);
=head2 Inherited Classes =head2 Inherited Classes
@@ -891,8 +881,6 @@ after determining a more specific class using the method above.
=item SNMP::Info::FDP; =item SNMP::Info::FDP;
=item SNMP::Info::LLDP;
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -917,8 +905,6 @@ See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::FDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::FDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -1007,10 +993,6 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
See documentation in L<SNMP::Info::FDP/"GLOBALS"> for details. See documentation in L<SNMP::Info::FDP/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a These are methods that return tables of information in the form of a
@@ -1275,8 +1257,4 @@ See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::FDP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::FDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -29,6 +29,7 @@
package SNMP::Info::Layer3::Genua; package SNMP::Info::Layer3::Genua;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -85,14 +86,15 @@ sub model {
my $genua_model = $genua->genua_model(); my $genua_model = $genua->genua_model();
if ( $genua_model =~ m/GeNUA.+(GS.+?)\s/i ) { if (defined $genua_model) {
if ($genua_model =~ m/GeNUA.+(GS.+?)\s/i) {
$genua_model = $1; $genua_model = $1;
} }
elsif ( $genua_model =~ m/genua\s+(.+?)\s+/i ) { elsif ($genua_model =~ m/genua\s+(.+?)\s+/i) {
$genua_model = $1; $genua_model = $1;
} }
else { } else {
$genua_model = 'unknown'; $genua_model = 'unknown';
} }
return $genua_model; return $genua_model;
} }
@@ -121,7 +123,7 @@ Netdisco Developers
Debug => 1, Debug => 1,
DestHost => 'myhub', DestHost => 'myhub',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";

View File

@@ -30,14 +30,13 @@
package SNMP::Info::Layer3::H3C; package SNMP::Info::Layer3::H3C;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
use SNMP::Info::IEEE802dot3ad 'agg_ports_lag'; use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
@SNMP::Info::Layer3::H3C::ISA = qw/ @SNMP::Info::Layer3::H3C::ISA = qw/
SNMP::Info::IEEE802dot3ad SNMP::Info::IEEE802dot3ad
SNMP::Info::LLDP
SNMP::Info::Layer3 SNMP::Info::Layer3
Exporter Exporter
/; /;
@@ -51,7 +50,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::IEEE802dot3ad::MIBS, %SNMP::Info::IEEE802dot3ad::MIBS,
'HH3C-LswDEVM-MIB' => 'hh3cDevMFanStatus', 'HH3C-LswDEVM-MIB' => 'hh3cDevMFanStatus',
'HH3C-LswINF-MIB' => 'hh3cSlotPortMax', 'HH3C-LswINF-MIB' => 'hh3cSlotPortMax',
@@ -62,7 +60,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'fan' => 'hh3cDevMFanStatus.1', 'fan' => 'hh3cDevMFanStatus.1',
'ps1_status' => 'hh3cDevMPowerStatus.1', 'ps1_status' => 'hh3cDevMPowerStatus.1',
'ps2_status' => 'hh3cDevMPowerStatus.2', 'ps2_status' => 'hh3cDevMPowerStatus.2',
@@ -70,21 +67,19 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
%SNMP::Info::IEEE802dot3ad::FUNCS, %SNMP::Info::IEEE802dot3ad::FUNCS,
i_duplex_admin => 'hh3cifEthernetDuplex', i_duplex_admin => 'hh3cifEthernetDuplex',
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::LLDP::MUNGE,
%SNMP::Info::IEEE802dot3ad::MUNGE, %SNMP::Info::IEEE802dot3ad::MUNGE,
); );
sub vendor { sub vendor {
my $h3c = shift; my $h3c = shift;
my $mfg = $h3c->entPhysicalMfgName(1) || {}; my $mfg = $h3c->entPhysicalMfgName(1) || {};
return $mfg->{1} || "H3C"; return $mfg->{1} || "h3c";
} }
sub model { sub model {
@@ -177,7 +172,7 @@ Subclass for H3C & HP A-series devices
=item SNMP::Info::Layer3 =item SNMP::Info::Layer3
=item SNMP::Info::LLDP =item SNMP::Info::IEEE802dot3ad
=back =back
@@ -201,8 +196,6 @@ See L<SNMP::Info::IEEE802dot3ad> for its own MIB requirements.
See L<SNMP::Info::Layer3> for its own MIB requirements. See L<SNMP::Info::Layer3> for its own MIB requirements.
See L<SNMP::Info::LLDP> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -234,9 +227,9 @@ C<sysDescr>.
See documentation in L<SNMP::Info::Layer3> for details. See documentation in L<SNMP::Info::Layer3> for details.
=head2 Globals imported from SNMP::Info::LLDP =head2 Globals imported from SNMP::Info::IEEE802dot3ad
See documentation in L<SNMP::Info::LLDP> for details. See documentation in L<SNMP::Info::IEEE802dot3ad> for details.
=head1 TABLE ENTRIES =head1 TABLE ENTRIES
@@ -265,10 +258,6 @@ ifIndex of the corresponding master ports.
See documentation in L<SNMP::Info::Layer3> for details. See documentation in L<SNMP::Info::Layer3> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP> for details.
=head2 Table Methods imported from SNMP::Info::IEEE802dot3ad =head2 Table Methods imported from SNMP::Info::IEEE802dot3ad
See documentation in L<SNMP::Info::IEEE802dot3ad> for details. See documentation in L<SNMP::Info::IEEE802dot3ad> for details.

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::HP9300 - SNMP Interface to HP Foundry OEM devices # SNMP::Info::Layer3::HP9300 - SNMP Interface to HP Foundry OEM devices
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,12 +30,12 @@
package SNMP::Info::Layer3::HP9300; package SNMP::Info::Layer3::HP9300;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::FDP; use SNMP::Info::FDP;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::HP9300::ISA = qw/SNMP::Info::FDP SNMP::Info::LLDP @SNMP::Info::Layer3::HP9300::ISA = qw/SNMP::Info::FDP
SNMP::Info::Layer3 Exporter/; SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::HP9300::EXPORT_OK = qw//; @SNMP::Info::Layer3::HP9300::EXPORT_OK = qw//;
@@ -46,7 +45,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
%SNMP::Info::FDP::MIBS, %SNMP::Info::FDP::MIBS,
'HP-SN-ROOT-MIB' => 'hp', 'HP-SN-ROOT-MIB' => 'hp',
'HP-SN-AGENT-MIB' => 'snChasPwrSupplyDescription', 'HP-SN-AGENT-MIB' => 'snChasPwrSupplyDescription',
@@ -55,7 +53,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
%SNMP::Info::FDP::GLOBALS, %SNMP::Info::FDP::GLOBALS,
'mac' => 'ifPhysAddress.1', 'mac' => 'ifPhysAddress.1',
'chassis' => 'entPhysicalDescr.1', 'chassis' => 'entPhysicalDescr.1',
@@ -68,7 +65,6 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
%SNMP::Info::FDP::FUNCS, %SNMP::Info::FDP::FUNCS,
# HP-SN-SWITCH-GROUP-MIB # HP-SN-SWITCH-GROUP-MIB
@@ -82,7 +78,7 @@ $VERSION = '3.68';
); );
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::LLDP::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::FDP::MUNGE, %SNMP::Info::FDP::MUNGE,
); );
@@ -215,7 +211,7 @@ Eric Miller
Debug => 1, Debug => 1,
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -228,11 +224,6 @@ Eric Miller
Abstraction subclass for HP network devices which Foundry Networks was the Abstraction subclass for HP network devices which Foundry Networks was the
Original Equipment Manufacturer (OEM) such as the HP ProCurve 9300 series. Original Equipment Manufacturer (OEM) such as the HP ProCurve 9300 series.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $hp9300 = new SNMP::Info::Layer3::HP9300(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over
@@ -241,8 +232,6 @@ after determining a more specific class using the method above.
=item SNMP::Info::FDP; =item SNMP::Info::FDP;
=item SNMP::Info::LLDP;
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -261,8 +250,6 @@ See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::FDP/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::FDP/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
=back =back
=head1 GLOBALS =head1 GLOBALS
@@ -286,7 +273,7 @@ Returns 'hp'
=item $hp9300->os_ver() =item $hp9300->os_ver()
Returns the software version Returns the software version.
=item $hp9300->mac() =item $hp9300->mac()
@@ -338,10 +325,6 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
See documentation in L<SNMP::Info::FDP/"GLOBALS"> for details. See documentation in L<SNMP::Info::FDP/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -407,8 +390,4 @@ See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::FDP/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::FDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -30,6 +30,7 @@
package SNMP::Info::Layer3::Huawei; package SNMP::Info::Layer3::Huawei;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::IEEE802dot3ad; use SNMP::Info::IEEE802dot3ad;
@@ -111,14 +112,14 @@ $VERSION = '3.68';
); );
sub vendor { sub vendor {
return "Huawei"; return "huawei";
} }
sub os { sub os {
my $huawei = shift; my $huawei = shift;
my $descr = $huawei->description(); my $descr = $huawei->description();
if ( $descr =~ /\b(VRP)\b/ ) { if ( defined ($descr) && $descr =~ /\b(VRP)\b/ ) {
return $1; return $1;
} }
return "huawei"; return "huawei";
@@ -135,7 +136,7 @@ sub os_ver {
my $descr = $huawei->description(); my $descr = $huawei->description();
my $os_ver = undef; my $os_ver = undef;
if ($descr =~ /Version\s # Start match on Version string if (defined ($descr) && $descr =~ /Version\s # Start match on Version string
([\d\.]+) # Capture the primary version in 1 ([\d\.]+) # Capture the primary version in 1
,? # There may be a comma ,? # There may be a comma
\s # Always a space \s # Always a space
@@ -570,7 +571,7 @@ These are methods that return scalar value from SNMP
=item $huawei->vendor() =item $huawei->vendor()
Returns 'Huawei'. Returns 'huawei'.
=item $huawei->os() =item $huawei->os()

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::IBMGbTor - SNMP Interface to IBM Rackswitch devices # SNMP::Info::Layer3::IBMGbTor - SNMP Interface to IBM Rackswitch devices
# $Id$
# #
# Copyright (c) 2013 Eric Miller # Copyright (c) 2013 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,9 +30,9 @@
package SNMP::Info::Layer3::IBMGbTor; package SNMP::Info::Layer3::IBMGbTor;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::IBMGbTor::ISA @SNMP::Info::Layer3::IBMGbTor::ISA
= qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/; = qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/;
@@ -255,7 +254,7 @@ Eric Miller
Debug => 1, Debug => 1,
DestHost => 'myswitch', DestHost => 'myswitch',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";
@@ -269,11 +268,6 @@ Abstraction subclass for IBM Rackswitch (formerly Blade Network Technologies)
network devices. Lenovo acquired these from IBM and is now selling network devices. Lenovo acquired these from IBM and is now selling
them under the Lenovo brand. them under the Lenovo brand.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $ibm = new SNMP::Info::Layer3::IBMGbTor(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Juniper # SNMP::Info::Layer3::Juniper
# $Id$
# #
# Copyright (c) 2008 Bill Fenner # Copyright (c) 2008 Bill Fenner
# All rights reserved. # All rights reserved.
@@ -31,11 +30,11 @@
package SNMP::Info::Layer3::Juniper; package SNMP::Info::Layer3::Juniper;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::LLDP;
@SNMP::Info::Layer3::Juniper::ISA = qw/SNMP::Info::Layer3 SNMP::Info::LLDP Exporter/; @SNMP::Info::Layer3::Juniper::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Juniper::EXPORT_OK = qw//; @SNMP::Info::Layer3::Juniper::EXPORT_OK = qw//;
our ($VERSION, $DEBUG, %GLOBALS, %MIBS, %FUNCS, %MUNGE); our ($VERSION, $DEBUG, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@@ -44,7 +43,6 @@ $VERSION = '3.68';
%MIBS = ( %MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::Layer3::MIBS,
%SNMP::Info::LLDP::MIBS,
'JUNIPER-CHASSIS-DEFINES-MIB' => 'jnxChassisDefines', 'JUNIPER-CHASSIS-DEFINES-MIB' => 'jnxChassisDefines',
'JUNIPER-MIB' => 'jnxBoxAnatomy', 'JUNIPER-MIB' => 'jnxBoxAnatomy',
'JUNIPER-VIRTUALCHASSIS-MIB' => 'jnxVirtualChassisMemberTable', 'JUNIPER-VIRTUALCHASSIS-MIB' => 'jnxVirtualChassisMemberTable',
@@ -54,7 +52,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
'serial' => 'jnxBoxSerialNo', 'serial' => 'jnxBoxSerialNo',
'mac' => 'dot1dBaseBridgeAddress', 'mac' => 'dot1dBaseBridgeAddress',
'box_descr' => 'jnxBoxDescr', 'box_descr' => 'jnxBoxDescr',
@@ -64,7 +61,6 @@ $VERSION = '3.68';
%FUNCS = ( %FUNCS = (
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::Layer3::FUNCS,
%SNMP::Info::LLDP::FUNCS,
# JUNIPER-VLAN-MIB::jnxExVlanPortGroupTable # JUNIPER-VLAN-MIB::jnxExVlanPortGroupTable
'i_trunk' => 'jnxExVlanPortAccessMode', 'i_trunk' => 'jnxExVlanPortAccessMode',
@@ -91,7 +87,6 @@ $VERSION = '3.68';
%MUNGE = ( %MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::Layer3::MUNGE,
%SNMP::Info::LLDP::MUNGE,
'e_containers_type' => \&SNMP::Info::munge_e_type, 'e_containers_type' => \&SNMP::Info::munge_e_type,
'e_contents_type' => \&SNMP::Info::munge_e_type, 'e_contents_type' => \&SNMP::Info::munge_e_type,
); );
@@ -143,10 +138,10 @@ sub model {
my $l3 = shift; my $l3 = shift;
my $id = $l3->id(); my $id = $l3->id();
# Query the junos device model. # Query the junos device model.
my $mod = uc $l3->vc_model() || ''; my $mod = $l3->vc_model() || '';
if (not $mod eq '') { if (not $mod eq '') {
return $mod; return uc $mod;
} }
# Fallback to old method # Fallback to old method
unless ( defined $id ) { unless ( defined $id ) {
@@ -710,8 +705,6 @@ Subclass for Juniper Devices running JUNOS
=item SNMP::Info::Layer3 =item SNMP::Info::Layer3
=item SNMP::Info::LLDP
=back =back
=head2 Required MIBs =head2 Required MIBs
@@ -734,8 +727,6 @@ Subclass for Juniper Devices running JUNOS
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements. See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
=head1 GLOBALS =head1 GLOBALS
These are methods that return scalar value from SNMP These are methods that return scalar value from SNMP
@@ -798,10 +789,6 @@ The name, model, or detailed description of the device.
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details. See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head2 Global Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head1 TABLE METHODS =head1 TABLE METHODS
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
@@ -917,8 +904,4 @@ BOOLEAN. Is a Field Replaceable unit?
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details. See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::LLDP
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=cut =cut

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Lantronix # SNMP::Info::Layer3::Lantronix
# $Id$
# #
# Copyright (c) 2012 J R Binks # Copyright (c) 2012 J R Binks
# #
@@ -30,6 +29,7 @@
package SNMP::Info::Layer3::Lantronix; package SNMP::Info::Layer3::Lantronix;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -74,13 +74,14 @@ sub vendor {
sub os { sub os {
my $device = shift; my $device = shift;
my $descr = $device->description() || ''; my $descr = $device->description() || '';
my $os;
# On EDS, it is called the "Evolution OS" # On EDS, it is called the "Evolution OS"
# Not sure what, if any, name it has a name on other products # Not sure what, if any, name it has a name on other products
$os = 'EvolutionOS' if ( $descr =~ m/Lantronix EDS\w+ V([\d\.R]+)/ ); if ( $descr =~ m/Lantronix EDS\w+ V([\d\.R]+)/ ) {
return 'EvolutionOS';
return 'LantronixOS'; } else {
return 'LantronixOS';
}
} }
sub os_ver { sub os_ver {
@@ -213,7 +214,7 @@ Returns 'lantronix'.
=item $device->os() =item $device->os()
Returns 'EvolutionOS' for EDS devices. Returns 'EvolutionOS' for EDS devices, else returns 'LantronixOS'.
=item $device->os_ver() =item $device->os_ver()
@@ -246,16 +247,6 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
These are methods that return tables of information in the form of a reference These are methods that return tables of information in the form of a reference
to a hash. to a hash.
=head2 Overrides
=over
=item $device->i_ignore()
Returns reference to hash. Increments value of IID if port is to be ignored.
=back
=head2 Lantronix specific items =head2 Lantronix specific items
None at present. None at present.

View File

@@ -62,7 +62,6 @@ $VERSION = '3.68';
%GLOBALS = ( %GLOBALS = (
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::IEEE802dot3ad::GLOBALS,
# no way to get os version and other device details # no way to get os version and other device details
# ENTITY-MIB however can help out # ENTITY-MIB however can help out
'os_ver' => 'entPhysicalSoftwareRev.1', 'os_ver' => 'entPhysicalSoftwareRev.1',

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Microsoft # SNMP::Info::Layer3::Microsoft
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer3::Microsoft; package SNMP::Info::Layer3::Microsoft;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
@@ -96,7 +96,7 @@ __END__
=head1 NAME =head1 NAME
SNMP::Info::Layer3::Microsoft - SNMP Interface to L3 Microsoft Windows router SNMP::Info::Layer3::Microsoft - SNMP Interface to L3 Microsoft Windows routers
=head1 AUTHOR =head1 AUTHOR
@@ -110,7 +110,7 @@ begemot
Debug => 1, Debug => 1,
DestHost => 'myrouter', DestHost => 'myrouter',
Community => 'public', Community => 'public',
Version => 1 Version => 2
) )
or die "Can't connect to DestHost.\n"; or die "Can't connect to DestHost.\n";

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::Mikrotik # SNMP::Info::Layer3::Mikrotik
# $Id$
# #
# Copyright (c) 2011 Jeroen van Ingen # Copyright (c) 2011 Jeroen van Ingen
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer3::Mikrotik; package SNMP::Info::Layer3::Mikrotik;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;

View File

@@ -1,5 +1,4 @@
# SNMP::Info::Layer3::N1600 - SNMP Interface to Nortel N16XX devices # SNMP::Info::Layer3::N1600 - SNMP Interface to Nortel N16XX devices
# $Id$
# #
# Copyright (c) 2008 Eric Miller # Copyright (c) 2008 Eric Miller
# All rights reserved. # All rights reserved.
@@ -31,6 +30,7 @@
package SNMP::Info::Layer3::N1600; package SNMP::Info::Layer3::N1600;
use strict; use strict;
use warnings;
use Exporter; use Exporter;
use SNMP::Info::Layer3; use SNMP::Info::Layer3;
use SNMP::Info::SONMP; use SNMP::Info::SONMP;
@@ -202,11 +202,6 @@ Eric Miller
Provides abstraction to the configuration information obtainable from an Provides abstraction to the configuration information obtainable from an
Avaya/Nortel N16XX device through SNMP. Avaya/Nortel N16XX device through SNMP.
For speed or debugging purposes you can call the subclass directly, but not
after determining a more specific class using the method above.
my $n1600 = new SNMP::Info::Layer3::N1600(...);
=head2 Inherited Classes =head2 Inherited Classes
=over =over

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