++ed by:
INPHOBIA ABRAXXA KEEDI

3 PAUSE users
1 non-PAUSE user.

Author image Max Baker

NAME

SNMP::Info::Layer2::C2900 - SNMP Interface to Cisco Catalyst 2900 Switches running IOS

AUTHOR

Max Baker (max@warped.org)

SYNOPSIS

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

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

DESCRIPTION

Provides abstraction to the configuration information obtainable from a C2900 device through SNMP.

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

 my $c2900 = new SNMP::Info::Layer2::C2900(...);

Inherited Classes

SNMP::Info::Layer2
SNMP::Info::CiscoVTP

Required MIBs

CISCO-C2900-MIB

Part of the v2 MIBs from Cisco.

Inherited Classes' MIBs

See SNMP::Info::Layer2 for its own MIB requirements.

See SNMP::Info::CiscoVTP for its own MIB requirements.

GLOBALS

These are methods that return scalar value from SNMP

Overrides

$c2900->vendor()
    Returns 'cisco' :)

Globals imported from SNMP::Info::Layer2

See documentation in SNMP::Info::Layer2 for details.

Global Methods imported from SNMP::Info::CiscoVTP

See documentation in SNMP::Info::CiscoVTP for details.

TABLE ENTRIES

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

Overrides

$c2900->interfaces()
    Returns reference to the map between IID and physical Port.

    On the 2900 devices i_name isn't reliable, so we override to just the description.

    Next all dots are changed for forward slashes so that the physical port name 
    is the same as the broadcasted CDP port name. 
        (Ethernet0.1 -> Ethernet0/1)

    Also, any weird characters are removed, as I saw a few pop up.
$c2900->i_duplex()
    Returns reference to map of IIDs to current link duplex

    Crosses $c2900->c2900_p_index() with $c2900->c2900_p_duplex;
$c2900->i_duplex_admin()
    Returns reference to hash of IIDs to admin duplex setting
    
    Crosses $c2900->c2900_p_index() with $c2900->c2900_p_duplex_admin;
    

C2900-MIB Port Entry Table

$c2900->c2900_p_index()
    Maps the Switch Port Table to the IID

    B<c2900PortIfIndex>
$c2900->c2900_p_duplex()
    Gives Port Duplex Info

    B<c2900PortDuplexStatus>
$c2900->c2900_p_duplex_admin()
    Gives admin setting for Duplex Info

    B<c2900PortDuplexState>
$c2900->c2900_p_speed_admin()
    Gives Admin speed of port 

    B<c2900PortAdminSpeed>

Table Methods imported from SNMP::Info::Layer2

See documentation in SNMP::Info::Layer2 for details.

Table Methods imported from SNMP::Info::CiscoVTP

See documentation in SNMP::Info::CiscoVTP for details.