logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SNMP::Info::Layer2::Catalyst - SNMP Interface to Cisco Catalyst devices running Catalyst OS.

Author

       Max Baker

Description

       SNMP::Info subclass to provide information for Cisco Catalyst series switches running CatOS.

       This class includes the Catalyst 2920, 4000, 5000, 6000 (hybrid mode) families.

       This subclass is not for all devices that have the name Catalyst.  Note that some Catalyst switches run
       IOS, like the 2900 and 3550 families.  Cisco Catalyst 1900 switches use their own MIB and have a separate
       subclass.  Use the method above to have SNMP::Info determine the appropriate subclass before using this
       class directly.

       See SNMP::Info::device_type() for specifics.

       Note:  Some older Catalyst switches will only talk SNMP version 1.  Some newer ones will not return all
       their data if connected via Version 1.

       For speed or debugging purposes you can call the subclass directly, but not after determining a more
       specific class using the method above.

        my $cat = new SNMP::Info::Layer2::Catalyst(...);

   InheritedClasses
       SNMP::Info::Layer2::Cisco
       SNMP::Info::CiscoStack

   RequiredMIBs
       Inherited Classes' MIBs
           See "Required MIBs" in SNMP::Info::Layer2::Cisco for its own MIB requirements.

           See "Required MIBs" in SNMP::Info::CiscoStack for its own MIB requirements.

       These MIBs are found in the standard v2 MIBs from Cisco.

Globals

       These are methods that return scalar value from SNMP

       $cat->os()
           Returns 'catalyst'

       $cat->os_ver()
           Tries   to   use   the   value  from  SNMP::Info::CiscoStats->os_ver()  and  if  it  fails  it  grabs
           $cat->m_swver()->{1} and uses that.

       $cat->vendor()
           Returns 'cisco'

       $cat->cisco_comm_indexing()
           Returns 1.  Use vlan indexing.

   GlobalMethodsimportedfromSNMP::Info::Layer2::Cisco
       See documentation in "GLOBALS" in SNMP::Info::Layer2::Cisco for details.

   GlobalMethodsimportedfromSNMP::Info::CiscoStack
       See documentation in "GLOBALS" in SNMP::Info::CiscoStack for details.

Name

       SNMP::Info::Layer2::Catalyst - SNMP Interface to Cisco Catalyst devices running Catalyst OS.

Synopsis

        # Let SNMP::Info determine the correct subclass for you.
        my $cat = new SNMP::Info(
                                 AutoSpecify => 1,
                                 Debug       => 1,
                                 DestHost    => 'myswitch',
                                 Community   => 'public',
                                 Version     => 2
                               )
           or die "Can't connect to DestHost.\n";

        my $class      = $cat->class();
        print "SNMP::Info determined this device to fall under subclass : $class\n";

Table Methods

       These are methods that return tables of information in the form of a reference to a hash.

   Overrides
       $cat->interfaces()
           Returns the map between SNMP Interface Identifier (iid) and physical port name.

       $cat->i_name()
           Returns reference to hash of iid to human set name.

           "portName"

       $cat->i_physical()
           Returns a map to IID for ports that are physical ports, not vlans, etc.

       $cat->bp_index()
           Returns reference to hash of bridge port table entries map back to interface identifier (iid)

           Crosses ("portCrossIndex") to ("portIfIndex") since some devices seem to have problems  with  BRIDGE-MIBTableMethodsimportedfromSNMP::Info::Layer2::Cisco
       See documentation in "TABLE METHODS" in SNMP::Info::Layer2::Cisco for details.

   TableMethodsimportedfromSNMP::Info::CiscoStack
       See documentation in "TABLE METHODS" in SNMP::Info::CiscoStack for details.

perl v5.40.0                                       2024-11-09                  SNMP::Info::Layer2::Catalyst(3pm)

See Also