NAME¶
SNMP::Info::CiscoStack - SNMP Interface to data from CISCO-STACK-MIB and
CISCO-PORT-SECURITY-MIB
AUTHOR¶
Max Baker
SYNOPSIS¶
# Let SNMP::Info determine the correct subclass for you.
my $ciscostats = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
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
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")
TABLE METHODS¶
Interface Tables¶
- $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_duplex()
- Returns reference to hash of iid to current link duplex
setting.
First checks for fixed gigabit ports which are always full duplex. Next, if
the port is not operational and reported port duplex
("portDuplex") is auto then the operational duplex can not be
determined. Otherwise it uses the reported port duplex
("portDuplex").
- $stack->i_duplex_admin()
- Returns reference to hash of iid to administrative duplex
setting.
First checks for fixed gigabit ports which are always full duplex. Next
checks the port administrative speed ("portAdminSpeed") which if
set to autonegotiate then the duplex will also autonegotiate, otherwise it
uses the reported port duplex ("portDuplex").
- $stack->i_speed_admin()
- Returns reference to hash of iid to administrative speed
setting.
"portAdminSpeed"
- $stack->set_i_speed_admin(speed, ifIndex)
-
Sets port speed, must be supplied with speed and port C<ifIndex>
Speed choices are 'auto', '10', '100', '1000'
Crosses $stack->p_port() with $stack->p_duplex() to
utilize port C<ifIndex>.
Example:
my %if_map = reverse %{$stack->interfaces()};
$stack->set_i_speed_admin('auto', $if_map{'FastEthernet0/1'})
or die "Couldn't change port speed. ",$stack->error(1);
- $stack->set_i_duplex_admin(duplex, ifIndex)
-
Sets port duplex, must be supplied with duplex and port C<ifIndex>
Speed choices are 'auto', 'half', 'full'
Crosses $stack->p_port() with $stack->p_duplex() to
utilize port C<ifIndex>.
Example:
my %if_map = reverse %{$stack->interfaces()};
$stack->set_i_duplex_admin('auto', $if_map{'FastEthernet0/1'})
or die "Couldn't change port duplex. ",$stack->error(1);
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")
- $stack->p_rx_flow_control()
- Can be either "on" "off" or
"disagree"
"Indicates the receive flow control operational status of the port. If
the port could not agree with the far end on a link protocol, its
operational status will be disagree(3)."
"portOperRxFlowControl"
- $stack->p_tx_flow_control()
- Can be either "on" "off" or
"disagree"
"Indicates the transmit flow control operational status of the port. If
the port could not agree with the far end on a link protocol, its
operational status will be disagree(3)."
"portOperTxFlowControl"
- $stack->p_rx_flow_control_admin()
- Can be either "on" "off" or
"desired"
"Indicates the receive flow control administrative status set on the
port. If the status is set to on(1), the port will require the far
end to send flow control. If the status is set to off(2), the port
will not allow far end to send flow control. If the status is set to
desired(3), the port will allow the far end to send the flow
control."
"portAdminRxFlowControl"
- $stack->p_tx_flow_control_admin()
- Can be either "on" "off" or
"desired"
"Indicates the transmit flow control administrative status set on the
port. If the status is set to on(1), the port will send flow
control to the far end. If the status is set to off(2), the port
will not send flow control to the far end. If the status is set to
desired(3), the port will send flow control to the far end if the
far end supports it."
"portAdminTxFlowControl"
Port Capability Table
("CISCO-STACK-MIB::portCpbTable")¶
- $stack->p_speed_admin()
- ("portCpbSpeed")
- $stack->p_duplex_admin()
- ("portCpbDuplex")
Data Munging Callback Subroutines¶
- $stack->munge_port_status()
- Munges binary byte describing each port into ascii, and
returns an ascii list separated by spaces.