Compare commits
	
		
			16 Commits
		
	
	
		
			ver_3_0_0_
			...
			ver_3_0_0_
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					d82d495dcf | ||
| 
						 | 
					198df7cee4 | ||
| 
						 | 
					46cdb4c166 | ||
| 
						 | 
					62005c52d2 | ||
| 
						 | 
					ca7651628d | ||
| 
						 | 
					6358b7ad70 | ||
| 
						 | 
					8aca1d97c0 | ||
| 
						 | 
					275a533843 | ||
| 
						 | 
					21bd4c662d | ||
| 
						 | 
					47d9d091d1 | ||
| 
						 | 
					da2ea09e84 | ||
| 
						 | 
					9c71bdbcef | ||
| 
						 | 
					318f9518b1 | ||
| 
						 | 
					19e9fb5f67 | ||
| 
						 | 
					41833c1f29 | ||
| 
						 | 
					4e2f950e41 | 
@@ -21,9 +21,14 @@ version 3.00
 | 
			
		||||
    * [3323814] - Arp support for Netscreen (David Baldwin)
 | 
			
		||||
    * [3323821] - Support for Netscreen w/ WLAN (eg SSG5) (David Baldwin)
 | 
			
		||||
    * [3599277] - Q-BRIDGE Support to collect VLAN in macsuck
 | 
			
		||||
    * [3033731] - Alcatel-Lucent OmniSwich AMAP Support in new AMAP class
 | 
			
		||||
    * [3598896] - Lantronix device support (J R Binks)
 | 
			
		||||
    * [3598337] - Lantronix SLC support
 | 
			
		||||
    * Support for Cisco ASA in L3::CiscoASA (Kraus/Hartmaier/Bernstein)
 | 
			
		||||
    * Support for Avaya VSP 9000 series in L3::Passport
 | 
			
		||||
    * Support for Avaya VSP 7000 series in L2::Baystack
 | 
			
		||||
    * Support Avaya (Trapeze) Wireless Controllers in new class L2::NWSS2300
 | 
			
		||||
    * Support Juniper (Trapeze) Wireless Controllers in new class L2::Trapeze
 | 
			
		||||
    * Support for newer Radware Alteon ADC switches 4408/4416/5412/5224 and
 | 
			
		||||
      older AWS 2000/3000 series in existing L3::AlteonAD
 | 
			
		||||
    * Support for H3C & HP A-series in new class L3::H3C
 | 
			
		||||
 
 | 
			
		||||
@@ -381,6 +381,10 @@ class: Layer3::Altiga
 | 
			
		||||
device: VPN3000
 | 
			
		||||
note: The Cisco 3000 device can return duplicate interface names, while Netdisco expects unique interface names.  To ensure unique device names I append numbers only when an interface name would not be unique without one. Interfaces with unique names keep their ifDescr name.
 | 
			
		||||
 | 
			
		||||
device: ASA
 | 
			
		||||
note: The Cisco ASA is the successor of the PIX which was bought from Altiga Networks.
 | 
			
		||||
Class: Layer3::CiscoASA
 | 
			
		||||
 | 
			
		||||
device-family: 1000
 | 
			
		||||
duplex: no
 | 
			
		||||
ver: 1
 | 
			
		||||
@@ -841,6 +845,14 @@ device: All
 | 
			
		||||
device-family: SRX-series router
 | 
			
		||||
device: All
 | 
			
		||||
 | 
			
		||||
device-family: Wireless LAN Controllers (Trapeze)
 | 
			
		||||
duplex: both
 | 
			
		||||
class: Layer2::Trapeze
 | 
			
		||||
note: Uses proprietary MIBs to provide MAC to port mapping.  APs appear as switch ports.
 | 
			
		||||
note: Arpnip is emulated by gathering the MAC to IP mappings from controller snooping.
 | 
			
		||||
 | 
			
		||||
device: All
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Kentrox
 | 
			
		||||
#
 | 
			
		||||
@@ -850,6 +862,15 @@ class: Layer2::Kentrox
 | 
			
		||||
device-family: Kentrox DataSMART DSU/CSU
 | 
			
		||||
device: All
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Lantronix
 | 
			
		||||
#
 | 
			
		||||
device-vendor: Lantronix
 | 
			
		||||
class: Layer3::Lantronix
 | 
			
		||||
 | 
			
		||||
device-family: Terminal Servers
 | 
			
		||||
device: All
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Linksys
 | 
			
		||||
#
 | 
			
		||||
@@ -997,6 +1018,12 @@ device: Sun routers
 | 
			
		||||
device-vendor: Synoptics
 | 
			
		||||
note: See Avaya
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Trapeze
 | 
			
		||||
#
 | 
			
		||||
device-vendor: Trapeze
 | 
			
		||||
note: See Juniper
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# Zyxel
 | 
			
		||||
#
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										57
									
								
								Info.pm
									
									
									
									
									
								
							
							
						
						
									
										57
									
								
								Info.pm
									
									
									
									
									
								
							@@ -24,7 +24,7 @@ use vars
 | 
			
		||||
    qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_MAP
 | 
			
		||||
    $NOSUCH $BIGINT $REPEATERS/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
@@ -32,7 +32,7 @@ SNMP::Info - Object Oriented Perl5 Interface to Network devices and MIBs through
 | 
			
		||||
 | 
			
		||||
=head1 VERSION
 | 
			
		||||
 | 
			
		||||
SNMP::Info - Version 3.00_001
 | 
			
		||||
SNMP::Info - Version 3.00_004
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
@@ -242,6 +242,13 @@ devices based on the Airespace wireless platform.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Airespace> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::AMAP
 | 
			
		||||
 | 
			
		||||
F<ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB>.  Alcatel Mapping Adjacency
 | 
			
		||||
Protocol (AMAP) Support.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::AMAP> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Bridge
 | 
			
		||||
 | 
			
		||||
F<BRIDGE-MIB> (RFC1286).  F<QBRIDGE-MIB>. Inherited by devices with Layer2
 | 
			
		||||
@@ -585,6 +592,12 @@ Subclass for Orinoco/Proxim wireless access points.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer2::Orinoco> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer2::Trapeze
 | 
			
		||||
 | 
			
		||||
SNMP Interface to Juniper (Trapeze) Wireless Controllers
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer2::Trapeze> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer2::ZyXEL_DSLAM
 | 
			
		||||
 | 
			
		||||
Zyxel DSLAMs.  Need I say more?
 | 
			
		||||
@@ -677,6 +690,12 @@ This is a simple wrapper around Layer3 for IOS devices.  It adds on CiscoVTP.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Cisco> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::CiscoASA
 | 
			
		||||
 | 
			
		||||
Subclass for Cisco Adaptive Security Appliances.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::CiscoASA> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::CiscoFWSM
 | 
			
		||||
 | 
			
		||||
Subclass for Cisco Firewall Services Modules.
 | 
			
		||||
@@ -746,6 +765,12 @@ Subclass for Juniper devices
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Juniper> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::Lantronix
 | 
			
		||||
 | 
			
		||||
Subclass for Lantronix devices
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Lantronix> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::Microsoft
 | 
			
		||||
 | 
			
		||||
Subclass for Generic Microsoft Routers running Microsoft Windows OS.
 | 
			
		||||
@@ -1333,6 +1358,7 @@ sub device_type {
 | 
			
		||||
        42   => 'SNMP::Info::Layer3::Sun',
 | 
			
		||||
        45   => 'SNMP::Info::Layer2::Baystack',
 | 
			
		||||
        171  => 'SNMP::Info::Layer3::Dell',
 | 
			
		||||
        244  => 'SNMP::Info::Layer3::Lantronix',
 | 
			
		||||
        311  => 'SNMP::Info::Layer3::Microsoft',
 | 
			
		||||
        674  => 'SNMP::Info::Layer3::Dell',
 | 
			
		||||
        1872 => 'SNMP::Info::Layer3::AlteonAD',
 | 
			
		||||
@@ -1354,6 +1380,7 @@ sub device_type {
 | 
			
		||||
        8072 => 'SNMP::Info::Layer3::NetSNMP',
 | 
			
		||||
        9303 => 'SNMP::Info::Layer3::PacketFront',
 | 
			
		||||
        12325 => 'SNMP::Info::Layer3::Pf',
 | 
			
		||||
        14525 => 'SNMP::Info::Layer2::Trapeze',
 | 
			
		||||
        14988 => 'SNMP::Info::Layer3::Mikrotik',
 | 
			
		||||
        25506 => 'SNMP::Info::Layer3::H3C',
 | 
			
		||||
        30065 => 'SNMP::Info::Layer3::Arista',
 | 
			
		||||
@@ -1377,12 +1404,14 @@ sub device_type {
 | 
			
		||||
        5624  => 'SNMP::Info::Layer3::Enterasys',
 | 
			
		||||
        11898 => 'SNMP::Info::Layer2::Orinoco',
 | 
			
		||||
        14179 => 'SNMP::Info::Layer2::Airespace',
 | 
			
		||||
        14525 => 'SNMP::Info::Layer2::Trapeze',
 | 
			
		||||
        14823 => 'SNMP::Info::Layer3::Aruba',
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    my %l7sysoidmap = (
 | 
			
		||||
        318   => 'SNMP::Info::Layer7::APC',
 | 
			
		||||
        5951  => 'SNMP::Info::Layer7::Netscaler',
 | 
			
		||||
        14525 => 'SNMP::Info::Layer2::Trapeze',
 | 
			
		||||
        12532 => 'SNMP::Info::Layer7::Neoteris',
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
@@ -1468,6 +1497,11 @@ sub device_type {
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer2::Allied'
 | 
			
		||||
            if ( $desc =~ /Allied.*AT-80\d{2}\S*/i );
 | 
			
		||||
 | 
			
		||||
        # Cisco ASA, newer versions which report layer 3 functionality
 | 
			
		||||
        # version >= 8.2 are known to do this
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::CiscoASA'
 | 
			
		||||
            if ( $desc =~ /Cisco Adaptive Security Appliance/i );
 | 
			
		||||
 | 
			
		||||
        # Cisco FWSM
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::CiscoFWSM'
 | 
			
		||||
            if ( $desc =~ /Cisco Firewall Services Module/i );
 | 
			
		||||
@@ -1634,8 +1668,8 @@ sub device_type {
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::Cisco'
 | 
			
		||||
            if ( $desc =~ /Cisco PIX Security Appliance/i );
 | 
			
		||||
 | 
			
		||||
        # Cisco ASA
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::Cisco'
 | 
			
		||||
        # Cisco ASA, older version which doesn't report layer 3 functionality
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::CiscoASA'
 | 
			
		||||
            if ( $desc =~ /Cisco Adaptive Security Appliance/i );
 | 
			
		||||
 | 
			
		||||
        # HP Virtual Connect blade switches
 | 
			
		||||
@@ -2330,8 +2364,8 @@ Based upon the manufacturer and software version devices may support some
 | 
			
		||||
combination of Layer 2 topology protocol information.  SNMP::Info
 | 
			
		||||
supports querying Link Layer Discovery Protocol (LLDP), Cisco Discovery
 | 
			
		||||
Protocol (CDP), SynOptics/Bay/Nortel/Avaya Network Management Protocol
 | 
			
		||||
(SONMP), Foundry/Brocade Discovery Protocol (FDP), and Extreme Discovery
 | 
			
		||||
Protocol (EDP). 
 | 
			
		||||
(SONMP), Foundry/Brocade Discovery Protocol (FDP), Extreme Discovery
 | 
			
		||||
Protocol (EDP), and Alcatel Mapping Adjacency Protocol (AMAP). 
 | 
			
		||||
 | 
			
		||||
For protocol specific information and implementation:
 | 
			
		||||
 | 
			
		||||
@@ -2347,6 +2381,8 @@ For protocol specific information and implementation:
 | 
			
		||||
 | 
			
		||||
=item EDP: See L<SNMP::Info::EDP> for details.
 | 
			
		||||
 | 
			
		||||
=item AMAP: See L<SNMP::Info::AMAP> for details.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head3 Topology Capabilities
 | 
			
		||||
@@ -2359,8 +2395,8 @@ Reports Layer 2 topology protocols which are supported and running on
 | 
			
		||||
a device.
 | 
			
		||||
 | 
			
		||||
Returns either a reference to an array of protocols, possible values
 | 
			
		||||
being: C<lldp>, C<cdp>, C<sonmp>, C<fdp>, C<edp> or C<undef> if no protocols
 | 
			
		||||
are supported or running.
 | 
			
		||||
being: C<lldp>, C<cdp>, C<sonmp>, C<fdp>, C<edp>, C<amap> or C<undef> if
 | 
			
		||||
no protocols are supported or running.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
@@ -2377,6 +2413,7 @@ sub has_topo {
 | 
			
		||||
        if $self->can('hasSONMP') && $self->hasSONMP();
 | 
			
		||||
    push( @topo_cap, 'fdp' ) if $self->can('hasFDP') && $self->hasFDP();
 | 
			
		||||
    push( @topo_cap, 'edp' ) if $self->can('hasEDP') && $self->hasEDP();
 | 
			
		||||
    push( @topo_cap, 'amap' ) if $self->can('hasAMAP') && $self->hasAMAP();
 | 
			
		||||
 | 
			
		||||
    if (@topo_cap) {
 | 
			
		||||
        return \@topo_cap;
 | 
			
		||||
@@ -2396,7 +2433,7 @@ sub _get_topo_data {
 | 
			
		||||
 | 
			
		||||
    my %t_data;
 | 
			
		||||
    foreach my $proto (@$topo_cap) {
 | 
			
		||||
        next unless $proto =~ /(lldp|cdp|sonmp|fdp|edp)/;
 | 
			
		||||
        next unless $proto =~ /(lldp|cdp|sonmp|fdp|edp|amap)/;
 | 
			
		||||
        my $method_name = "$proto" . "_$method";
 | 
			
		||||
        my $cdp = $self->$method_name($partial) || {};
 | 
			
		||||
 | 
			
		||||
@@ -2426,7 +2463,7 @@ first argument.
 | 
			
		||||
 | 
			
		||||
If a reference to an array is provided as the second argument, those
 | 
			
		||||
protocols will be queried for information.  The supported array values are:
 | 
			
		||||
C<lldp>, C<cdp>, C<sonmp>, C<fdp>, C<edp>.
 | 
			
		||||
C<lldp>, C<cdp>, C<sonmp>, C<fdp>, C<edp>, C<amap>.
 | 
			
		||||
 | 
			
		||||
If nothing is passed in as the second argument, the methods will call
 | 
			
		||||
has_topo() to determine supported and running topology protocols on the
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										341
									
								
								Info/AMAP.pm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										341
									
								
								Info/AMAP.pm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,341 @@
 | 
			
		||||
# SNMP::Info::AMAP
 | 
			
		||||
#
 | 
			
		||||
# Copyright (c) 2013 Eric Miller
 | 
			
		||||
# All rights reserved.
 | 
			
		||||
#
 | 
			
		||||
# Redistribution and use in source and binary forms, with or without
 | 
			
		||||
# modification, are permitted provided that the following conditions are met:
 | 
			
		||||
#
 | 
			
		||||
#     * Redistributions of source code must retain the above copyright notice,
 | 
			
		||||
#       this list of conditions and the following disclaimer.
 | 
			
		||||
#     * Redistributions in binary form must reproduce the above copyright
 | 
			
		||||
#       notice, this list of conditions and the following disclaimer in the
 | 
			
		||||
#       documentation and/or other materials provided with the distribution.
 | 
			
		||||
#     * Neither the name of the University of California, Santa Cruz nor the
 | 
			
		||||
#       names of its contributors may be used to endorse or promote products
 | 
			
		||||
#       derived from this software without specific prior written permission.
 | 
			
		||||
#
 | 
			
		||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | 
			
		||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
			
		||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | 
			
		||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 | 
			
		||||
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 | 
			
		||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 | 
			
		||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 | 
			
		||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 | 
			
		||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | 
			
		||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 | 
			
		||||
# POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 | 
			
		||||
package SNMP::Info::AMAP;
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use Exporter;
 | 
			
		||||
use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::LLDP::ISA       = qw/SNMP::Info Exporter/;
 | 
			
		||||
@SNMP::Info::LLDP::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS
 | 
			
		||||
    = ( 'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType', );
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%FUNCS = (
 | 
			
		||||
 | 
			
		||||
    # EXTREME-EDP-MIB::extremeEdpTable
 | 
			
		||||
    'amap_rem_sysname' => 'aipAMAPRemHostname',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%MUNGE = ( 'amap_rem_sysname' => \&SNMP::Info::munge_null, );
 | 
			
		||||
 | 
			
		||||
sub hasAMAP {
 | 
			
		||||
    my $amap = shift;
 | 
			
		||||
 | 
			
		||||
    my $amap_ip = $amap->aipAMAPIpAddr() || {};
 | 
			
		||||
 | 
			
		||||
    return 1 if ( scalar( keys %$amap_ip ) );
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Break up the aipAMAPhostsTable INDEX into MAC and IP address.
 | 
			
		||||
sub _hosts_table_index {
 | 
			
		||||
    my $idx  = shift;
 | 
			
		||||
    my @oids = split( /\./, $idx );
 | 
			
		||||
    my $mac  = join( '.', splice( @oids, 0, 6 ) );
 | 
			
		||||
 | 
			
		||||
    return ( $mac, join( '.', @oids ) );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Break up the aipAMAPportConnectionTable INDEX and return MAC
 | 
			
		||||
sub _conn_table_mac {
 | 
			
		||||
    my $idx       = shift;
 | 
			
		||||
    my @oids      = split( /\./, $idx );
 | 
			
		||||
    my $local_idx = shift @oids;
 | 
			
		||||
    my $mac       = join( '.', splice( @oids, 0, 6 ) );
 | 
			
		||||
 | 
			
		||||
    return ($mac);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Since we need to get IP Addresses from the aipAMAPhostsTable which has
 | 
			
		||||
# a different index (MAC, IP) than the aipAMAPportConnectionTable which holds
 | 
			
		||||
# the remote device details we create a combined index and skip any
 | 
			
		||||
# IPs which have an address of 0.0.0.0.  Would like to include only one
 | 
			
		||||
# 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.
 | 
			
		||||
#
 | 
			
		||||
# We don't inplement partials since this is private index function
 | 
			
		||||
sub _amap_index {
 | 
			
		||||
    my $amap = shift;
 | 
			
		||||
 | 
			
		||||
    my $amap_ip    = $amap->aipAMAPIpAddr()    || {};
 | 
			
		||||
    my $amap_rport = $amap->aipAMAPLocalPort() || {};
 | 
			
		||||
 | 
			
		||||
    my %amap_index;
 | 
			
		||||
    foreach my $key ( keys %$amap_ip ) {
 | 
			
		||||
        my ( $mac, $ip ) = _hosts_table_index($key);
 | 
			
		||||
 | 
			
		||||
        next if ( $ip eq '0.0.0.0' );
 | 
			
		||||
        next unless $ip;
 | 
			
		||||
 | 
			
		||||
        foreach my $idx ( keys %$amap_rport ) {
 | 
			
		||||
            my $c_mac = _conn_table_mac($idx);
 | 
			
		||||
 | 
			
		||||
            if ( $mac eq $c_mac ) {
 | 
			
		||||
                my $index = "$idx.$ip";
 | 
			
		||||
                $amap_index{$index} = $index;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return \%amap_index;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# Break up _amap_index INDEX into local index, MAC, remote index, and
 | 
			
		||||
# IP address
 | 
			
		||||
sub _amap_index_parts {
 | 
			
		||||
    my $idx       = shift;
 | 
			
		||||
    my @oids      = split( /\./, $idx );
 | 
			
		||||
    my $local_idx = shift @oids;
 | 
			
		||||
    my $mac       = join( '.', splice( @oids, 0, 6 ) );
 | 
			
		||||
    my $rem_idx   = shift @oids;
 | 
			
		||||
 | 
			
		||||
    return ( $local_idx, $mac, $rem_idx, join( '.', @oids ) );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub amap_if {
 | 
			
		||||
    my $amap = shift;
 | 
			
		||||
 | 
			
		||||
    my $index  = $amap->_amap_index()         || {};
 | 
			
		||||
    my $if_idx = $amap->aipAMAPLocalIfindex() || {};
 | 
			
		||||
 | 
			
		||||
    my %amap_if;
 | 
			
		||||
    foreach my $key ( keys %$index ) {
 | 
			
		||||
        my ( $local_idx, $mac, $rem_idx, $ip ) = _amap_index_parts($key);
 | 
			
		||||
        my $if_key = "$local_idx.$mac.$rem_idx";
 | 
			
		||||
 | 
			
		||||
        if ( $key =~ /^$if_key/ ) {
 | 
			
		||||
            my $if = $if_idx->{$if_key};
 | 
			
		||||
            $amap_if{$key} = $if;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return \%amap_if;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub amap_ip {
 | 
			
		||||
    my $amap = shift;
 | 
			
		||||
 | 
			
		||||
    my $index = $amap->_amap_index() || {};
 | 
			
		||||
 | 
			
		||||
    my %amap_ip;
 | 
			
		||||
    foreach my $key ( keys %$index ) {
 | 
			
		||||
        my ( $local_idx, $mac, $rem_idx, $ip ) = _amap_index_parts($key);
 | 
			
		||||
 | 
			
		||||
        # MIB says should only be IPv4
 | 
			
		||||
        next unless ( $ip =~ /\d+(\.\d+){3}/ );
 | 
			
		||||
        $amap_ip{$key} = $ip;
 | 
			
		||||
    }
 | 
			
		||||
    return \%amap_ip;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub amap_port {
 | 
			
		||||
    my $amap = shift;
 | 
			
		||||
 | 
			
		||||
    my $index      = $amap->_amap_index()      || {};
 | 
			
		||||
    my $amap_rport = $amap->aipAMAPLocalPort() || {};
 | 
			
		||||
    my $amap_rslot = $amap->aipAMAPLocalSlot() || {};
 | 
			
		||||
 | 
			
		||||
    my %amap_port;
 | 
			
		||||
    foreach my $key ( sort keys %$index ) {
 | 
			
		||||
        my ( $local_idx, $mac, $rem_idx, $ip ) = _amap_index_parts($key);
 | 
			
		||||
        my $p_key = "$local_idx.$mac.$rem_idx";
 | 
			
		||||
 | 
			
		||||
        if ( $key =~ /^$p_key/ ) {
 | 
			
		||||
            my $port = $amap_rport->{$p_key};
 | 
			
		||||
            my $slot = $amap_rslot->{$p_key} || 0;
 | 
			
		||||
            next unless $port;
 | 
			
		||||
            $amap_port{$key} = defined $slot ? "$slot\/$port" : $port;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return \%amap_port;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub amap_id {
 | 
			
		||||
    my $amap = shift;
 | 
			
		||||
 | 
			
		||||
    my $index     = $amap->_amap_index()      || {};
 | 
			
		||||
    my $amap_name = $amap->amap_rem_sysname() || {};
 | 
			
		||||
 | 
			
		||||
    my %amap_name;
 | 
			
		||||
    foreach my $key ( sort keys %$index ) {
 | 
			
		||||
        my ( $local_idx, $mac, $rem_idx, $ip ) = _amap_index_parts($key);
 | 
			
		||||
        my $id_key = "$local_idx.$mac.$rem_idx";
 | 
			
		||||
 | 
			
		||||
        if ( $key =~ /^$id_key/ ) {
 | 
			
		||||
            my $name = $amap_name->{$id_key} || 0;
 | 
			
		||||
            next unless $name;
 | 
			
		||||
            $amap_name{$key} = $name;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return \%amap_name;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub amap_platform {
 | 
			
		||||
    my $amap = shift;
 | 
			
		||||
 | 
			
		||||
    my $index              = $amap->_amap_index()          || {};
 | 
			
		||||
    my $amap_topo_platform = $amap->aipAMAPRemDeviceType() || {};
 | 
			
		||||
 | 
			
		||||
    my %amap_platform;
 | 
			
		||||
    foreach my $key ( keys %$index ) {
 | 
			
		||||
        my ( $local_idx, $mac, $rem_idx, $ip ) = _amap_index_parts($key);
 | 
			
		||||
        my $pf_key = "$local_idx.$mac.$rem_idx";
 | 
			
		||||
 | 
			
		||||
        if ( $key =~ /^$pf_key/ ) {
 | 
			
		||||
            my $platform = $amap_topo_platform->{$pf_key};
 | 
			
		||||
            next unless $platform;
 | 
			
		||||
            $amap_platform{$key} = $platform;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return \%amap_platform;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
1;
 | 
			
		||||
__END__
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
SNMP::Info::AMAP - SNMP Interface to Alcatel Mapping Adjacency Protocol (AMAP)
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
Eric Miller
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
 my $amap = new SNMP::Info ( 
 | 
			
		||||
                             AutoSpecify => 1,
 | 
			
		||||
                             Debug       => 1,
 | 
			
		||||
                             DestHost    => 'router', 
 | 
			
		||||
                             Community   => 'public',
 | 
			
		||||
                             Version     => 2
 | 
			
		||||
                           );
 | 
			
		||||
 | 
			
		||||
 my $class = $amap->class();
 | 
			
		||||
 print " Using device sub class : $class\n";
 | 
			
		||||
 | 
			
		||||
 $hasamap   = $amap->hasAMAP() ? 'yes' : 'no';
 | 
			
		||||
 | 
			
		||||
 # Print out a map of device ports with LLDP neighbors:
 | 
			
		||||
 my $interfaces    = $amap->interfaces();
 | 
			
		||||
 my $amap_if       = $amap->amap_if();
 | 
			
		||||
 my $amap_ip       = $amap->amap_ip();
 | 
			
		||||
 my $amap_port     = $amap->amap_port();
 | 
			
		||||
 | 
			
		||||
 foreach my $amap_key (keys %$amap_ip){
 | 
			
		||||
    my $iid           = $amap_if->{$amap_key};
 | 
			
		||||
    my $port          = $interfaces->{$iid};
 | 
			
		||||
    my $neighbor      = $amap_ip->{$amap_key};
 | 
			
		||||
    my $neighbor_port = $amap_port->{$amap_key};
 | 
			
		||||
    print "Port : $port connected to $neighbor / $neighbor_port\n";
 | 
			
		||||
 }
 | 
			
		||||
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
SNMP::Info::AMAP is a subclass of SNMP::Info that provides an object oriented 
 | 
			
		||||
interface to Alcatel Mapping Adjacency Protocol (AMAP) information through
 | 
			
		||||
SNMP.
 | 
			
		||||
 | 
			
		||||
AMAP is a Layer 2 protocol that allows a network device to advertise its
 | 
			
		||||
identity and capabilities on the local network providing topology information.
 | 
			
		||||
 | 
			
		||||
Create or use a device subclass that inherits this class.  Do not use
 | 
			
		||||
directly.
 | 
			
		||||
 | 
			
		||||
=head2 Inherited Classes
 | 
			
		||||
 | 
			
		||||
None.
 | 
			
		||||
 | 
			
		||||
=head2 Required MIBs
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item F<ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB>
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 GLOBAL METHODS
 | 
			
		||||
 | 
			
		||||
These are methods that return scalar values from SNMP
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $amap->hasAMAP()
 | 
			
		||||
 | 
			
		||||
Is AMAP is active in this device?  
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 TABLE METHODS
 | 
			
		||||
 | 
			
		||||
These are methods that return tables of information in the form of a reference
 | 
			
		||||
to a hash.
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $amap->amap_id()
 | 
			
		||||
 | 
			
		||||
Returns the string value used to identify the remote system.
 | 
			
		||||
 | 
			
		||||
=item $amap->amap_if()
 | 
			
		||||
 | 
			
		||||
Returns the mapping to the SNMP Interface Table.
 | 
			
		||||
 | 
			
		||||
=item  $amap->amap_ip()
 | 
			
		||||
 | 
			
		||||
Returns remote IPv4 addresses.  Note: AMAP returns all IP addresses associated
 | 
			
		||||
with the remote device.  It would be preferable to include only one address
 | 
			
		||||
since they should all originate from the same device, but amap_ip() can not 
 | 
			
		||||
determine if all addresses are reachable from the network management
 | 
			
		||||
application therefore all addresses are returned and the calling application
 | 
			
		||||
must determine which address to use and if they are in fact from the same
 | 
			
		||||
device.
 | 
			
		||||
 | 
			
		||||
=item $amap->amap_port()
 | 
			
		||||
 | 
			
		||||
Returns remote port ID
 | 
			
		||||
 | 
			
		||||
=item $amap->amap_platform()
 | 
			
		||||
 | 
			
		||||
Returns remote platform ID
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -38,7 +38,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'ADSL-LINE-MIB' => 'adslLineType' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION $DEBUG %MIBS %FUNCS %GLOBALS %MUNGE $INIT/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'BRIDGE-MIB'   => 'dot1dBaseBridgeAddress',
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION $DEBUG %FUNCS %GLOBALS %MIBS %MUNGE $INIT/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
# Five data structures required by SNMP::Info
 | 
			
		||||
%MIBS = ( 'CISCO-CDP-MIB' => 'cdpGlobalRun' );
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'CISCO-CONFIG-COPY-MIB' => 'ccCopyTable',
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-IMAGE-MIB' => 'ciscoImageString', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use Exporter;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE %PAECAPABILITIES/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'CISCO-PORT-SECURITY-MIB' => 'ciscoPortSecurityMIB',
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
 | 
			
		||||
          'CISCO-CDP-MIB' => 'cdpCachePowerConsumption' );
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-CLASS-BASED-QOS-MIB' => 'cbQosIfIndex', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-RTTMON-MIB' => 'rttMonCtrlAdminOwner', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE %PORTSTAT/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-STACK-MIB' => 'ciscoStackMIB', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'SNMPv2-MIB'            => 'sysDescr',
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ use SNMP::Info::Bridge;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION $DEBUG %MIBS %FUNCS %GLOBALS %MUNGE %PORTSTAT $INIT/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::CiscoStpExtensions::ISA = qw/SNMP::Info::Bridge SNMP::Info Exporter/;
 | 
			
		||||
@SNMP::Info::CiscoStpExtensions::EXPORT_OK = qw//;
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'CISCO-VTP-MIB'                       => 'vtpVlanName',
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'EXTREME-EDP-MIB'   => 'extremeEdpPortIfIndex',
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'ENTITY-MIB' => 'entPhysicalSerialNum' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'EtherLike-MIB' => 'etherMIB' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use Exporter;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'IEEE802dot11-MIB' => 'dot11DesiredSSID', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ use constant {
 | 
			
		||||
    IPV6MIB => 3,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'LLDP-MIB'          => 'lldpLocSysCapEnabled',
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::MIBS, 'SNMP-REPEATER-MIB' => 'rptrPortGroupIndex' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
# Set for No CDP
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, 'root_ip' => 'actualIPAddr', );
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
# Set for No CDP
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, );
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer1::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ use SNMP::Info::PowerEthernet;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,         %SNMP::Info::Bridge::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Airespace;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,      %SNMP::Info::Bridge::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ use SNMP::Info::IEEE802dot11;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::IEEE802dot11::GLOBALS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,    %SNMP::Info::LLDP::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer2::GLOBALS,
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer2::GLOBALS,     %SNMP::Info::CiscoConfig::GLOBALS,
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,     %SNMP::Info::CiscoPortSecurity::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::SONMP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,     %SNMP::Info::CiscoConfig::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ use SNMP::Info::CDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MODEL_MAP %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ use SNMP::Info::CDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MODEL_MAP %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::Airespace;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,        %SNMP::Info::Bridge::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS, %SNMP::Info::IEEE802dot11::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Bridge;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::Layer2::MIBS, %SNMP::Info::LLDP::MIBS, );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1303
									
								
								Info/Layer2/Trapeze.pm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1303
									
								
								Info/Layer2/Trapeze.pm
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
# Set for No CDP
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,7 @@ use SNMP::Info::AdslLine;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -34,6 +34,7 @@ use strict;
 | 
			
		||||
use Exporter;
 | 
			
		||||
use SNMP::Info::Layer3;
 | 
			
		||||
use SNMP::Info::MAU;
 | 
			
		||||
use SNMP::Info::AMAP;
 | 
			
		||||
# Use LLDP
 | 
			
		||||
# (or at least try.  The versions I've seen have two problems:
 | 
			
		||||
# 1. they report ifIndex values as 'local'; we don't support ifIndex
 | 
			
		||||
@@ -42,18 +43,19 @@ use SNMP::Info::MAU;
 | 
			
		||||
# )
 | 
			
		||||
use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::AlcatelLucent::ISA = qw/SNMP::Info::LLDP SNMP::Info::MAU
 | 
			
		||||
    SNMP::Info::Layer3 Exporter/;
 | 
			
		||||
@SNMP::Info::Layer3::AlcatelLucent::ISA = qw/SNMP::Info::AMAP SNMP::Info::LLDP
 | 
			
		||||
    SNMP::Info::MAU SNMP::Info::Layer3 Exporter/;
 | 
			
		||||
@SNMP::Info::Layer3::AlcatelLucent::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
    %SNMP::Info::MAU::MIBS,
 | 
			
		||||
    %SNMP::Info::LLDP::MIBS,
 | 
			
		||||
    %SNMP::Info::AMAP::MIBS,
 | 
			
		||||
    'ALCATEL-IND1-DEVICES'     => 'familyOmniSwitch7000',
 | 
			
		||||
    'ALCATEL-IND1-CHASSIS-MIB' => 'chasEntPhysOperStatus',
 | 
			
		||||
    'ALU-POWER-ETHERNET-MIB'   => 'pethPsePortDetectionStatus',
 | 
			
		||||
@@ -70,17 +72,17 @@ delete $MIBS{'POWER-ETHERNET-MIB'};
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer3::GLOBALS, %SNMP::Info::MAU::GLOBALS,
 | 
			
		||||
    %SNMP::Info::LLDP::GLOBALS,
 | 
			
		||||
    %SNMP::Info::LLDP::GLOBALS, %SNMP::Info::AMAP::GLOBALS,
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%FUNCS = (
 | 
			
		||||
    %SNMP::Info::Layer3::FUNCS, %SNMP::Info::MAU::FUNCS,
 | 
			
		||||
    %SNMP::Info::LLDP::FUNCS,
 | 
			
		||||
    %SNMP::Info::LLDP::FUNCS, %SNMP::Info::AMAP::FUNCS,
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%MUNGE = (
 | 
			
		||||
    %SNMP::Info::Layer3::MUNGE, %SNMP::Info::MAU::MUNGE,
 | 
			
		||||
    %SNMP::Info::LLDP::MUNGE,
 | 
			
		||||
    %SNMP::Info::LLDP::MUNGE, %SNMP::Info::AMAP::MUNGE,
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
# use MAU-MIB for admin. duplex and admin. speed
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE 
 | 
			
		||||
            $int_include_vpn $fake_idx $type_class/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
            %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::Bridge;
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE %MODEL_MAP
 | 
			
		||||
    %MODID_MAP %PROCID_MAP/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
# NOTE: Order creates precedence
 | 
			
		||||
#       Example: v_name exists in Bridge.pm and CiscoVTP.pm
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -66,7 +66,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
# NOTE: Order creates precedence
 | 
			
		||||
#       Example: v_name exists in Bridge.pm and CiscoVTP.pm
 | 
			
		||||
 
 | 
			
		||||
@@ -52,7 +52,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										252
									
								
								Info/Layer3/CiscoASA.pm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										252
									
								
								Info/Layer3/CiscoASA.pm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,252 @@
 | 
			
		||||
# SNMP::Info::Layer3::CiscoASA
 | 
			
		||||
# $Id$
 | 
			
		||||
#
 | 
			
		||||
# Copyright (c) 2013 Moe Kraus
 | 
			
		||||
# All rights reserved.
 | 
			
		||||
#
 | 
			
		||||
# Redistribution and use in source and binary forms, with or without
 | 
			
		||||
# modification, are permitted provided that the following conditions are met:
 | 
			
		||||
#
 | 
			
		||||
#     * Redistributions of source code must retain the above copyright notice,
 | 
			
		||||
#       this list of conditions and the following disclaimer.
 | 
			
		||||
#     * Redistributions in binary form must reproduce the above copyright
 | 
			
		||||
#       notice, this list of conditions and the following disclaimer in the
 | 
			
		||||
#       documentation and/or other materials provided with the distribution.
 | 
			
		||||
#     * Neither the name of the University of California, Santa Cruz nor the
 | 
			
		||||
#       names of its contributors may be used to endorse or promote products
 | 
			
		||||
#       derived from this software without specific prior written permission.
 | 
			
		||||
#
 | 
			
		||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | 
			
		||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
			
		||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | 
			
		||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 | 
			
		||||
# LIABLE FOR
 | 
			
		||||
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 | 
			
		||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 | 
			
		||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 | 
			
		||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 | 
			
		||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | 
			
		||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 | 
			
		||||
# POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 | 
			
		||||
package SNMP::Info::Layer3::CiscoASA;
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use Exporter;
 | 
			
		||||
use SNMP::Info::CiscoVTP;
 | 
			
		||||
use SNMP::Info::CDP;
 | 
			
		||||
use SNMP::Info::CiscoStats;
 | 
			
		||||
use SNMP::Info::CiscoImage;
 | 
			
		||||
use SNMP::Info::CiscoRTT;
 | 
			
		||||
use SNMP::Info::CiscoQOS;
 | 
			
		||||
use SNMP::Info::CiscoConfig;
 | 
			
		||||
use SNMP::Info::CiscoPower;
 | 
			
		||||
use SNMP::Info::Layer3;
 | 
			
		||||
use SNMP::Info::Layer3::Cisco;
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::CiscoASA::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP
 | 
			
		||||
    SNMP::Info::CiscoStats SNMP::Info::CiscoImage
 | 
			
		||||
    SNMP::Info::CiscoRTT  SNMP::Info::CiscoQOS
 | 
			
		||||
    SNMP::Info::CiscoConfig SNMP::Info::CiscoPower
 | 
			
		||||
    SNMP::Info::Layer3::Cisco
 | 
			
		||||
    SNMP::Info::Layer3
 | 
			
		||||
    Exporter/;
 | 
			
		||||
@SNMP::Info::Layer3::CiscoASA::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
       %SNMP::Info::Layer3::Cisco::MIBS,
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
       %SNMP::Info::Layer3::Cisco::GLOBALS,
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%FUNCS = (
 | 
			
		||||
       %SNMP::Info::Layer3::Cisco::FUNCS,
 | 
			
		||||
    'mac_table' => 'ifPhysAddress',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%MUNGE = (
 | 
			
		||||
       %SNMP::Info::Layer3::Cisco::MUNGE,
 | 
			
		||||
    'mac_table'  => \&SNMP::Info::munge_mac, );
 | 
			
		||||
 | 
			
		||||
sub b_mac {
 | 
			
		||||
       my ($asa) = shift;
 | 
			
		||||
       my $macs = $asa->mac_table();
 | 
			
		||||
       my @macs;
 | 
			
		||||
       # gather physical addresses
 | 
			
		||||
       foreach my $i ( keys %$macs ) {
 | 
			
		||||
               my $mac = $macs->{$i};
 | 
			
		||||
               # don't catch the bad macs with zeroed OUI
 | 
			
		||||
               if ( $mac !~ m/(0{1,2}:){3}/ ) {
 | 
			
		||||
                       push( @macs, $mac);
 | 
			
		||||
               }
 | 
			
		||||
               @macs = sort( @macs );
 | 
			
		||||
       }
 | 
			
		||||
       # return the least mac
 | 
			
		||||
       return $macs[0];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub i_description {
 | 
			
		||||
    my $self = shift;
 | 
			
		||||
    my $partial   = shift;
 | 
			
		||||
 | 
			
		||||
    my $i_descr = $self->orig_i_description($partial) || {};
 | 
			
		||||
 | 
			
		||||
    foreach my $ifindex ( keys %$i_descr ) {
 | 
			
		||||
        $i_descr->{$ifindex} =~ /'(.*)'/;
 | 
			
		||||
        $i_descr->{$ifindex} = $1
 | 
			
		||||
            if defined $1;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return $i_descr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
1;
 | 
			
		||||
__END__
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
SNMP::Info::Layer3::CiscoASA - Cisco Adaptive Security Appliance
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
Moe Kraus
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
 # Let SNMP::Info determine the correct subclass for you.
 | 
			
		||||
 my $cisco = new SNMP::Info(
 | 
			
		||||
                        AutoSpecify => 1,
 | 
			
		||||
                        Debug       => 1,
 | 
			
		||||
                        # These arguments are passed directly to SNMP::Session
 | 
			
		||||
                        DestHost    => 'myswitch',
 | 
			
		||||
                        Community   => 'public',
 | 
			
		||||
                        Version     => 2
 | 
			
		||||
                        )
 | 
			
		||||
    or die "Can't connect to DestHost.\n";
 | 
			
		||||
 | 
			
		||||
 my $class      = $asa->class();
 | 
			
		||||
 print "SNMP::Info determined this device to fall under subclass: $class\n";
 | 
			
		||||
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
Subclass for Cisco ASAs
 | 
			
		||||
 | 
			
		||||
=head2 Inherited Classes
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::Cisco
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Required MIBs
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item F<CISCO-EIGRP-MIB>
 | 
			
		||||
 | 
			
		||||
=item Inherited Classes' MIBs
 | 
			
		||||
 | 
			
		||||
See L<SNMP::Info::Layer3::Cisco/"Required MIBs"> for its own MIB requirements.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 GLOBALS
 | 
			
		||||
 | 
			
		||||
These are methods that return scalar value from SNMP
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $asa->b_mac()
 | 
			
		||||
 | 
			
		||||
Returns base mac.
 | 
			
		||||
Overrides base mac function in L<SNMP::Info::Layer3>.
 | 
			
		||||
 | 
			
		||||
=item $asa->i_description()
 | 
			
		||||
 | 
			
		||||
Overrides base interface description function in L<SNMP::Info> to return the
 | 
			
		||||
configured interface name instead of "Adaptive Security Appliance
 | 
			
		||||
'$configured interface name' interface".
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Global Methods imported from SNMP::Info::CiscoVTP
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::CDP
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::CiscoStats
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoStats/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::CiscoImage
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoImage/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::CiscoRTT
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoRTT/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::CiscoQOS
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoQOS/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::CiscoConfig
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::CiscoPower
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoPower/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::Layer3
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::Layer3::Cisco
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Cisco/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head1 TABLE METHODS
 | 
			
		||||
 | 
			
		||||
These are methods that return tables of information in the form of a
 | 
			
		||||
reference to a hash.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::CiscoVTP
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::CDP
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::CiscoStats
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoStats/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::CiscoImage
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoImage/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::CiscoRTT
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoRTT/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::CiscoQOS
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoQOS/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::Layer3::Cisco
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Cisco/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer3::Cisco;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::Cisco::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Entity;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS, %SNMP::Info::Layer3::MIBS, %SNMP::Info::Entity::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS, %SNMP::Info::CDP::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ use SNMP::Info::EDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
@@ -465,15 +465,15 @@ sub i_vlan_membership {
 | 
			
		||||
 | 
			
		||||
    # Some devices support Q-Bridge, if so short circuit and return it
 | 
			
		||||
    my $q_bridge = $extreme->SUPER::i_vlan_membership($partial);
 | 
			
		||||
    return $q_bridge if (keys $q_bridge);
 | 
			
		||||
    return $q_bridge if (ref {} eq ref $q_bridge and scalar keys %$q_bridge);
 | 
			
		||||
 | 
			
		||||
    # Next we try extremeVlanOpaqueTable
 | 
			
		||||
    my $xos = $extreme->_xos_i_vlan_membership($partial);
 | 
			
		||||
    return $xos if (keys $xos);
 | 
			
		||||
    return $xos if (ref {} eq ref $xos and scalar keys %$xos);
 | 
			
		||||
    
 | 
			
		||||
    # Try older ifStack method
 | 
			
		||||
    my $extremeware = $extreme->_extremeware_i_vlan_membership($partial);
 | 
			
		||||
    return $extremeware if (keys $extremeware);
 | 
			
		||||
    return $extremeware if (ref {} eq ref $extremeware and scalar keys %$extremeware);
 | 
			
		||||
    
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										271
									
								
								Info/Layer3/Lantronix.pm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										271
									
								
								Info/Layer3/Lantronix.pm
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,271 @@
 | 
			
		||||
# SNMP::Info::Layer3::Lantronix
 | 
			
		||||
# $Id$
 | 
			
		||||
#
 | 
			
		||||
# Copyright (c) 2012 J R Binks
 | 
			
		||||
#
 | 
			
		||||
# Redistribution and use in source and binary forms, with or without
 | 
			
		||||
# modification, are permitted provided that the following conditions are met:
 | 
			
		||||
#
 | 
			
		||||
#     * Redistributions of source code must retain the above copyright notice,
 | 
			
		||||
#       this list of conditions and the following disclaimer.
 | 
			
		||||
#     * Redistributions in binary form must reproduce the above copyright
 | 
			
		||||
#       notice, this list of conditions and the following disclaimer in the
 | 
			
		||||
#       documentation and/or other materials provided with the distribution.
 | 
			
		||||
#     * Neither the name of the University of California, Santa Cruz nor the
 | 
			
		||||
#       names of its contributors may be used to endorse or promote products
 | 
			
		||||
#       derived from this software without specific prior written permission.
 | 
			
		||||
#
 | 
			
		||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 | 
			
		||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | 
			
		||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | 
			
		||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 | 
			
		||||
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 | 
			
		||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 | 
			
		||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 | 
			
		||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 | 
			
		||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 | 
			
		||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 | 
			
		||||
# POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 | 
			
		||||
package SNMP::Info::Layer3::Lantronix;
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use Exporter;
 | 
			
		||||
use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::Lantronix::ISA = qw/
 | 
			
		||||
    SNMP::Info::Layer3
 | 
			
		||||
    Exporter
 | 
			
		||||
    /;
 | 
			
		||||
@SNMP::Info::Layer3::Lantronix::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
    'LANTRONIX-MIB'     => 'products',
 | 
			
		||||
    'LANTRONIX-SLC-MIB' => 'slcNetwork',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer3::GLOBALS,
 | 
			
		||||
    'slc_os_ver'       => 'slcSystemFWRev',
 | 
			
		||||
    'slc_serial'       => 'slcSystemSerialNo',
 | 
			
		||||
    'slc_model'        => 'slcSystemModel',
 | 
			
		||||
    'slc_psu_a_status' => 'slcDevPowerSupplyA',
 | 
			
		||||
    'slc_psu_b_status' => 'slcDevPowerSupplyB',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%FUNCS = ( %SNMP::Info::Layer3::FUNCS, );
 | 
			
		||||
 | 
			
		||||
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
 | 
			
		||||
 | 
			
		||||
# General notes:
 | 
			
		||||
#
 | 
			
		||||
# Products like the EDS have very minimal MIB support for the basics.
 | 
			
		||||
# Much information has to be derived from sysDescr string.
 | 
			
		||||
#
 | 
			
		||||
sub vendor {
 | 
			
		||||
    return 'lantronix';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub os {
 | 
			
		||||
    my $device = shift;
 | 
			
		||||
    my $descr = $device->description() || '';
 | 
			
		||||
    my $os;
 | 
			
		||||
 | 
			
		||||
    # On EDS, it is called the "Evolution OS"
 | 
			
		||||
    # Not sure what, if any, name it has a name on other products
 | 
			
		||||
    $os = 'EvolutionOS' if ( $descr =~ m/Lantronix EDS\w+ V([\d\.R]+)/ );
 | 
			
		||||
 | 
			
		||||
    return 'LantronixOS';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub os_ver {
 | 
			
		||||
    my $device = shift;
 | 
			
		||||
    my $descr = $device->description() || '';
 | 
			
		||||
    my $slc_os_ver = $device->slc_os_ver;
 | 
			
		||||
    my $os_ver;
 | 
			
		||||
 | 
			
		||||
    return $slc_os_ver if defined $slc_os_ver;
 | 
			
		||||
 | 
			
		||||
    return unless defined $descr;
 | 
			
		||||
 | 
			
		||||
    # EDS: "Lantronix EDS16PR V4.0.0.0R15 (1307.....X)"
 | 
			
		||||
    $os_ver = $1 if ( $descr =~ m/Lantronix EDS\w+ V([\d\.R]+)/ );
 | 
			
		||||
 | 
			
		||||
    return $os_ver;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub serial {
 | 
			
		||||
    my $device = shift;
 | 
			
		||||
    my $descr = $device->description() || '';
 | 
			
		||||
    my $slc_serial = $device->slc_serial;
 | 
			
		||||
    my $serial;
 | 
			
		||||
 | 
			
		||||
    return $slc_serial if defined $slc_serial;
 | 
			
		||||
 | 
			
		||||
    return unless defined $descr;
 | 
			
		||||
 | 
			
		||||
    # EDS: "Lantronix EDS16PR V4.0.0.0R15 (1307.....X)"
 | 
			
		||||
    $serial = $1 if ( $descr =~ m/Lantronix EDS\w+ V[\d\.R]+ \((\w+)\)/ );
 | 
			
		||||
 | 
			
		||||
    return $serial;
 | 
			
		||||
}       
 | 
			
		||||
 | 
			
		||||
sub model {
 | 
			
		||||
    my $device = shift;
 | 
			
		||||
    my $descr = $device->description() || '';
 | 
			
		||||
    my $slc_model = $device->slc_model;
 | 
			
		||||
    my $model;
 | 
			
		||||
 | 
			
		||||
    return $slc_model if defined $slc_model;
 | 
			
		||||
 | 
			
		||||
    return unless defined $descr;
 | 
			
		||||
 | 
			
		||||
    # EDS: "Lantronix EDS16PR V4.0.0.0R15 (1307.....X)"
 | 
			
		||||
    $model = $1 if ( $descr =~ m/Lantronix (EDS\w+)/ );
 | 
			
		||||
 | 
			
		||||
    return $model;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub ps1_status {
 | 
			
		||||
    my $device = shift;
 | 
			
		||||
    my $slc_psu_a_status = $device->slc_psu_a_status;
 | 
			
		||||
 | 
			
		||||
    return $slc_psu_a_status if defined $slc_psu_a_status;
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub ps2_status {
 | 
			
		||||
    my $device = shift;
 | 
			
		||||
    my $slc_psu_b_status = $device->slc_psu_b_status;
 | 
			
		||||
 | 
			
		||||
    return $slc_psu_b_status if defined $slc_psu_b_status;
 | 
			
		||||
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
1;
 | 
			
		||||
__END__
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
SNMP::Info::Layer3::Lantronix - SNMP Interface to Lantronix devices such as terminal servers
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
J R Binks
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
 # Let SNMP::Info determine the correct subclass for you. 
 | 
			
		||||
 my $device = new SNMP::Info(
 | 
			
		||||
                          AutoSpecify => 1,
 | 
			
		||||
                          Debug       => 1,
 | 
			
		||||
                          DestHost    => 'mydevice',
 | 
			
		||||
                          Community   => 'public',
 | 
			
		||||
                          Version     => 2
 | 
			
		||||
                        ) 
 | 
			
		||||
    or die "Can't connect to DestHost.\n";
 | 
			
		||||
 | 
			
		||||
 my $class      = $device->class();
 | 
			
		||||
 print "SNMP::Info determined this device to fall under subclass : $class\n";
 | 
			
		||||
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
Subclass for Lantronix devices such as terminal servers.
 | 
			
		||||
 | 
			
		||||
=head2 Inherited Classes
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Required MIBs
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item F<LANTRONIX-MIB>
 | 
			
		||||
 | 
			
		||||
=item F<LANTRONIX-SLC-MIB>
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Inherited Classes' MIBs
 | 
			
		||||
 | 
			
		||||
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
 | 
			
		||||
 | 
			
		||||
=head1 GLOBALS
 | 
			
		||||
 | 
			
		||||
These are methods that return scalar value from SNMP.
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $device->vendor()
 | 
			
		||||
 | 
			
		||||
Returns 'lantronix'.
 | 
			
		||||
 | 
			
		||||
=item $device->os()
 | 
			
		||||
 | 
			
		||||
Returns 'EvolutionOS' for EDS devices.
 | 
			
		||||
 | 
			
		||||
=item $device->os_ver()
 | 
			
		||||
 | 
			
		||||
Returns the software version.
 | 
			
		||||
 | 
			
		||||
=item $device->model()
 | 
			
		||||
 | 
			
		||||
Returns the model.
 | 
			
		||||
 | 
			
		||||
=item $device->serial()
 | 
			
		||||
 | 
			
		||||
Returns the serial number.
 | 
			
		||||
 | 
			
		||||
=item $device->ps1_status()
 | 
			
		||||
 | 
			
		||||
Power supply 1 status
 | 
			
		||||
 | 
			
		||||
=item $device->ps2_status()
 | 
			
		||||
 | 
			
		||||
Power supply 2 status
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::Layer3
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
 | 
			
		||||
 | 
			
		||||
=head1 TABLE ENTRIES
 | 
			
		||||
 | 
			
		||||
These are methods that return tables of information in the form of a reference
 | 
			
		||||
to a hash.
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=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
 | 
			
		||||
 | 
			
		||||
None at present.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::Layer3
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::Layer3::MIBS, );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::SONMP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::IEEE802dot11;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -61,7 +61,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
# NOTE: Order creates precedence
 | 
			
		||||
#       Example: v_name exists in Bridge.pm and CiscoVTP.pm
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS, %SNMP::Info::RapidCity::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::Layer3::MIBS, );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::MAU;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::Layer3::MIBS, 'TIMETRA-GLOBAL-MIB' => 'timetraReg', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer7;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer7::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use SNMP::Info::Layer7;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer7::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use SNMP::Info::Layer7;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer7::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'MAU-MIB' => 'mauMod' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'POWER-ETHERNET-MIB' => 'pethPsePortDetectionStatus' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'RAPID-CITY' => 'rapidCity', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.00_001';
 | 
			
		||||
$VERSION = '3.00_004';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'SYNOPTICS-ROOT-MIB'           => 'synoptics',
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user