NAME

SNMP::Info::Layer3 - Perl5 Interface to network devices serving Layer3 or Layers 2 & 3


AUTHOR

Max Baker (max@warped.org)


SYNOPSIS

 # Let SNMP::Info determine the correct subclass for you. 
 my $l3 = 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      = $l3->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";
 # Let's get some basic Port information
 my $interfaces = $l3->interfaces();
 my $i_up       = $l3->i_up();
 my $i_speed    = $l3->i_speed();
 foreach my $iid (keys %$interfaces) {
    my $port  = $interfaces->{$iid};
    my $up    = $i_up->{$iid};
    my $speed = $i_speed->{$iid}
    print "Port $port is $up. Port runs at $speed.\n";
 }


DESCRIPTION

This class is usually used as a superclass for more specific device classes listed under SNMP::Info::Layer3::* Please read all docs under SNMP::Info first.

Provides generic methods for accessing SNMP data for Layer 3 network devices. Includes support for Layer2+3 devices.

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

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

Inherited Classes

SNMP::Info
SNMP::Info::Bridge
For L2/L3 devices.

SNMP::Info::EtherLike

Required MIBs

OSPF-MIB
Inherited Classes
MIBs required by the inherited classes listed above.

MIBs can be found in the netdisco-mibs package.


GLOBALS

These are methods that return scalar value from SNMP

$l3->mac()
Returns root port mac address

(ifPhysAddress.1)

$l3->router_ip()
(ospfRouterId.0)

Overrides

$l3->model()
Trys to reference $l3->id() to one of the product MIBs listed above

Removes 'cisco' from cisco devices for readability.

$l3->serial()
Trys to cull a serial number from ENTITY-MIB, description, and OLD-CISCO-... mib

$l3->vendor()
Trys to cull a Vendor name from sysDescr

Globals imported from SNMP::Info

See documentation in SNMP::Info for details.

Globals imported from SNMP::Info::Bridge

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

Globals imported from SNMP::Info::EtherLike

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

Globals imported from SNMP::Info::Entity

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


TABLE ENTRIES

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

Overrides

$l3->interfaces()
Returns the map between SNMP Interface Identifier (iid) and physical port name.

Only returns those iids that have a description listed in $l3->i_description()

$l3->i_ignore()
Returns reference to hash. Creates a key for each IID that should be ignored.

Currently looks for tunnel,loopback,lo,null from $l3->interfaces()

$l3->i_name()
Returns reference to hash of iid to human set name.

Defaults to ifName, but checks for an ifAlias

$l3->i_duplex()
Returns reference to hash of iid to current link duplex setting.

Maps $l3->el_index() to $l3->el_duplex, then culls out full,half, or auto and sets the map to that value.

see SNMP::Info::Etherlike for the el_index() and el_duplex() methods.

ARP Cache Entries

$l3->at_index()
Returns reference to map of IID to Arp Cache Entry

(atIfIndex)

$l3->at_paddr()
Returns reference to hash of Arp Cache Entries to MAC address

(atPhysAddress)

$l3->at_netaddr()
Returns reference to hash of Arp Cache Entries to IP Address

(atNetAddress)

Table Methods imported from SNMP::Info

See documentation in SNMP::Info for details.

Table Methods imported from SNMP::Info::Bridge

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

Table Methods imported from SNMP::Info::EtherLike

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

Table Methods imported from SNMP::Info::Entity

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