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

NAME

SNMP::Info::CiscoStack - Intefaces to data from CISCO-STACK-MIB and CISCO-PORT-SECURITY-MIB

AUTHOR

Max Baker (max@warped.org)

SYNOPSIS

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

DESCRIPTION

SNMP::Info::CiscoStack is a subclass of SNMP::Info that provides an interface to the CISCO-STACK-MIB. This MIB is used across the Catalyst family under CatOS and IOS.

Use or create in a subclass of SNMP::Info. Do not use directly.

Inherited Classes

none.

Required MIBs

CISCO-STACK-MIB
CISCO-PORT-SECURITY-MIB

MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz or from Netdisco-mib package at netdisco.org.

GLOBALS

$stack->broadcast()

(sysBroadcast)

$stack->fan()

(chassisFanStatus)

$stack->model()

(chassisModel)

$stack->netmask()

(sysNetMask)

$stack->ps1_type()

(chassisPs1Type)

$stack->ps2_type()

(chassisPs2Type)

$stack->ps1_status()

(chassisPs1Status)

$stack->ps2_status()

(chassisPs2Status)

$stack->serial()

(chassisSerialNumberString) or (chassisSerialNumber)

$stack->slots()

(chassisNumSlots)

CISCO-PORT-SECURITY-MIB globals

See CISCO-PORT-SECURITY-MIB for details.

$stack->cps_clear()

cpsGlobalClearSecureMacAddresses

$stack->cps_notify()

cpsGlobalSNMPNotifControl

$stack->cps_rate()

cpsGlobalSNMPNotifRate

$stack->cps_enable()

cpsGlobalPortSecurityEnable

$stack->cps_mac_count()

cpsGlobalTotalSecureAddress

$stack->cps_mac_max()

cpsGlobalMaxSecureAddress

TABLE METHODS

Interface Tables

$stack->interfaces()

Crosses p_port() with i_index() to get physical names.

$stack->i_physical()

Returns a map to IID for ports that are physical ports, not vlans, etc.

$stack->i_type()

Crosses p_port() with p_type() and returns the results.

Overrides with ifType if p_type() isn't available.

$stack->i_name()

Crosses p_name with p_port and returns results.

$stack->i_duplex()

Crosses p_duplex with p_port and returns results.

$stack->i_duplex_admin()

Crosses p_duplex_admin with p_port.

Munges bit_string returned from p_duplex_admin to get duplex settings.

Module table

This table holds configuration information for each of the blades installed in the Catalyst device.

$stack->m_type()

(moduleType)

$stack->m_model()

(moduleModel)

$stack->m_serial()

(moduleSerialNumber)

$stack->m_status()

(moduleStatus)

$stack->m_name()

(moduleName)

$stack->m_ports()

(moduleNumPorts)

$stack->m_ports_status()

Returns a list of space separated status strings for the ports.

To see the status of port 4 :

    @ports_status = split(' ', $stack->m_ports_status() );
    $port4 = $ports_status[3];

(modulePortStatus)

$stack->m_ports_hwver()

(moduleHwVersion)

$stack->m_ports_fwver()

(moduleFwVersion)

$stack->m_ports_swver()

(moduleSwVersion)

$stack->m_ports_ip()

(moduleIPAddress)

$stack->m_ports_sub1()

(moduleSubType)

$stack->m_ports_sub2()

(moduleSubType2)

Modules - Router Blades

$stack->m_ip()

(moduleIPAddress)

$stack->m_sub1()

(moduleSubType)

$stack->m_sub2()

(moduleSubType2)

Port Entry Table (CISCO-STACK-MIB::portTable)

$stack->p_name()

(portName)

$stack->p_type()

(portType)

$stack->p_status()

(portOperStatus)

$stack->p_status2()

(portAdditionalStatus)

$stack->p_speed()

(portAdminSpeed)

$stack->p_duplex()

(portDuplex)

$stack->p_port()

(portIfIndex)

Port Capability Table (CISCO-STACK-MIB::portCpbTable)

$stack->p_speed_admin()

(portCpbSpeed)

$stack->p_duplex_admin()

(portCpbDuplex)

CISCO-PORT-SECURITY-MIB - Interface Config Table

See CISCO-PORT-SECURITY-MIB for details.

$stack->cps_i_limit_val()

cpsIfInvalidSrcRateLimitValue

$stack->cps_i_limit()

cpsIfInvalidSrcRateLimitEnable

$stack->cps_i_sticky()

cpsIfStickyEnable

$stack->cps_i_clear_type()

cpsIfClearSecureMacAddresses

$stack->cps_i_shutdown()

cpsIfShutdownTimeout

$stack->cps_i_flood()

cpsIfUnicastFloodingEnable

$stack->cps_i_clear()

cpsIfClearSecureAddresses

$stack->cps_i_mac()

cpsIfSecureLastMacAddress

$stack->cps_i_count()

cpsIfViolationCount

$stack->cps_i_action()

cpsIfViolationAction

$stack->cps_i_mac_static()

cpsIfStaticMacAddrAgingEnable

$stack->cps_i_mac_type()

cpsIfSecureMacAddrAgingType

$stack->cps_i_mac_age()

cpsIfSecureMacAddrAgingTime

$stack->cps_i_mac_count()

cpsIfCurrentSecureMacAddrCount

$stack->cps_i_mac_max()

cpsIfMaxSecureMacAddr

$stack->cps_i_status()

cpsIfPortSecurityStatus

$stack->cps_i_enable()

cpsIfPortSecurityEnable

CISCO-PORT-SECURITY-MIB::cpsIfVlanTable

$stack->cps_i_v_mac_count()

cpsIfVlanCurSecureMacAddrCount

$stack->cps_i_v_mac_max()

cpsIfVlanMaxSecureMacAddr

$stack->cps_i_v()

cpsIfVlanIndex

CISCO-PORT-SECURITY-MIB::cpsIfVlanSecureMacAddrTable

$stack->cps_i_v_mac_status()

cpsIfVlanSecureMacAddrRowStatus

$stack->cps_i_v_mac_age()

cpsIfVlanSecureMacAddrRemainAge

$stack->cps_i_v_mac_type()

cpsIfVlanSecureMacAddrType

$stack->cps_i_v_vlan()

cpsIfVlanSecureVlanIndex

$stack->cps_i_v_mac()

cpsIfVlanSecureMacAddress

CISCO-PORT-SECURITY-MIB::cpsSecureMacAddressTable

$stack->cps_m_status()

cpsSecureMacAddrRowStatus

$stack->cps_m_age()

cpsSecureMacAddrRemainingAge

$stack->cps_m_type()

cpsSecureMacAddrType

$stack->cps_m_mac()

cpsSecureMacAddress