Promote L2::Aruba to L3::Aruba

Aruba controllers can act as L3 devices and provide L3 information through the
standard MIBs.  This change makes Aruba devices get recognized as such.
Layer2.pm and Layer3.pm provide roughly the same functionality so there should
be little to no impact for Aruba devices only acting as L2 entities.
This commit is contained in:
Brian De Wolf
2011-06-23 12:40:36 -07:00
parent c0f3a8eb2b
commit 8506638e5c
5 changed files with 34 additions and 30 deletions

View File

@@ -3,6 +3,8 @@ ChangeLog $Id$
version 2.05 ()
+ Fix broken function call in L2::Aironet
+ Promote L2::Aruba to L3::Aruba, as Aruba devices can be L3 entities and
provide L3 information.
version 2.04 (2011-03-31)
+ Support for older HP switch models moved to new L2::HP4000 class

View File

@@ -39,7 +39,7 @@ class: Layer3::Timetra
device: All
device-family: AOS
class: Layer2::Aruba
class: Layer3::Aruba
device: All
#
@@ -82,17 +82,19 @@ device: All
# Aruba
#
device-vendor: Aruba
arpnip: no
arpnip: yes
macsuck: yes
portmac: yes
duplex: no
class: Layer2::Aruba
class: Layer3::Aruba
device-family: Aruba Wireless Controllers
note: Uses proprietary MIBs to provide MAC to port mapping. APs appear as switch ports.
device: 5000
device: 6000
#
# Asante
#

View File

@@ -1236,7 +1236,7 @@ sub device_type {
5624 => 'SNMP::Info::Layer3::Enterasys',
11898 => 'SNMP::Info::Layer2::Orinoco',
14179 => 'SNMP::Info::Layer2::Airespace',
14823 => 'SNMP::Info::Layer2::Aruba',
14823 => 'SNMP::Info::Layer3::Aruba',
);
# Get just the enterprise number for generic mapping
@@ -1449,11 +1449,11 @@ sub device_type {
if ( $desc =~ /8-port .DSL Module\(Annex .\)/i );
# Aruba wireless switches
$objtype = 'SNMP::Info::Layer2::Aruba'
$objtype = 'SNMP::Info::Layer3::Aruba'
if ( $desc =~ /(ArubaOS|AirOS)/ );
# Alcatel-Lucent branded Aruba
$objtype = 'SNMP::Info::Layer2::Aruba'
$objtype = 'SNMP::Info::Layer3::Aruba'
if ( $desc =~ /^AOS-W/ );
#Juniper NetScreen

View File

@@ -1,4 +1,4 @@
# SNMP::Info::Layer2::Aruba
# SNMP::Info::Layer3::Aruba
# $Id$
#
# Copyright (c) 2008 Eric Miller
@@ -28,31 +28,31 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Aruba;
package SNMP::Info::Layer3::Aruba;
use strict;
use Exporter;
use SNMP::Info::Layer2;
use SNMP::Info::Layer3;
@SNMP::Info::Layer2::Aruba::ISA = qw/SNMP::Info::Layer2 Exporter/;
@SNMP::Info::Layer2::Aruba::EXPORT_OK = qw//;
@SNMP::Info::Layer3::Aruba::ISA = qw/SNMP::Info::Layer3 Exporter/;
@SNMP::Info::Layer3::Aruba::EXPORT_OK = qw//;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '2.04';
%MIBS = (
%SNMP::Info::Layer2::MIBS,
%SNMP::Info::Layer3::MIBS,
'WLSX-SWITCH-MIB' => 'wlsxHostname',
'WLSX-WLAN-MIB' => 'wlanAPFQLN',
'WLSR-AP-MIB' => 'wlsrHideSSID',
#'ALCATEL-IND1-TP-DEVICES' => 'familyOmniAccessWireless',
);
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS, );
%GLOBALS = ( %SNMP::Info::Layer3::GLOBALS, );
%FUNCS = (
%SNMP::Info::Layer2::FUNCS,
%SNMP::Info::Layer3::FUNCS,
# WLSX-SWITCH-MIB::wlsxSwitchAccessPointTable
# Table index leafs do not return information
@@ -79,10 +79,10 @@ $VERSION = '2.04';
'fw_user' => 'staUserName',
);
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
sub layers {
return '00000011';
return '00000111';
}
sub os {
@@ -421,7 +421,7 @@ __END__
=head1 NAME
SNMP::Info::Layer2::Aruba - SNMP Interface to Aruba wireless switches
SNMP::Info::Layer3::Aruba - SNMP Interface to Aruba wireless switches
=head1 AUTHOR
@@ -444,7 +444,7 @@ Eric Miller
=head1 DESCRIPTION
SNMP::Info::Layer2::Aruba is a subclass of SNMP::Info that provides an
SNMP::Info::Layer3::Aruba is a subclass of SNMP::Info that provides an
interface to Aruba wireless switches. The Aruba platform utilizes
intelligent wireless switches which control thin access points. The thin
access points themselves are unable to be polled for end station information.
@@ -456,13 +456,13 @@ 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::Layer2::Aruba(...);
my $aruba = new SNMP::Info::Layer3::Aruba(...);
=head2 Inherited Classes
=over
=item SNMP::Info::Layer2
=item SNMP::Info::Layer3
=back
@@ -478,7 +478,7 @@ after determining a more specific class using the method above.
=head2 Inherited MIBs
See L<SNMP::Info::Layer2/"Required MIBs"> for its MIB requirements.
See L<SNMP::Info::Layer3/"Required MIBs"> for its MIB requirements.
=head1 GLOBALS
@@ -516,9 +516,9 @@ proprietary MIBs.
=back
=head2 Globals imported from SNMP::Info::Layer2
=head2 Globals imported from SNMP::Info::Layer3
See L<SNMP::Info::Layer2/"GLOBALS"> for details.
See L<SNMP::Info::Layer3/"GLOBALS"> for details.
=head1 TABLE METHODS
@@ -641,8 +641,8 @@ Returns F<aruba_perap_fqln> indexed by BSSID instead of by AP.
=back
=head2 Table Methods imported from SNMP::Info::Layer2
=head2 Table Methods imported from SNMP::Info::Layer3
See L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
See L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
=cut

10
README
View File

@@ -386,11 +386,6 @@ SUBCLASSES
See documentation in SNMP::Info::Layer2::Allied for details.
SNMP::Info::Layer2::Aruba
Subclass for Aruba wireless switches.
See documentation in SNMP::Info::Layer2::Aruba for details.
SNMP::Info::Layer2::Bay
Depreciated. Use BayStack.
@@ -510,6 +505,11 @@ SUBCLASSES
SNMP::Info::Layer3::Arista
See documentation in SNMP::Info::Layer3::Arista for details.
SNMP::Info::Layer3::Aruba
Subclass for Aruba wireless switches.
See documentation in SNMP::Info::Layer3::Aruba for details.
SNMP::Info::Layer3::BayRS
Subclass for Nortel Multiprotocol/BayRS routers. This includes
BCN, BLN, ASN, ARN, AN, 2430, and 5430 routers.