SNMP::Info::Layer3 - SNMP Interface to network devices serving Layer3 or Layers
2 & 3
# Let SNMP::Info determine the correct subclass for you.
my $l3 = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
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";
}
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(...);
- SNMP::Info
- SNMP::Info::Bridge (For L2/L3 devices)
- SNMP::Info::EtherLike
- SNMP::Info::Entity
- SNMP::Info::PowerEthernet
- SNMP::Info::IPv6
- SNMP::Info::LLDP
- SNMP::Info::DocsisHE
- SNMP::Info::AdslLine
- IP-MIB
- ISIS-MIB
- OSPF-MIB
- BGP4-MIB
See "REQUIREMENTS" in SNMP::Info for its MIB requirements.
See "Required MIBs" in SNMP::Info::Bridge for its MIB
requirements.
See "Required MIBs" in SNMP::Info::EtherLike for its MIB
requirements.
See "Required MIBs" in SNMP::Info::Entity for its MIB
requirements.
See "Required MIBs" in SNMP::Info::PowerEthernet for its
MIB requirements.
See "Required MIBs" in SNMP::Info::IPv6 for its MIB
requirements.
See "Required MIBs" in SNMP::Info::LLDP for its MIB
requirements.
See "Required MIBs" in SNMP::Info::DocsisHE for its MIB
requirements.
See "Required MIBs" in SNMP::Info::AdslLine for its MIB
requirements.
These are methods that return scalar value from SNMP
- $l3->mac()
- Returns root port mac address
("ifPhysAddress.1")
- $l3->router_ip()
- ("ospfRouterId.0")
- $l3->bgp_id()
- ("bgpIdentifier.0")
Returns the BGP identifier of the local system
- $l3->bgp_local_as()
- Returns the local autonomous system number
("bgpLocalAs.0")
- $l3->model()
- Tries to reference $l3->id() to one of
the product MIBs listed above
Removes 'cisco' from cisco devices for readability.
- $l3->serial()
- Returns a serial number if found from ENTITY-MIB and
OLD-CISCO-... MIB.
- $l3->vendor()
- Tries to cull a Vendor name from
"sysDescr"
- $l3->root_ip()
- Returns the primary IP used to communicate with the device. Returns the
first found: OSPF Router ID
("ospfRouterId") or any OSPF Host IP
Address ("ospfHostIpAddress").
See "USAGE" in SNMP::Info for details.
See "GLOBALS" in SNMP::Info::Bridge for details.
See "GLOBALS" in SNMP::Info::EtherLike for details.
See "GLOBALS" in SNMP::Info::Entity for details.
See "GLOBALS" in SNMP::Info::PowerEthernet for details.
See "GLOBALS" in SNMP::Info::IPv6 for details.
See "GLOBALS" in SNMP::Info::LLDP for details.
See "GLOBALS" in SNMP::Info::DocsisHE for details.
See "GLOBALS" in SNMP::Info::AdslLine for details.
These are methods that return tables of information in the form of a reference
to a hash.
- $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_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.
- $l3->at_index()
- Returns reference to hash. Maps ARP table entries to Interface IIDs
("ipNetToMediaIfIndex")
If the device doesn't support
"ipNetToMediaIfIndex", this will try
the deprecated "atIfIndex".
- $l3->at_paddr()
- Returns reference to hash. Maps ARP table entries to MAC addresses.
("ipNetToMediaPhysAddress")
If the device doesn't support
"ipNetToMediaPhysAddress", this will
try the deprecated
"atPhysAddress".
- $l3->at_netaddr()
- Returns reference to hash. Maps ARP table entries to IP addresses.
("ipNetToMediaNetAddress")
If the device doesn't support
"ipNetToMediaNetAddress", this will
try the deprecated "atNetAddress".
The "atTable" has been deprecated since 1991.
You should never need to use these methods. See
"ipNetToMediaTable" above.
- $l3->old_at_index()
- Returns reference to map of IID to Arp Cache Entry
("atIfIndex")
- $l3->old_at_paddr()
- Returns reference to hash of Arp Cache Entries to MAC address
("atPhysAddress")
- $l3->old_at_netaddr()
- Returns reference to hash of Arp Cache Entries to IP Address
("atNetAddress")
- $l3->bgp_peers()
- Returns reference to hash of BGP peer to local IP address
("bgpPeerLocalAddr")
- $l3->bgp_peer_id()
- Returns reference to hash of BGP peer to BGP peer identifier
("bgpPeerIdentifier")
- $l3->bgp_peer_state()
- Returns reference to hash of BGP peer to BGP peer state
("bgpPeerState")
- $l3->bgp_peer_as()
- Returns reference to hash of BGP peer to BGP peer autonomous system number
("bgpPeerRemoteAs")
- $l3->bgp_peer_addr()
- Returns reference to hash of BGP peer to BGP peer IP address
("bgpPeerRemoteAddr")
- $l3->bgp_peer_fsm_est_trans()
- Returns reference to hash of BGP peer to the total number of times the BGP
FSM transitioned into the established state
("bgpPeerFsmEstablishedTransitions")
- $l3->bgp_peer_in_tot_msgs()
- Returns reference to hash of BGP peer to the total number of messages
received from the remote peer on this connection
("bgpPeerInTotalMessages")
- $l3->bgp_peer_in_upd_el_time()
- Returns reference to hash of BGP peer to the elapsed time in seconds since
the last BGP UPDATE message was received from the peer.
("bgpPeerInUpdateElapsedTime")
- $l3->bgp_peer_in_upd()
- Returns reference to hash of BGP peer to the number of BGP UPDATE messages
received on this connection
("bgpPeerInUpdates")
- $l3->bgp_peer_out_tot_msgs()
- Returns reference to hash of BGP peer to the total number of messages
transmitted to the remote peer on this connection
("bgpPeerOutTotalMessages")
- $l3->bgp_peer_out_upd()
- Returns reference to hash of BGP peer to the number of BGP UPDATE messages
transmitted on this connection
("bgpPeerOutUpdates")
- $l3->ospf_if_ip()
- Returns reference to hash of OSPF interface IP addresses
("ospfIfIpAddress")
- $l3->ospf_if_area()
- Returns reference to hash of the OSPF area to which the interfaces connect
("ospfIfAreaId")
- $l3->ospf_if_type()
- Returns reference to hash of the OSPF interfaces' type
("ospfIfType")
- $l3->ospf_if_hello()
- Returns reference to hash of the OSPF interfaces' hello interval
("ospfIfHelloInterval")
- $l3->ospf_if_dead()
- Returns reference to hash of the OSPF interfaces' dead interval
("ospfIfRtrDeadInterval")
- $l3->ospf_if_admin()
- Returns reference to hash of the OSPF interfaces' administrative status
("ospfIfAdminStat")
- $l3->ospf_if_state()
- Returns reference to hash of the OSPF interfaces' state
("ospfIfState")
- $l3->ospf_peers()
- Returns reference to hash of IP addresses the neighbor is using in its IP
Source Addresses
("ospfNbrIpAddr")
- $l3->ospf_peer_id()
- Returns reference to hash of neighbor Router IDs
("ospfNbrRtrId")
- $l3->ospf_peer_state()
- Returns reference to hash of state of the relationship with the neighbor
routers
("ospfNbrState")
- $l3->isis_circ_if_idx()
- Returns reference to hash of the interface index associated with the IS-IS
circuit ("isisCircIfIndex")
- $l3->isis_circ_admin()
- Returns reference to hash of the IS-IS circuit's admin status
("isisCircAdminState")
- $l3->isis_circ_type()
- Returns reference to hash of the IS-IS circuit's type
("isisCircType")
- $l3->isis_circ_level_type()
- Returns reference to hash of the IS-IS circuit's level
("isisCircLevelType")
- $l3->isis_adj_id()
- Returns reference to hash of the peer id of adjacencies.
("isisISAdjNeighSysID")
- $l3->isis_adj_type()
- Returns reference to hash of the type of adjacencies (Level 1 Intermediate
System, Level 2 Intermediate System, Level 1+2 Intermediate System,
unknown)
("isisISAdjNeighSysType")
- $l3->isis_adj_usage()
- Returns reference to hash of the type of adjacencies in use (undefined,
Level 1, Level 2, Level1+2)
("isisISAdjNeighUsage")
- $l3->isis_adj_ip_type()
- Returns reference to hash of type of address (IPv4, IPv6, etc) on
adjacencies.
("isisISAdjIPAddrType")
- $l3->isis_adj()
- Returns reference to hash of addresses (IPv4, IPv6, etc) on adjacencies.
Note this returns hash-strings, for IPs, use
$l3->isis_peers()
("isisISAdjIPAddrAddress")
- $l3->isis_peers()
- Returns reference to hash of addresses (IPv4, IPv6) on adjacencies.
Convert hash strings from isis_adj to proper IP (v4 and v6)
formatting.
See "USAGE" in SNMP::Info for details.
See "TABLE METHODS" in SNMP::Info::Bridge for details.
See "TABLE METHODS" in SNMP::Info::EtherLike for details.
See "TABLE METHODS" in SNMP::Info::Entity for details.
See "TABLE METHODS" in SNMP::Info::PowerEthernet for details.
See "TABLE METHODS" in SNMP::Info::IPv6 for details.
See "TABLE METHODS" in SNMP::Info::LLDP for details.
See "TABLE METHODS" in SNMP::Info::DocsisHE for details.
See "TABLE METHODS" in SNMP::Info::AdslLine for details.