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 () version 2.05 ()
+ Fix broken function call in L2::Aironet + 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) version 2.04 (2011-03-31)
+ Support for older HP switch models moved to new L2::HP4000 class + Support for older HP switch models moved to new L2::HP4000 class

View File

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

View File

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

View File

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

10
README
View File

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