ver_03
This commit is contained in:
89
Info/CDP.pm
89
Info/CDP.pm
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::CDP;
|
package SNMP::Info::CDP;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
@@ -73,11 +73,20 @@ $INIT = 0;
|
|||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
'c_capabilities' => \&SNMP::Info::munge_octet2hex,
|
'c_capabilities' => \&munge_caps,
|
||||||
'c_ip' => \&SNMP::Info::munge_ip
|
'c_ip' => \&SNMP::Info::munge_ip
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
sub munge_caps {
|
||||||
|
my $caps = shift;
|
||||||
|
return undef unless defined $caps;
|
||||||
|
|
||||||
|
my $bits = substr(unpack("B*",$caps),-7);
|
||||||
|
return $bits;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
sub hasCDP {
|
sub hasCDP {
|
||||||
my $cdp = shift;
|
my $cdp = shift;
|
||||||
|
|
||||||
@@ -103,8 +112,11 @@ SNMP::Info::CDP - Perl5 Interface to Cisco Discovery Protocol (CDP) using SNMP
|
|||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
CDP provides Layer 2 discovery of attached devices that also
|
SNMP::Info::CDP is a subclass of SNMP::Info that provides an object oriented
|
||||||
speak CDP, including switches, routers and hubs.
|
interface to CDP information through SNMP.
|
||||||
|
|
||||||
|
CDP is a Layer 2 protocol that supplies topology information of devices that also speak CDP,
|
||||||
|
mostly switches and routers.
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
@@ -112,38 +124,19 @@ Max Baker (C<max@warped.org>)
|
|||||||
|
|
||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
my $cdp = new SNMP::Info::CDP( DestHost => 'router' ,
|
my $info = new SNMP::Info ( DestHost => 'router',
|
||||||
Community => 'public' );
|
Community => 'public'
|
||||||
|
);
|
||||||
|
|
||||||
|
my $type = $info->device_type();
|
||||||
|
|
||||||
|
my $cdp = new $type ( DestHost => 'router',
|
||||||
|
Community => 'public);
|
||||||
|
|
||||||
$hascdp = $cdp->hasCDP() ? 'yes' : 'no';
|
$hascdp = $cdp->hasCDP() ? 'yes' : 'no';
|
||||||
@neighbor_ips = values( %{$cdp->ip()} );
|
@neighbor_ips = values( %{$cdp->c_ip()} );
|
||||||
|
|
||||||
=head1 CREATING AN OBJECT
|
See L<SNMP::Info> for all inherited methods.
|
||||||
|
|
||||||
=over
|
|
||||||
|
|
||||||
=item new SNMP::Info::CDP()
|
|
||||||
|
|
||||||
Arguments passed to new() are passed on to SNMP::Session::new()
|
|
||||||
|
|
||||||
|
|
||||||
my $cdp = new SNMP::Info::CDP(
|
|
||||||
DestHost => $host,
|
|
||||||
Community => 'public'
|
|
||||||
)
|
|
||||||
die "Couldn't connect.\n" unless defined $cdp;
|
|
||||||
|
|
||||||
=item $cdp->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $cdp->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$cdp->session($newsession);
|
|
||||||
|
|
||||||
=back
|
|
||||||
|
|
||||||
=head2 Your Device May Vary
|
=head2 Your Device May Vary
|
||||||
|
|
||||||
@@ -230,9 +223,33 @@ Returns remote platform id
|
|||||||
|
|
||||||
=item $cdp->c_capabilities()
|
=item $cdp->c_capabilities()
|
||||||
|
|
||||||
Returns Device Functional Capabilities bitmap.
|
Returns Device Functional Capabilities. Results are munged into an ascii
|
||||||
|
binary string, 7 digits long, MSB. Each digit represents a bit from the
|
||||||
|
table below.
|
||||||
|
|
||||||
Anyone know where I can get info on how to decode this?
|
From L<http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm#18843>:
|
||||||
|
|
||||||
|
(Bit) - Description
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item (0x40) - Provides level 1 functionality.
|
||||||
|
|
||||||
|
=item (0x20) - The bridge or switch does not forward IGMP Report packets on nonrouter ports.
|
||||||
|
|
||||||
|
=item (0x10) - Sends and receives packets for at least one network layer protocol. If the device is routing the protocol, this bit should not be set.
|
||||||
|
|
||||||
|
=item (0x08) - Performs level 2 switching. The difference between this bit and bit 0x02 is that a switch does not run the Spanning-Tree Protocol. This device is assumed to be deployed in a physical loop-free topology.
|
||||||
|
|
||||||
|
=item (0x04) - Performs level 2 source-route bridging. A source-route bridge would set both this bit and bit 0x02.
|
||||||
|
|
||||||
|
=item (0x02) - Performs level 2 transparent bridging.
|
||||||
|
|
||||||
|
=item (0x01) - Performs level 3 routing for at least one network layer protocol.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
Thanks to Martin Lorensen C<martin -at- lorensen.dk> for a pointer to this information.
|
||||||
|
|
||||||
(B<cdpCacheCapabilities>)
|
(B<cdpCacheCapabilities>)
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer2::Bay;
|
package SNMP::Info::Layer2::Bay;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
@@ -276,17 +276,6 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $bay;
|
die "Couldn't connect.\n" unless defined $bay;
|
||||||
|
|
||||||
=item $bay->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $bay->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$bay->session($newsession);
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer2::C1900;
|
package SNMP::Info::Layer2::C1900;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
@@ -192,17 +192,6 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $c1900;
|
die "Couldn't connect.\n" unless defined $c1900;
|
||||||
|
|
||||||
=item $c1900->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $c1900->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$c1900->session($newsession);
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# SNMP::Info::Layer2::C2900
|
# SNMP::Info::Layer2::C2900
|
||||||
# Max Baker <max@warped.org>
|
# Max Baker <max@warped.org>
|
||||||
#
|
#
|
||||||
# Copyright (c) 2002, Regents of the University of California
|
# Copyright (c) 2002,2003 Regents of the University of California
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer2::C2900;
|
package SNMP::Info::Layer2::C2900;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
use strict;
|
use strict;
|
||||||
|
|
||||||
@@ -174,17 +174,6 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $c2900;
|
die "Couldn't connect.\n" unless defined $c2900;
|
||||||
|
|
||||||
=item $c2900->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $c2900->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$c2900->session($newsession);
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer2::Catalyst;
|
package SNMP::Info::Layer2::Catalyst;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
@@ -289,17 +289,6 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $cat;
|
die "Couldn't connect.\n" unless defined $cat;
|
||||||
|
|
||||||
=item $cat->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $cat->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$cat->session($newsession);
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBAL Values
|
=head1 GLOBAL Values
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer2::HP;
|
package SNMP::Info::Layer2::HP;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
@@ -69,17 +69,17 @@ $INIT = 0;
|
|||||||
|
|
||||||
%MYFUNCS = (
|
%MYFUNCS = (
|
||||||
'i_type2' => 'ifType',
|
'i_type2' => 'ifType',
|
||||||
'e_map' => 'entAliasMappingIdentifier',
|
|
||||||
'e_name' => 'entPhysicalName',
|
|
||||||
'e_class' => 'entPhysicalClass',
|
'e_class' => 'entPhysicalClass',
|
||||||
'e_parent' => 'entPhysicalContainedIn',
|
|
||||||
'e_descr' => 'entPhysicalDescr',
|
'e_descr' => 'entPhysicalDescr',
|
||||||
'e_type' => 'entPhysicalVendorType',
|
|
||||||
'e_model' => 'entPhysicalModelName',
|
|
||||||
'e_hwver' => 'entPhysicalHardwareRev',
|
|
||||||
'e_swver' => 'entPhysicalSoftwareRev',
|
|
||||||
'e_fwver' => 'entPhysicalFirmwareRev',
|
'e_fwver' => 'entPhysicalFirmwareRev',
|
||||||
|
'e_hwver' => 'entPhysicalHardwareRev',
|
||||||
|
'e_map' => 'entAliasMappingIdentifier',
|
||||||
|
'e_model' => 'entPhysicalModelName',
|
||||||
|
'e_name' => 'entPhysicalName',
|
||||||
|
'e_parent' => 'entPhysicalContainedIn',
|
||||||
'e_serial' => 'entPhysicalSerialNum',
|
'e_serial' => 'entPhysicalSerialNum',
|
||||||
|
'e_swver' => 'entPhysicalSoftwareRev',
|
||||||
|
'e_type' => 'entPhysicalVendorType',
|
||||||
# RFC1271
|
# RFC1271
|
||||||
'l_descr' => 'logDescription'
|
'l_descr' => 'logDescription'
|
||||||
|
|
||||||
@@ -337,26 +337,6 @@ sub i_duplex_admin {
|
|||||||
return \%i_duplex_admin;
|
return \%i_duplex_admin;
|
||||||
}
|
}
|
||||||
|
|
||||||
#sub i_up_admin {
|
|
||||||
# my $hp = shift;
|
|
||||||
#
|
|
||||||
# my $mau_index = $hp->mau_index();
|
|
||||||
# my $mau_status = $hp->mau_status();
|
|
||||||
#
|
|
||||||
# my %i_up_admin;
|
|
||||||
# foreach my $mau_port (keys %$mau_status){
|
|
||||||
# my $iid = $mau_index->{$mau_port};
|
|
||||||
# next unless defined $iid;
|
|
||||||
# my $status = $mau_status->{$mau_port};
|
|
||||||
#
|
|
||||||
# $i_up_admin{$iid} = ($status =~ /shutdown/i) ?
|
|
||||||
# 'down' : 'up';
|
|
||||||
# }
|
|
||||||
#
|
|
||||||
# return \%i_up_admin;
|
|
||||||
#
|
|
||||||
#}
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
__END__
|
__END__
|
||||||
|
|
||||||
@@ -391,6 +371,8 @@ Max Baker (C<max@warped.org>)
|
|||||||
my $hp = new SNMP::Info::Layer2::HP(DestHost => 'router' ,
|
my $hp = new SNMP::Info::Layer2::HP(DestHost => 'router' ,
|
||||||
Community => 'public' );
|
Community => 'public' );
|
||||||
|
|
||||||
|
See SNMP::Info and SNMP::Info::Layer2 for all the inherited methods.
|
||||||
|
|
||||||
=head1 CREATING AN OBJECT
|
=head1 CREATING AN OBJECT
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -407,176 +389,126 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $hp;
|
die "Couldn't connect.\n" unless defined $hp;
|
||||||
|
|
||||||
=item $hp->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $hp->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$hp->session($newsession);
|
|
||||||
|
|
||||||
=item $hp->all(), $hp->load_all()
|
|
||||||
|
|
||||||
Runs each of the HP List methods and returns a hash reference.
|
|
||||||
|
|
||||||
$hp->all() will call $hp->load_all() once and then return cahced valued.
|
|
||||||
Use $hp->load_all() to reload from the device.
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 HP Global Configuration Values
|
=head1 HP Global Configuration Values
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item $hp->name()
|
=item $hp->log()
|
||||||
(B<sysName>)
|
|
||||||
|
|
||||||
=item $hp->ip()
|
Returns all the log entries from the switch's log that are not Link up or down messages.
|
||||||
(B<sysIpAddr>)
|
|
||||||
|
|
||||||
=item $hp->netmask()
|
|
||||||
(B<sysNetMask>)
|
|
||||||
|
|
||||||
=item $hp->broadcast()
|
|
||||||
(B<sysBroadcast>)
|
|
||||||
|
|
||||||
=item $hp->location()
|
|
||||||
(B<sysLocation>)
|
|
||||||
|
|
||||||
=item $hp->contact()
|
|
||||||
(B<sysContact>)
|
|
||||||
|
|
||||||
=item $hp->description()
|
|
||||||
(B<sysDescr>)
|
|
||||||
|
|
||||||
=item $hp->layers()
|
|
||||||
(B<sysServices>)
|
|
||||||
|
|
||||||
=item $hp->serial()
|
|
||||||
(B<chassisSerialNumberString>)
|
|
||||||
|
|
||||||
=item $hp->model()
|
=item $hp->model()
|
||||||
(B<chassisModel>)
|
|
||||||
|
|
||||||
=item $hp->ps1_type()
|
Returns the model number of the HP Switch. Will translate between the HP Part number and
|
||||||
(B<chassisPs1Type>)
|
the common model number with this map :
|
||||||
|
|
||||||
=item $hp->ps2_type()
|
%MODEL_MAP = (
|
||||||
(B<chassisPs2Type>)
|
'J4812A' => '2512',
|
||||||
|
'J4819A' => '5308XL',
|
||||||
|
'J4813A' => '2524',
|
||||||
|
'J4805A' => '5304XL',
|
||||||
|
'J4815A' => '3324XL',
|
||||||
|
'J4865A' => '4108GL',
|
||||||
|
'J4887A' => '4104GL',
|
||||||
|
'J4874A' => '9315',
|
||||||
|
);
|
||||||
|
|
||||||
=item $hp->ps1_status()
|
=item $hp->serial()
|
||||||
(B<chassisPs1Status>)
|
|
||||||
|
|
||||||
=item $hp->ps2_status()
|
Returns serial number if available through SNMP
|
||||||
(B<chassisPs2Status>)
|
|
||||||
|
|
||||||
=item $hp->slots()
|
=item $hp->slots()
|
||||||
(B<chassisNumSlots>)
|
|
||||||
|
|
||||||
=item $hp->fan()
|
Returns number of entries in $hp->e_name that have 'slot' in them.
|
||||||
(B<chassisFanStatus>)
|
|
||||||
|
=item $hp->vendor()
|
||||||
|
|
||||||
|
hp
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 CATALYST TABLE ENTRIES
|
=head1 HP Table Values
|
||||||
|
|
||||||
=head2 Module table
|
=head2 Entity Table
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item $hp->m_type(), $hp->load_m_type()
|
=item $hp->e_class()
|
||||||
(B<moduleType>)
|
|
||||||
|
|
||||||
=item $hp->m_model(), $hp->load_m_model()
|
(C<entPhysicalClass>)
|
||||||
(B<moduleModel>)
|
|
||||||
|
|
||||||
=item $hp->m_serial(), $hp->load_m_serial()
|
=item $hp->e_descr()
|
||||||
(B<moduleSerialNumber>)
|
|
||||||
|
|
||||||
=item $hp->m_status(), $hp->load_m_status()
|
(C<entPhysicalClass>)
|
||||||
(B<moduleStatus>)
|
|
||||||
|
|
||||||
=item $hp->m_name(), $hp->load_m_name()
|
=item $hp->e_fwver()
|
||||||
(B<moduleName>)
|
|
||||||
|
|
||||||
=item $hp->m_ports(), $hp->load_m_ports()
|
(C<entPhysicalFirmwareRev>)
|
||||||
(B<moduleNumPorts>)
|
|
||||||
|
|
||||||
=item $hp->m_ports_status(), $hp->load_m_ports_status()
|
=item $hp->e_hwver()
|
||||||
Returns a list of space separated status strings for the ports.
|
|
||||||
To see the status of port 4 :
|
|
||||||
@ports_status = split(' ', $hp->m_ports_status() );
|
|
||||||
$port4 = $ports_status[3];
|
|
||||||
|
|
||||||
(B<modulePortStatus>)
|
(C<entPhysicalHardwareRev>)
|
||||||
|
|
||||||
=item $hp->m_ports_hwver(), $hp->load_m_ports_hwver()
|
=item $hp->e_map()
|
||||||
(B<moduleHwVersion>)
|
|
||||||
|
|
||||||
=item $hp->m_ports_fwver(), $hp->load_m_ports_fwver()
|
(C<entAliasMappingIdentifier>)
|
||||||
(B<moduleFwVersion>)
|
|
||||||
|
|
||||||
=item $hp->m_ports_swver(), $hp->load_m_ports_swver()
|
=item $hp->e_model()
|
||||||
(B<moduleSwVersion>)
|
|
||||||
|
|
||||||
=item $hp->m_ports_ip(), $hp->load_m_ports_ip()
|
(C<entPhysicalModelName>)
|
||||||
(B<moduleIPAddress>)
|
|
||||||
|
|
||||||
=item $hp->m_ports_sub1(), $hp->load_m_ports_sub1()
|
=item $hp->e_name()
|
||||||
(B<moduleSubType>)
|
|
||||||
|
|
||||||
=item $hp->m_ports_sub2(), $hp->load_m_ports_sub2()
|
(C<entPhysicalName>)
|
||||||
(B<moduleSubType2>)
|
|
||||||
|
|
||||||
|
=item $hp->e_parent()
|
||||||
|
|
||||||
|
(C<entPhysicalContainedIn>)
|
||||||
|
|
||||||
|
=item $hp->e_port()
|
||||||
|
|
||||||
|
Maps EntityTable entries to the Interface Table (IfTable) using
|
||||||
|
$hp->e_map()
|
||||||
|
|
||||||
|
=item $hp->e_serial()
|
||||||
|
|
||||||
|
(C<entPhysicalSerialNum>)
|
||||||
|
|
||||||
|
=item $hp->e_swver()
|
||||||
|
|
||||||
|
(C<entPhysicalSoftwareRev>)
|
||||||
|
|
||||||
|
=item $hp->e_type()
|
||||||
|
|
||||||
|
(C<entPhysicalVendorType>)
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Port Entry Table
|
=head2 Overriden Methods from SNMP::Info::Layer2
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item $hp->p_name(), $hp->load_p_name()
|
=item $hp->interfaces()
|
||||||
(B<portName>)
|
|
||||||
|
|
||||||
=item $hp->p_type(), $hp->load_p_type()
|
=item $hp->i_duplex()
|
||||||
(B<portType>)
|
|
||||||
|
|
||||||
=item $hp->p_status(), $hp->load_p_status()
|
Maps $hp->mau_index() with $hp->mau_link(). Methods inherited from
|
||||||
(B<portOperStatus>)
|
SNMP::Info::MAU.
|
||||||
|
|
||||||
=item $hp->p_status2(), $hp->load_p_status2()
|
=item $hp->i_duplex_admin()
|
||||||
(B<portAdditionalStatus>)
|
|
||||||
|
|
||||||
=item $hp->p_speed(), $hp->load_p_speed()
|
Maps $hp->mau_index() with $hp->mau_auto(), $hp->mau_autostat(),
|
||||||
(B<portAdminSpeed>)
|
$hp->typeadmin(), and $mau_autosent(). Methods inherited from
|
||||||
|
SNMP::Info::MAU.
|
||||||
|
|
||||||
=item $hp->p_duplex(), $hp->load_p_duplex()
|
=item $hp->i_name()
|
||||||
(B<portDuplex>)
|
|
||||||
|
|
||||||
=item $hp->p_port(), $hp->load_p_port()
|
Crosses i_name() with $hp->e_name() using $hp->e_port() and i_alias()
|
||||||
(B<portIfIndex>)
|
|
||||||
|
=item $hp->i_type()
|
||||||
=back
|
|
||||||
|
Crosses i_type() with $hp->e_descr() using $hp->e_port()
|
||||||
=head2 VLAN Entry Table
|
|
||||||
|
|
||||||
ftp://ftp.cisco.com/pub/mibs/supportlists/wsc5000/wsc5000-communityIndexing.html
|
|
||||||
|
|
||||||
=over
|
|
||||||
|
|
||||||
=item $hp->v_state(), $hp->load_v_state()
|
|
||||||
(B<vtpVlanState>)
|
|
||||||
|
|
||||||
=item $hp->v_type(), $hp->load_v_type()
|
|
||||||
(B<vtpVlanType>)
|
|
||||||
|
|
||||||
=item $hp->v_name(), $hp->load_v_name()
|
|
||||||
(B<vtpVlanName>)
|
|
||||||
|
|
||||||
=item $hp->v_mtu(), $hp->load_v_mtu()
|
|
||||||
(B<vtpVlanMtu>)
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer3::Aironet;
|
package SNMP::Info::Layer3::Aironet;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
@@ -221,17 +221,6 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $aironet;
|
die "Couldn't connect.\n" unless defined $aironet;
|
||||||
|
|
||||||
=item $aironet->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $aironet->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$aironet->session($newsession);
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 Globals
|
=head1 Globals
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer3::C3550;
|
package SNMP::Info::Layer3::C3550;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
@@ -217,6 +217,9 @@ Max Baker (C<max@warped.org>)
|
|||||||
my $c3550 = new SNMP::Info::Layer3::C3550(DestHost => 'router' ,
|
my $c3550 = new SNMP::Info::Layer3::C3550(DestHost => 'router' ,
|
||||||
Community => 'public' );
|
Community => 'public' );
|
||||||
|
|
||||||
|
|
||||||
|
See L<SNMP::Info> and L<SNMP::Info::Layer3> for all the inherited methods.
|
||||||
|
|
||||||
=head1 CREATING AN OBJECT
|
=head1 CREATING AN OBJECT
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -233,17 +236,6 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $c3550;
|
die "Couldn't connect.\n" unless defined $c3550;
|
||||||
|
|
||||||
=item $c3550->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $c3550->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$c3550->session($newsession);
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBAL Values
|
=head1 GLOBAL Values
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
package SNMP::Info::Layer3::Foundry;
|
package SNMP::Info::Layer3::Foundry;
|
||||||
$VERSION = 0.2;
|
$VERSION = 0.3;
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
@@ -242,6 +242,8 @@ Max Baker (C<max@warped.org>)
|
|||||||
my $foundry = new SNMP::Info::Layer3::Foundry(DestHost => 'switch' ,
|
my $foundry = new SNMP::Info::Layer3::Foundry(DestHost => 'switch' ,
|
||||||
Community => 'public' );
|
Community => 'public' );
|
||||||
|
|
||||||
|
See L<SNMP::Info> and L<SNMP::Info::Layer3> for all inherited methods.
|
||||||
|
|
||||||
=head1 CREATING AN OBJECT
|
=head1 CREATING AN OBJECT
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -258,17 +260,6 @@ Arguments passed to new() are passed on to SNMP::Session::new()
|
|||||||
)
|
)
|
||||||
die "Couldn't connect.\n" unless defined $foundry;
|
die "Couldn't connect.\n" unless defined $foundry;
|
||||||
|
|
||||||
=item $foundry->session()
|
|
||||||
|
|
||||||
Sets or returns the SNMP::Session object
|
|
||||||
|
|
||||||
# Get
|
|
||||||
my $sess = $foundry->session();
|
|
||||||
|
|
||||||
# Set
|
|
||||||
my $newsession = new SNMP::Session(...);
|
|
||||||
$foundry->session($newsession);
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBAL VALUES
|
=head1 GLOBAL VALUES
|
||||||
|
|||||||
Reference in New Issue
Block a user