diff --git a/Info/Layer3/C3550.pm b/Info/Layer3/C3550.pm index f39afecd..7cc00017 100644 --- a/Info/Layer3/C3550.pm +++ b/Info/Layer3/C3550.pm @@ -32,32 +32,17 @@ package SNMP::Info::Layer3::C3550; use strict; +use warnings; use Exporter; -use SNMP::Info::CiscoVTP; use SNMP::Info::CiscoStack; -use SNMP::Info::LLDP; -use SNMP::Info::CDP; -use SNMP::Info::CiscoConfig; -use SNMP::Info::CiscoStats; -use SNMP::Info::CiscoPortSecurity; -use SNMP::Info::CiscoPower; -use SNMP::Info::Layer3; -use SNMP::Info::CiscoStpExtensions; +use SNMP::Info::Layer3::CiscoSwitch; use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/; # NOTE : Top-most items gets precedence for @ISA @SNMP::Info::Layer3::C3550::ISA = qw/ - SNMP::Info::CiscoVTP - SNMP::Info::CiscoStpExtensions SNMP::Info::CiscoStack - SNMP::Info::LLDP - SNMP::Info::CDP - SNMP::Info::CiscoStats - SNMP::Info::CiscoPortSecurity - SNMP::Info::CiscoConfig - SNMP::Info::CiscoPower - SNMP::Info::Layer3 + SNMP::Info::Layer3::CiscoSwitch Exporter/; @SNMP::Info::Layer3::C3550::EXPORT_OK = qw//; @@ -70,45 +55,23 @@ $VERSION = '3.15'; # So we want CiscoVTP to come last to get the right one. # The @ISA order should match these orders. -%MIBS = ( - %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoPower::MIBS, - %SNMP::Info::CiscoConfig::MIBS, %SNMP::Info::CiscoPortSecurity::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::LLDP::MIBS, %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoStack::MIBS, %SNMP::Info::CiscoStpExtensions::MIBS, - %SNMP::Info::CiscoVTP::MIBS, -); - +%MIBS + = ( %SNMP::Info::Layer3::CiscoSwitch::MIBS, %SNMP::Info::CiscoStack::MIBS, + ); %GLOBALS = ( - %SNMP::Info::Layer3::GLOBALS, - %SNMP::Info::CiscoPower::GLOBALS, - %SNMP::Info::CiscoConfig::GLOBALS, - %SNMP::Info::CiscoPortSecurity::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, - %SNMP::Info::LLDP::GLOBALS, - %SNMP::Info::CDP::GLOBALS, + %SNMP::Info::Layer3::CiscoSwitch::GLOBALS, %SNMP::Info::CiscoStack::GLOBALS, - %SNMP::Info::CiscoStpExtensions::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, ); %FUNCS = ( - %SNMP::Info::Layer3::FUNCS, %SNMP::Info::CiscoPower::FUNCS, - %SNMP::Info::CiscoConfig::FUNCS, %SNMP::Info::CiscoPortSecurity::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, - %SNMP::Info::LLDP::FUNCS, %SNMP::Info::CDP::FUNCS, - %SNMP::Info::CiscoStack::FUNCS, %SNMP::Info::CiscoStpExtensions::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, + %SNMP::Info::Layer3::CiscoSwitch::FUNCS, + %SNMP::Info::CiscoStack::FUNCS, ); %MUNGE = ( - %SNMP::Info::Layer3::MUNGE, %SNMP::Info::CiscoPower::MUNGE, - %SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoPortSecurity::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, - %SNMP::Info::LLDP::MUNGE, %SNMP::Info::CDP::MUNGE, - %SNMP::Info::CiscoStack::MUNGE, %SNMP::Info::CiscoStpExtensions::MUNGE, - %SNMP::Info::CiscoVTP::MUNGE, + %SNMP::Info::Layer3::CiscoSwitch::MUNGE, + %SNMP::Info::CiscoStack::MUNGE, ); sub vendor { @@ -229,10 +192,6 @@ sub set_i_duplex_admin { } } -sub cisco_comm_indexing { - return 1; -} - 1; __END__ @@ -278,23 +237,9 @@ after determining a more specific class using the method above. =over -=item SNMP::Info::Layer3 - -=item SNMP::Info::CiscoSTPExtensions - -=item SNMP::Info::CiscoPower - -=item SNMP::Info::CiscoPortSecurity - -=item SNMP::Info::CiscoVTP - =item SNMP::Info::CiscoStack -=item SNMP::Info::CDP - -=item SNMP::Info::LLDP - -=item SNMP::Info::CiscoStats +=item SNMP::Info::Layer3::CiscoSwitch =back @@ -304,24 +249,10 @@ after determining a more specific class using the method above. =item Inherited Classes' MIBs -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB -requirements. - -See L for its own MIB requirements. - See L for its own MIB requirements. -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. +See L for its own MIB +requirements. =back @@ -346,47 +277,15 @@ Will take the translated model number and try to format it better. Tries to cull the number of ports from the model number. -=item $c3550->cisco_comm_indexing() - -Returns 1. Use vlan indexing. - =back -=head2 Globals imported from SNMP::Info::Layer3 - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoStpExtensions - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoPower - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for details. - -=head2 Global Methods imported from SNMP::Info::CiscoVTP - -See documentation in L for details. - -=head2 Global Methods imported from SNMP::Info::CiscoStack +=head2 Globals imported from SNMP::Info::CiscoStack See documentation in L for details. -=head2 Globals imported from SNMP::Info::CDP +=head2 Globals imported from SNMP::Info::Layer3::CiscoSwitch -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::LLDP - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoStats - -See documentation in L for details. +See documentation in L for details. =head1 TABLE METHODS @@ -433,41 +332,13 @@ Crosses $c3550->p_port() with $c3550->p_duplex() to utilize port C. =back -=head2 Table Methods imported from SNMP::Info::Layer3 - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoStpExtensions - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoPower - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for -details. - -=head2 Table Methods imported from SNMP::Info::CiscoVTP - -See documentation in L for details. - =head2 Table Methods imported from SNMP::Info::CiscoStack See documentation in L for details. -=head2 Table Methods imported from SNMP::Info::CDP +=head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::LLDP - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoStats - -See documentation in L for details. +See documentation in L for +details. =cut diff --git a/Info/Layer3/C4000.pm b/Info/Layer3/C4000.pm index 382e1ba8..25ba5125 100644 --- a/Info/Layer3/C4000.pm +++ b/Info/Layer3/C4000.pm @@ -31,20 +31,15 @@ package SNMP::Info::Layer3::C4000; use strict; +use warnings; use Exporter; -use SNMP::Info::CiscoVTP; -use SNMP::Info::CDP; -use SNMP::Info::CiscoStats; -use SNMP::Info::CiscoPortSecurity; -use SNMP::Info::CiscoConfig; +use SNMP::Info::Layer3::CiscoSwitch; use SNMP::Info::MAU; -use SNMP::Info::Layer3; -@SNMP::Info::Layer3::C4000::ISA = qw/SNMP::Info::CiscoVTP SNMP::Info::CDP - SNMP::Info::CiscoStats - SNMP::Info::CiscoPortSecurity - SNMP::Info::CiscoConfig SNMP::Info::MAU - SNMP::Info::Layer3 Exporter/; +@SNMP::Info::Layer3::C4000::ISA = qw/ + SNMP::Info::Layer3::CiscoSwitch + SNMP::Info::MAU + Exporter/; @SNMP::Info::Layer3::C4000::EXPORT_OK = qw//; use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/; @@ -52,24 +47,14 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/; $VERSION = '3.15'; %MIBS = ( - %SNMP::Info::Layer3::MIBS, %SNMP::Info::MAU::MIBS, - %SNMP::Info::CiscoConfig::MIBS, - %SNMP::Info::CiscoPortSecurity::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::CiscoVTP::MIBS, + %SNMP::Info::Layer3::CiscoSwitch::MIBS, 'CISCO-ENVMON-MIB' => 'ciscoEnvMonMIB', ); %GLOBALS = ( - %SNMP::Info::Layer3::GLOBALS, %SNMP::Info::MAU::GLOBALS, - %SNMP::Info::CiscoConfig::GLOBALS, - %SNMP::Info::CiscoPortSecurity::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, + %SNMP::Info::Layer3::CiscoSwitch::GLOBALS, 'ps1_type' => 'ciscoEnvMonSupplyStatusDescr.1', 'ps1_status' => 'ciscoEnvMonSupplyState.1', 'ps2_type' => 'ciscoEnvMonSupplyStatusDescr.2', @@ -77,23 +62,14 @@ $VERSION = '3.15'; ); %FUNCS = ( - %SNMP::Info::Layer3::FUNCS, %SNMP::Info::MAU::FUNCS, - %SNMP::Info::CiscoConfig::FUNCS, - %SNMP::Info::CiscoPortSecurity::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, - %SNMP::Info::CDP::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, + %SNMP::Info::Layer3::CiscoSwitch::FUNCS, 'fan_state' => 'ciscoEnvMonFanState', 'fan_descr' => 'ciscoEnvMonFanStatusDescr', ); -%MUNGE = ( - %SNMP::Info::Layer3::MUNGE, %SNMP::Info::MAU::MUNGE, - %SNMP::Info::CiscoConfig::MUNGE, %SNMP::Info::CiscoPortSecurity::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, - %SNMP::Info::CDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE, -); +%MUNGE + = ( %SNMP::Info::MAU::MUNGE, %SNMP::Info::Layer3::CiscoSwitch::MUNGE, ); # Override Inheritance for these specific methods # use MAU-MIB for admin. duplex and admin. speed @@ -107,7 +83,6 @@ $VERSION = '3.15'; *SNMP::Info::Layer3::C4000::set_i_speed_admin = \&SNMP::Info::MAU::mau_set_i_speed_admin; - sub fan { my $c4000 = shift; my $fan_state = $c4000->fan_state(); @@ -122,8 +97,6 @@ sub fan { return $ret; } -sub cisco_comm_indexing { return 1; } - 1; __END__ @@ -165,20 +138,10 @@ after determining a more specific class using the method above. =over -=item SNMP::Info::CiscoVTP - -=item SNMP::Info::CDP - -=item SNMP::Info::CiscoStats - -=item SNMP::Info::CiscoPortSecurity - -=item SNMP::Info::CiscoConfig +=item SNMP::Info::Layer3::CiscoSwitch =item SNMP::Info::MAU -=item SNMP::Info::Layer3 - =back =head2 Required MIBs @@ -187,21 +150,11 @@ after determining a more specific class using the method above. =item Inherited Classes' MIBs -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB +See L for its own MIB requirements. -See L for its own MIB requirements. - See L for its own MIB requirements. -See L for its own MIB requirements. - =back =head1 GLOBALS @@ -212,44 +165,20 @@ These are methods that return scalar value from SNMP =over -=item $c4000->cisco_comm_indexing() - -Returns 1. Use vlan indexing. - =item $c4000->fan() Returns fan status =back -=head2 Global Methods imported from SNMP::Info::CiscoVTP +=head2 Globals imported from SNMP::Info::Layer3::CiscoSwitch -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CDP - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoStats - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoConfig - -See documentation in L for details. +See documentation in L for details. =head2 Globals imported from SNMP::Info::MAU See documentation in L for details. -=head2 Globals imported from SNMP::Info::Layer3 - -See documentation in L for details. - =head1 TABLE METHODS These are methods that return tables of information in the form of a reference @@ -289,33 +218,13 @@ Duplex choices are 'auto', 'half', 'full'. =back -=head2 Table Methods imported from SNMP::Info::CiscoVTP +=head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CDP - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoStats - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for +See documentation in L for details. -=head2 Table Methods imported from SNMP::Info::CiscoConfig - -See documentation in L for details. - =head2 Table Methods imported from SNMP::Info::MAU See documentation in L for details. -=head2 Table Methods imported from SNMP::Info::Layer3 - -See documentation in L for details. - =cut diff --git a/Info/Layer3/C6500.pm b/Info/Layer3/C6500.pm index a2866db1..b65abde6 100644 --- a/Info/Layer3/C6500.pm +++ b/Info/Layer3/C6500.pm @@ -31,35 +31,18 @@ package SNMP::Info::Layer3::C6500; use strict; +use warnings; use Exporter; use SNMP::Info::CiscoStack; -use SNMP::Info::LLDP; -use SNMP::Info::CDP; -use SNMP::Info::CiscoStats; -use SNMP::Info::CiscoPortSecurity; -use SNMP::Info::CiscoConfig; -use SNMP::Info::CiscoPower; -use SNMP::Info::Layer3; -use SNMP::Info::CiscoStpExtensions; -use SNMP::Info::CiscoVTP; -use SNMP::Info::CiscoAgg; +use SNMP::Info::Layer3::CiscoSwitch; use SNMP::Info::MAU; use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/; # NOTE : Top-most items gets precedence for @ISA @SNMP::Info::Layer3::C6500::ISA = qw/ - SNMP::Info::CiscoAgg - SNMP::Info::CiscoVTP - SNMP::Info::CiscoStpExtensions SNMP::Info::CiscoStack - SNMP::Info::LLDP - SNMP::Info::CDP - SNMP::Info::CiscoStats - SNMP::Info::CiscoPortSecurity - SNMP::Info::CiscoConfig - SNMP::Info::CiscoPower - SNMP::Info::Layer3 + SNMP::Info::Layer3::CiscoSwitch SNMP::Info::MAU Exporter /; @@ -78,58 +61,33 @@ $VERSION = '3.15'; %MIBS = ( %SNMP::Info::MAU::MIBS, - %SNMP::Info::Layer3::MIBS, - %SNMP::Info::CiscoPower::MIBS, - %SNMP::Info::CiscoConfig::MIBS, - %SNMP::Info::CiscoPortSecurity::MIBS, - %SNMP::Info::CiscoStats::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::LLDP::MIBS, + %SNMP::Info::Layer3::CiscoSwitch::MIBS, %SNMP::Info::CiscoStack::MIBS, - %SNMP::Info::CiscoStpExtensions::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - %SNMP::Info::CiscoAgg::MIBS, 'CISCO-VIRTUAL-SWITCH-MIB' => 'cvsSwitchMode', ); %GLOBALS = ( %SNMP::Info::MAU::GLOBALS, - %SNMP::Info::Layer3::GLOBALS, - %SNMP::Info::CiscoPower::GLOBALS, - %SNMP::Info::CiscoConfig::GLOBALS, - %SNMP::Info::CiscoPortSecurity::GLOBALS, - %SNMP::Info::CiscoStats::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::LLDP::GLOBALS, + %SNMP::Info::Layer3::CiscoSwitch::GLOBALS, %SNMP::Info::CiscoStack::GLOBALS, - %SNMP::Info::CiscoStpExtensions::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, ); %FUNCS = ( - %SNMP::Info::MAU::FUNCS, %SNMP::Info::Layer3::FUNCS, - %SNMP::Info::CiscoPower::FUNCS, %SNMP::Info::CiscoConfig::FUNCS, - %SNMP::Info::CiscoPortSecurity::FUNCS, - %SNMP::Info::CiscoStats::FUNCS, %SNMP::Info::CDP::FUNCS, - %SNMP::Info::LLDP::FUNCS, %SNMP::Info::CiscoStack::FUNCS, - %SNMP::Info::CiscoStpExtensions::FUNCS, %SNMP::Info::CiscoVTP::FUNCS, + %SNMP::Info::MAU::FUNCS, + %SNMP::Info::Layer3::CiscoSwitch::FUNCS, + %SNMP::Info::CiscoStack::FUNCS, ); %MUNGE = ( - %SNMP::Info::MAU::MUNGE, %SNMP::Info::Layer3::MUNGE, - %SNMP::Info::CiscoPower::MUNGE, %SNMP::Info::CiscoConfig::MUNGE, - %SNMP::Info::CiscoPortSecurity::MUNGE, - %SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE, - %SNMP::Info::LLDP::MUNGE, %SNMP::Info::CiscoStack::MUNGE, - %SNMP::Info::CiscoStpExtensions::MUNGE, %SNMP::Info::CiscoVTP::MUNGE, + %SNMP::Info::MAU::MUNGE, + %SNMP::Info::Layer3::CiscoSwitch::MUNGE, + %SNMP::Info::CiscoStack::MUNGE, ); sub vendor { return 'cisco'; } -sub cisco_comm_indexing { return 1; } - sub serial { my $c6500 = shift; @@ -325,25 +283,11 @@ after determining a more specific class using the method above. =over -=item SNMP::Info::CiscoAgg - -=item SNMP::Info::CiscoVTP - =item SNMP::Info::CiscoStack -=item SNMP::Info::CDP +=item SNMP::Info::Layer3::CiscoSwitch -=item SNMP::Info::CiscoStats - -=item SNMP::Info::CiscoPortSecurity - -=item SNMP::Info::CiscoConfig - -=item SNMP::Info::CiscoPower - -=item SNMP::Info::Layer3 - -=item SNMP::Info::CiscoStpExtensions +=item SNMP::Info::MAU =back @@ -353,26 +297,12 @@ after determining a more specific class using the method above. =item Inherited Classes' MIBs -See L for its own MIB requirements. - -See L for its own MIB requirements. - See L for its own MIB requirements. -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB +See L for its own MIB requirements. -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. +See L for its own MIB requirements. =back @@ -386,10 +316,6 @@ These are methods that return scalar value from SNMP Returns 'cisco' -=item $c6500->cisco_comm_indexing() - -Returns 1. Use vlan indexing. - =item $c6500->cvsSwitchMode() Returns the Switch status: multiNode or standalone. @@ -404,41 +330,17 @@ Returns serial number of unit (falls back to C). =back -=head2 Global Methods imported from SNMP::Info::CiscoVTP - -See documentation in L for details. - -=head2 Global Methods imported from SNMP::Info::CiscoStack +=head2 Globals imported from SNMP::Info::CiscoStack See documentation in L for details. -=head2 Globals imported from SNMP::Info::CDP +=head2 Globals imported from SNMP::Info::Layer3::CiscoSwitch -See documentation in L for details. +See documentation in L for details. -=head2 Globals imported from SNMP::Info::CiscoStats +=head2 Globals imported from SNMP::Info::MAU -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoConfig - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoPower - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::Layer3 - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoStpExtensions - -See documentation in L for details. +See documentation in L for details. =head1 TABLE METHODS @@ -493,43 +395,19 @@ Crosses $c6500->p_port() with $c6500->p_speed() to utilize port C. =back -=head2 Table Methods imported from SNMP::Info::CiscoVTP - -See documentation in L for details. - =head2 Table Methods imported from SNMP::Info::CiscoStack See documentation in L for details. -=head2 Table Methods imported from SNMP::Info::CDP -See documentation in L for details. +=head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch -=head2 Table Methods imported from SNMP::Info::CiscoStats - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for +See documentation in L for details. -=head2 Table Methods imported from SNMP::Info::CiscoConfig -See documentation in L for details. +=head2 Table Methods imported from SNMP::Info::MAU -=head2 Table Methods imported from SNMP::Info::CiscoPower - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoStpExtensions - -See documentation in L for -details. - -=head2 Table Methods imported from SNMP::Info::Layer3 - -See documentation in L for details. +See documentation in L for details. =cut - diff --git a/Info/Layer3/Nexus.pm b/Info/Layer3/Nexus.pm index c7557b64..40f941a1 100644 --- a/Info/Layer3/Nexus.pm +++ b/Info/Layer3/Nexus.pm @@ -1,6 +1,6 @@ # SNMP::Info::Layer3::Nexus # -# Copyright (c) 2012 Eric Miller +# Copyright (c) 2014 Eric Miller # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -30,30 +30,17 @@ package SNMP::Info::Layer3::Nexus; use strict; +use warnings; use Exporter; -use SNMP::Info::LLDP; -use SNMP::Info::CDP; -use SNMP::Info::CiscoPortSecurity; -use SNMP::Info::CiscoConfig; -use SNMP::Info::CiscoPower; -use SNMP::Info::Layer3; -use SNMP::Info::CiscoStpExtensions; -use SNMP::Info::CiscoVTP; +use SNMP::Info::Layer3::CiscoSwitch; use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/; # NOTE : Top-most items gets precedence for @ISA @SNMP::Info::Layer3::Nexus::ISA = qw/ - SNMP::Info::CiscoVTP - SNMP::Info::CiscoStpExtensions - SNMP::Info::LLDP - SNMP::Info::CDP - SNMP::Info::CiscoPortSecurity - SNMP::Info::CiscoConfig - SNMP::Info::CiscoPower - SNMP::Info::Layer3 - Exporter -/; + SNMP::Info::Layer3::CiscoSwitch + Exporter + /; @SNMP::Info::Layer3::Nexus::EXPORT_OK = qw//; @@ -68,171 +55,132 @@ $VERSION = '3.15'; # The @ISA order should be reverse of these orders. %MIBS = ( - %SNMP::Info::Layer3::MIBS, - %SNMP::Info::CiscoPower::MIBS, - %SNMP::Info::CiscoConfig::MIBS, - %SNMP::Info::CiscoPortSecurity::MIBS, - %SNMP::Info::CDP::MIBS, - %SNMP::Info::LLDP::MIBS, - %SNMP::Info::CiscoStpExtensions::MIBS, - %SNMP::Info::CiscoVTP::MIBS, - 'CISCO-ENTITY-VENDORTYPE-OID-MIB' => 'cevMIBObjects', + %SNMP::Info::Layer3::CiscoSwitch::MIBS, + 'CISCO-ENTITY-VENDORTYPE-OID-MIB' => 'cevMIBObjects', ); %GLOBALS = ( - %SNMP::Info::Layer3::GLOBALS, - %SNMP::Info::CiscoPower::GLOBALS, - %SNMP::Info::CiscoConfig::GLOBALS, - %SNMP::Info::CiscoPortSecurity::GLOBALS, - %SNMP::Info::CDP::GLOBALS, - %SNMP::Info::LLDP::GLOBALS, - %SNMP::Info::CiscoStpExtensions::GLOBALS, - %SNMP::Info::CiscoVTP::GLOBALS, - 'mac' => 'dot1dBaseBridgeAddress', + %SNMP::Info::Layer3::CiscoSwitch::GLOBALS, + 'mac' => 'dot1dBaseBridgeAddress', ); -%FUNCS = ( - %SNMP::Info::Layer3::FUNCS, - %SNMP::Info::CiscoPower::FUNCS, - %SNMP::Info::CiscoConfig::FUNCS, - %SNMP::Info::CiscoPortSecurity::FUNCS, - %SNMP::Info::CDP::FUNCS, - %SNMP::Info::LLDP::FUNCS, - %SNMP::Info::CiscoStpExtensions::FUNCS, - %SNMP::Info::CiscoVTP::FUNCS, -); +%FUNCS = ( %SNMP::Info::Layer3::CiscoSwitch::FUNCS, ); - -%MUNGE = ( - %SNMP::Info::Layer3::MUNGE, - %SNMP::Info::CiscoPower::MUNGE, - %SNMP::Info::CiscoConfig::MUNGE, - %SNMP::Info::CiscoPortSecurity::MUNGE, - %SNMP::Info::CDP::MUNGE, - %SNMP::Info::LLDP::MUNGE, - %SNMP::Info::CiscoStpExtensions::MUNGE, - %SNMP::Info::CiscoVTP::MUNGE, -); - -sub cisco_comm_indexing { return 1; } - -sub vendor { - return 'cisco'; -} +%MUNGE = ( %SNMP::Info::Layer3::CiscoSwitch::MUNGE, ); sub os { - return 'nx-os'; + return 'nx-os'; } sub os_ver { - my $nexus = shift; - my $descr = $nexus->description(); - - return $1 if ( $descr =~ /\),\s+Version\s+(.+?),/ ); - return $descr; + my $nexus = shift; + my $descr = $nexus->description(); + + return $1 if ( $descr =~ /\),\s+Version\s+(.+?),/ ); + return $descr; } sub serial { - my $nexus = shift; + my $nexus = shift; - my $e_parent = $nexus->e_parent(); + my $e_parent = $nexus->e_parent(); - foreach my $iid ( keys %$e_parent ) { - my $parent = $e_parent->{$iid}; - if ($parent eq '0') { - my $serial = $nexus->e_serial($iid); - return $serial->{$iid}; + foreach my $iid ( keys %$e_parent ) { + my $parent = $e_parent->{$iid}; + if ( $parent eq '0' ) { + my $serial = $nexus->e_serial($iid); + return $serial->{$iid}; + } } - } - return; + return; } # sysObjectID returns an IID to an entry in the CISCO-ENTITY-VENDORTYPE-OID-MIB. # Look it up and return it. sub model { - my $nexus = shift; - my $id = $nexus->id(); + my $nexus = shift; + my $id = $nexus->id(); - unless ( defined $id ) { - print - " SNMP::Info::Layer3::Nexus::model() - Device does not support sysObjectID\n" - if $nexus->debug(); - return; - } + unless ( defined $id ) { + print + " SNMP::Info::Layer3::Nexus::model() - Device does not support sysObjectID\n" + if $nexus->debug(); + return; + } - my $model = &SNMP::translateObj($id); + my $model = &SNMP::translateObj($id); - return $id unless defined $model; + return $id unless defined $model; - $model =~ s/^cevChassis//i; - return $model; + $model =~ s/^cevChassis//i; + return $model; } # Reported version 6.x of NX-OS doesn't use the IPv4 address as index # override methods in ipAddrTable sub ip_table { - my $nexus = shift; - my $orig_ip_table = $nexus->orig_ip_table(); + my $nexus = shift; + my $orig_ip_table = $nexus->orig_ip_table(); - my %ip_table; - foreach my $iid ( keys %$orig_ip_table ) { - my $ip = $orig_ip_table->{$iid}; - next unless defined $ip; + my %ip_table; + foreach my $iid ( keys %$orig_ip_table ) { + my $ip = $orig_ip_table->{$iid}; + next unless defined $ip; - $ip_table{$ip} = $ip; - } - return \%ip_table; + $ip_table{$ip} = $ip; + } + return \%ip_table; } sub ip_index { - my $nexus = shift; - my $orig_ip_table = $nexus->orig_ip_table(); - my $orig_ip_index = $nexus->orig_ip_index(); + my $nexus = shift; + my $orig_ip_table = $nexus->orig_ip_table(); + my $orig_ip_index = $nexus->orig_ip_index(); - my %ip_index; - foreach my $iid ( keys %$orig_ip_table ) { - my $ip = $orig_ip_table->{$iid}; - my $index = $orig_ip_index->{$iid}; + my %ip_index; + foreach my $iid ( keys %$orig_ip_table ) { + my $ip = $orig_ip_table->{$iid}; + my $index = $orig_ip_index->{$iid}; - next unless ( defined $ip && defined $index ); + next unless ( defined $ip && defined $index ); - $ip_index{$ip} = $index; - } - return \%ip_index; + $ip_index{$ip} = $index; + } + return \%ip_index; } sub ip_netmask { - my $nexus = shift; - my $orig_ip_table = $nexus->orig_ip_table(); - my $orig_ip_netmask = $nexus->orig_ip_netmask(); + my $nexus = shift; + my $orig_ip_table = $nexus->orig_ip_table(); + my $orig_ip_netmask = $nexus->orig_ip_netmask(); - my %ip_netmask; - foreach my $iid ( keys %$orig_ip_table ) { - my $ip = $orig_ip_table->{$iid}; - my $netmask = $orig_ip_netmask->{$iid}; + my %ip_netmask; + foreach my $iid ( keys %$orig_ip_table ) { + my $ip = $orig_ip_table->{$iid}; + my $netmask = $orig_ip_netmask->{$iid}; - next unless ( defined $ip && defined $netmask ); + next unless ( defined $ip && defined $netmask ); - $ip_netmask{$ip} = $netmask; - } - return \%ip_netmask; + $ip_netmask{$ip} = $netmask; + } + return \%ip_netmask; } sub ip_broadcast { - my $nexus = shift; - my $orig_ip_table = $nexus->orig_ip_table(); - my $orig_ip_broadcast = $nexus->orig_ip_broadcast(); + my $nexus = shift; + my $orig_ip_table = $nexus->orig_ip_table(); + my $orig_ip_broadcast = $nexus->orig_ip_broadcast(); - my %ip_broadcast; - foreach my $iid ( keys %$orig_ip_table ) { - my $ip = $orig_ip_table->{$iid}; - my $broadcast = $orig_ip_broadcast->{$iid}; + my %ip_broadcast; + foreach my $iid ( keys %$orig_ip_table ) { + my $ip = $orig_ip_table->{$iid}; + my $broadcast = $orig_ip_broadcast->{$iid}; - next unless ( defined $ip && defined $broadcast ); + next unless ( defined $ip && defined $broadcast ); - $ip_broadcast{$ip} = $broadcast; - } - return \%ip_broadcast; + $ip_broadcast{$ip} = $broadcast; + } + return \%ip_broadcast; } 1; @@ -251,14 +199,14 @@ Eric Miller # Let SNMP::Info determine the correct subclass for you. my $nexus = 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"; + 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 = $nexus->class(); print "SNMP::Info determined this device to fall under subclass : $class\n"; @@ -276,21 +224,7 @@ after determining a more specific class using the method above. =over -=item SNMP::Info::Layer3 - -=item SNMP::Info::CiscoVTP - -=item SNMP::Info::CDP - -=item SNMP::Info::CiscoPortSecurity - -=item SNMP::Info::CiscoConfig - -=item SNMP::Info::CiscoPower - -=item SNMP::Info::CiscoStpExtensions - -=item SNMP::Info::LLDP +=item SNMP::Info::Layer3::CiscoSwitch =back @@ -306,23 +240,9 @@ after determining a more specific class using the method above. =item Inherited Classes' MIBs -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB +See L for its own MIB requirements. -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. - -See L for its own MIB requirements. - =back =head1 GLOBALS @@ -331,10 +251,6 @@ These are methods that return a scalar value from SNMP =over -=item $nexus->vendor() - -Returns 'cisco' - =item $nexus->os() Returns C<'nx-os'> @@ -357,10 +273,6 @@ Removes C<'cevChassis'> for readability. C -=item $nexus->cisco_comm_indexing() - -Returns 1. Use vlan indexing. - =back =head2 Overrides @@ -399,78 +311,18 @@ Gives broadcast address for IP table entry. =back -=head2 Globals imported from SNMP::Info::Layer3 +=head2 Globals imported from SNMP::Info::Layer3::CiscoSwitch -See documentation in L for details. - -=head2 Global Methods imported from SNMP::Info::CiscoVTP - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CDP - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoConfig - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoPower - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::CiscoStpExtensions - -See documentation in L for details. - -=head2 Globals imported from SNMP::Info::LLDP - -See documentation in L for details. +See documentation in L 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::Layer3 +=head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoVTP - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CDP - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoStats - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoPortSecurity - -See documentation in L for +See documentation in L for details. -=head2 Table Methods imported from SNMP::Info::CiscoConfig - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoPower - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::CiscoStpExtensions - -See documentation in L for details. - -=head2 Table Methods imported from SNMP::Info::LLDP - -See documentation in L for details. - =cut