NAME

SNMP::Info::Layer3::Cisco - SNMP Interface to L3 and L2+L3 IOS Cisco Device that are not covered in other classes and the base L3 Cisco class for other device specific L3 Cisco classes.

AUTHOR

Max Baker

SYNOPSIS

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

DESCRIPTION

Subclass for Generic Cisco Routers running IOS and the base L3 Cisco class for other device specific L3 Cisco classes.

Inherited Classes

SNMP::Info::CiscoBGP
SNMP::Info::CiscoVTP
SNMP::Info::CDP
SNMP::Info::CiscoStats
SNMP::Info::CiscoRTT
SNMP::Info::CiscoQOS
SNMP::Info::CiscoConfig
SNMP::Info::CiscoPower
SNMP::Info::CiscoStpExtensions
SNMP::Info::Layer3

Required MIBs

CISCO-EIGRP-MIB
CISCO-VRF-MIB
Inherited Classes' MIBs

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

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

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

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

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

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

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

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

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

GLOBALS

These are methods that return scalar value from SNMP

$cisco->eigrp_id()

(cEigrpAsRouterId)

$switch->cisco_comm_indexing()

Returns 1 when the device is likely to need vlan indexing. Determined by checking vtpVersion.

Global Methods imported from SNMP::Info::CiscoVTP

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

Globals imported from SNMP::Info::CDP

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

Globals imported from SNMP::Info::CiscoStats

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

Globals imported from SNMP::Info::CiscoRTT

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

Globals imported from SNMP::Info::CiscoQOS

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

Globals imported from SNMP::Info::CiscoConfig

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

Globals imported from SNMP::Info::CiscoPower

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

Globals imported from SNMP::Info::CiscoStpExtensions

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

Globals imported from SNMP::Info::Layer3

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

TABLE METHODS

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

$cisco->eigrp_peers()

Returns EIGRP peer IP addresses

(cEigrpPeerAddr)

$cisco->vrf_cv_name()

Returns the name of each VRF, keyed by cvVrfIndex.

(cvVrfName)

$cisco->vrf_cv_if()

Returns the row status of each interface a VRF holds, keyed by cvVrfIndex.ifIndex. An active row (1) puts the port in the VRF.

(cvVrfInterfaceRowStatus)

$cisco->i_vlan()

Returns a mapping between ifIndex and the PVID or default VLAN.

VRF Instances

See "VRF Instances" in SNMP::Info::VRF for the readers. This class adds two VRF behaviors, both reached through them rather than called directly.

Subnets from connected routes

vrf_subnets() reads the connected routes as well as the interface addresses (see "Collapsed Subnets" in SNMP::Info::VRF). A subnet two VRFs share, which the address tables show on one VRF's port only, is then listed for both. The routes come from mplsL3VpnVrfRteTable in attribution mode, and from inetCidrRouteTable in a VRF's own context in context mode (SNMP::Info::Layer3::Nexus).

VRF list from CISCO-VRF-MIB

Where MPLS-L3VPN-STD-MIB serves no row at all, the global row included, CISCO-VRF-MIB lists the VRFs and the ports they hold, with the source CISCO-VRF-MIB. Any row it serves lists default, so a device serving only its global row there reports vrf_instances_complete() 1, none configured (see "Completeness" in SNMP::Info::VRF). Where MPLS-L3VPN-STD-MIB serves rows, the vendor MIB is not read.

Table Methods imported from SNMP::Info::CiscoVTP

See documentation in "TABLE METHODS" in SNMP::Info::CiscoVTP 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::CiscoStats

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

Table Methods imported from SNMP::Info::CiscoRTT

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

Table Methods imported from SNMP::Info::CiscoQOS

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

Table Methods imported from SNMP::Info::CiscoConfig

See documentation in "TABLE METHODS" in SNMP::Info::CiscoConfig 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::CiscoStpExtensions

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

Table Methods imported from SNMP::Info::Layer3

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