The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SNMP::Info::Layer3::C3550 - SNMP Interface to Cisco Catalyst 3550 Layer 2/3 Switches running IOS

AUTHOR

Max Baker

SYNOPSIS

 # Let SNMP::Info determine the correct subclass for you. 
 my $c3550 = 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      = $c3550->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";

DESCRIPTION

Abstraction subclass for Cisco Catalyst 3550 Layer 2/3 Switches.

These devices run IOS but have some of the same characteristics as the Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in VLANs, and extended interface information is gleaned from CISCO-SWITCH-MIB.

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

 my $c3550 = new SNMP::Info::Layer3::C3550(...);

Inherited Classes

SNMP::Info::Layer3
SNMP::Info::CiscoSTPExtensions
SNMP::Info::CiscoPower
SNMP::Info::CiscoPortSecurity
SNMP::Info::CiscoVTP
SNMP::Info::CiscoStack
SNMP::Info::CDP
SNMP::Info::LLDP
SNMP::Info::CiscoStats
SNMP::Info::CiscoImage

Required MIBs

Inherited Classes' MIBs

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

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

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

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

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

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

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

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

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

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

GLOBALS

These are methods that return scalar value from SNMP

$c3550->vendor()

Returns 'cisco'

$c3550->model()

Will take the translated model number and try to format it better.

 355048 -> 3550-48
 355012G -> 3550-12G
$c3550->ports()

Tries to cull the number of ports from the model number.

$c3550->cisco_comm_indexing()

Returns 1. Use vlan indexing.

Topology information

Based upon the firmware version Cisco devices may support Link Layer Discovery Protocol (LLDP) in addition to Cisco Discovery Protocol (CDP). These methods will query both and return the combination of all information. As a result, there may be identical topology information returned from the two protocols causing duplicate entries. It is the calling program's responsibility to identify any duplicate entries and remove duplicates if necessary.

$c3550->hasCDP()

Returns true if the device is running either CDP or LLDP.

Globals imported from SNMP::Info::Layer3

See documentation in "GLOBALS" in SNMP::Info::Layer3 for details.

Globals imported from SNMP::Info::CiscoStpExtensions

See documentation in "GLOBALS" in SNMP::Info::CiscoStpExtensions for details.

Globals imported from SNMP::Info::CiscoPower

See documentation in "GLOBALS" in SNMP::Info::CiscoPower for details.

Globals imported from SNMP::Info::CiscoPortSecurity

See documentation in "GLOBALS" in SNMP::Info::CiscoPortSecurity for details.

Global Methods imported from SNMP::Info::CiscoVTP

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

Global Methods imported from SNMP::Info::CiscoStack

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

Globals imported from SNMP::Info::CDP

See documentation in "GLOBALS" in SNMP::Info::CDP for details.

Globals imported from SNMP::Info::LLDP

See documentation in "GLOBALS" in SNMP::Info::LLDP for details.

Globals imported from SNMP::Info::CiscoStats

See documentation in "GLOBALS" in SNMP::Info::CiscoStats for details.

Globals imported from SNMP::Info::CiscoImage

See documentation in "GLOBALS" in SNMP::Info::CiscoImage for details.

TABLE METHODS

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

$c3550->c_if()

Returns reference to hash. Key: iid Value: local device port (interfaces)

$c3550->c_ip()

Returns reference to hash. Key: iid Value: remote IPv4 address

If multiple entries exist with the same local port, c_if(), with the same IPv4 address, c_ip(), it may be a duplicate entry.

If multiple entries exist with the same local port, c_if(), with different IPv4 addresses, c_ip(), there is either a non-CDP/LLDP device in between two or more devices or multiple devices which are not directly connected.

Use the data from the Layer2 Topology Table below to dig deeper.

$c3550->c_port()

Returns reference to hash. Key: iid Value: remote port (interfaces)

$c3550->c_id()

Returns reference to hash. Key: iid Value: string value used to identify the chassis component associated with the remote system.

$c3550->c_platform()

Returns reference to hash. Key: iid Value: Remote Device Type

Overrides

$c3550->i_duplex()

Returns reference to hash of iid to current link duplex setting.

Software version 12.1(22)EA1a or greater returns duplex based upon the result of $c3550->el_duplex(). Otherwise it uses the result of the call to CiscoStack::i_duplex().

See SNMP::Info::Etherlike for el_duplex() method and SNMP::Info::CiscoStack for its i_duplex() method.

$c3550->i_duplex_admin()

Returns reference to hash of iid to administrative duplex setting.

Software version 12.1(22)EA1a or greater returns duplex based upon the result of $c3550->p_duplex(). Otherwise it uses the result of the call to CiscoStack::i_duplex().

See SNMP::Info::CiscoStack for its i_duplex() and p_duplex() methods.

$c3550->set_i_duplex_admin(duplex, ifIndex)

Sets port duplex, must be supplied with duplex and port ifIndex.

Speed choices are 'auto', 'half', 'full'.

Crosses $c3550->p_port() with $c3550->p_duplex() to utilize port ifIndex.

    Example:
    my %if_map = reverse %{$c3550->interfaces()};
    $c3550->set_i_duplex_admin('auto', $if_map{'FastEthernet0/1'}) 
        or die "Couldn't change port duplex. ",$c3550->error(1);

Table Methods imported from SNMP::Info::Layer3

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

Table Methods imported from SNMP::Info::CiscoStpExtensions

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

Table Methods imported from SNMP::Info::CiscoPower

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

Table Methods imported from SNMP::Info::CiscoPortSecurity

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

Table Methods imported from SNMP::Info::CiscoVTP

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

Table Methods imported from SNMP::Info::CiscoStack

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

Table Methods imported from SNMP::Info::CDP

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

Table Methods imported from SNMP::Info::LLDP

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

Table Methods imported from SNMP::Info::CiscoStats

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

Table Methods imported from SNMP::Info::CiscoImage

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