Compare commits

...

43 Commits
3.60 ... 3.64

Author SHA1 Message Date
Oliver Gorwits
d7d747af67 release 3.64 2018-12-30 10:24:59 +00:00
Oliver Gorwits
41e9332420 update MANIFEST 2018-12-30 09:56:30 +00:00
Oliver Gorwits
23613800b2 add Module::Find to test_requires 2018-12-30 09:55:32 +00:00
Oliver Gorwits
8100461520 #289 add BSD licence to files where missing 2018-12-30 09:46:50 +00:00
Oliver Gorwits
07afff6ef0 new Class test wrapper 2018-12-29 20:41:10 +00:00
Oliver Gorwits
400c26a1d7 add NetSNMP::default_store test req 2018-12-29 14:46:04 +00:00
nick n
b6f7df332b no space in manpage link to ciscoips (#290) 2018-12-29 11:03:14 +00:00
nick n
e5eee009b3 and even more sourceforge -> github references (#288) 2018-12-29 11:02:58 +00:00
nick n
bb731c6368 sourceforge links replacing (#287)
more sourceforge -> github changes
2018-12-29 11:02:41 +00:00
nick n
a418ba0a1e replace sourceforge references with working links (#286)
the FAQ: section discusses cvs, i guess that is no longer relevant either.
2018-12-29 11:02:23 +00:00
nick n
cea462662d mib link change + spelling (#285)
redirect to github for netdisco-mibs instead of sourceforge.

rest are some spelling fixes & setting things alphabetically.
2018-12-29 11:01:47 +00:00
nick n
f3a8b1171b aerohive test module, missing part for #282 (#284)
* aerohive test module

add mac() test
set serial inline with real serial
add mgt0,wifi0 & wifi1 interfaces
set mac address correctly as compared to real aerohive devices

* typo
2018-12-29 11:01:16 +00:00
nick n
bb773ccc0a add preliminary support for exinda / gfi traffic shapers (#283)
* exinda support

* exinda support

* add exinda hint

needed to identify exinda devices.

* mentin exinda in overview and link docs

* overwrite layers to l2/3/4/7

* get uptime from exinda mib

now matches uptime reported by cli & web interface.

* single quotes preferred

* to much copy/paste

* merge 3.63

* some more functions added. also general cleanup

* Update .travis.yml

* a few fixes

* Update .travis.yml

* Update .travis.yml

* revert

* revert
2018-12-29 11:00:08 +00:00
nick n
61dc499369 attribute change (#281)
pretty please?
alias or real name, both work for me. thx
2018-12-29 10:58:48 +00:00
Oliver Gorwits
d806795a86 Always notify from Travis to IRC and email on any code commit 2018-12-28 18:34:57 +00:00
nick n
91f92f0fb9 aerohive base mac lookup and some minor doc nitpicking (#282) 2018-12-17 09:24:30 +01:00
Oliver Gorwits
bde8da5e6b release 3.63 2018-11-25 23:27:42 +00:00
Oliver Gorwits
f134368e6d try different testing 2018-11-25 23:16:10 +00:00
Oliver Gorwits
a6ff166e4e attempt to fix test? 2018-11-21 11:37:44 +00:00
Oliver Gorwits
3ea6bd6217 fix docs 2018-11-21 10:52:45 +00:00
Oliver Gorwits
6405ebfc3e #271 update os_ver for Alcatel-Lucent (stromsoe) 2018-11-21 10:48:05 +00:00
Oliver Gorwits
94ab114cd3 #273 remove old ADTRAN modules not in netdisco-mibs 2018-11-21 10:45:46 +00:00
nick n
954f58fdbc return aerohive serial (#280)
no idea why this is needed, but without this change no serial is returned:

netdisco-do show -d hiveap207 -e serial
[25474] 2018-11-09 19:45:09  info App::Netdisco version 2.039031 loaded.
[25474] 2018-11-09 19:45:10  info show: [10.40.252.14]/serial started at Fri Nov  9 20:45:10 2018
undef
[25474] 2018-11-09 19:45:10  info show: finished at Fri Nov  9 20:45:10 2018
[25474] 2018-11-09 19:45:10  info show: status done: Showed serial response from 10.40.252.14

netdisco-do show -d hiveap207 -e Layer2::Aerohive::serial
[25491] 2018-11-09 19:45:15  info App::Netdisco version 2.039031 loaded.
[25491] 2018-11-09 19:45:15  info show: [10.40.252.14]/Layer2::Aerohive::serial started at Fri Nov  9 20:45:15 2018
undef
[25491] 2018-11-09 19:45:16  info show: finished at Fri Nov  9 20:45:16 2018
[25491] 2018-11-09 19:45:16  info show: status done: Showed serial response from 10.40.252.14



with the change:
netdisco-do show -d hiveap207 -e Layer2::Aerohive::serial
[23072] 2018-11-09 19:44:06  info App::Netdisco version 2.039031 loaded.
[23072] 2018-11-09 19:44:07  info show: [10.40.252.14]/Layer2::Aerohive::serial started at Fri Nov  9 20:44:07 2018
02501610110274
[23072] 2018-11-09 19:44:07  info show: finished at Fri Nov  9 20:44:07 2018
[23072] 2018-11-09 19:44:07  info show: status done: Showed serial response from 10.40.252.14

netdisco-do show -d hiveap207 -e serial
[23075] 2018-11-09 19:44:13  info App::Netdisco version 2.039031 loaded.
[23075] 2018-11-09 19:44:13  info show: [10.40.252.14]/serial started at Fri Nov  9 20:44:13 2018
02501610110274
[23075] 2018-11-09 19:44:14  info show: finished at Fri Nov  9 20:44:14 2018
[23075] 2018-11-09 19:44:14  info show: status done: Showed serial response from 10.40.252.14
2018-11-21 10:37:19 +00:00
nick n
8232e783fa use correct module (#279)
The test code for Layer2::Aerohive should reference the Layer2::Aerohive class, not Layer1::Allied.
2018-11-13 08:57:02 +01:00
Eric A. Miller
5aa21deb07 release 3.62 2018-10-29 19:09:26 -04:00
Alexander Hartmaier
b7ac11222a Support for Cisco Firepower Threat Defense (#278)
When sending SNMP requests to one of the data interfaces of an FTD you're
talking to a Cisco ASA running as a process called 'lina'.
2018-10-25 10:30:43 +02:00
Jeroen van Ingen
b24da8c380 Add tests for peth_port_ifindex in Juniper.pm 2018-10-08 12:37:23 +02:00
pyro3d
ab2be759af Document peth_port_ifindex for Junipers (#275)
Document peth_port_ifindex in Juniper.pm
2018-10-08 10:56:38 +02:00
Jeroen van Ingen Schenau
78e5528c0d Merge pull request #270 from avantops/mikrotik-model-fix
Add support for additional Mikrotik models
2018-10-08 09:45:27 +02:00
Jeroen van Ingen Schenau
01ce4238dd Merge pull request #274 from pyro3d/master
Add peth_port_ifindex override for Junipers.
2018-10-08 09:44:00 +02:00
Ryan Gasik
a82e8e32a0 Add peth_port_ifindex override for Junipers. 2018-10-06 20:53:06 -07:00
Jeroen van Ingen
770ab9c8ec Add 3810M, 2930M, 2930F and 2540 series switches 2018-09-10 10:28:42 +02:00
avantops
f63a71910c Add support for additional Mikrotik models
Add additional regex to catch additional valid Mikrotik hardware models.
2018-06-27 00:05:42 -07:00
Jeroen van Ingen Schenau
8fa27f8844 Merge pull request #265 from fschlich/patch-1
fix typos in Huawei.pm
2018-05-14 17:59:09 +02:00
Florian Schlichting
ea59fa2c2d fix typos in Huawei.pm
as found by Debian's lintian QA checker
2018-05-14 17:47:34 +02:00
Eric A. Miller
a1769aa905 release 3.61 2018-05-09 23:17:09 -04:00
Eric A. Miller
78119d6547 #252 Unpack binary MAC if present in cdp_port
Fix SNMPv1 cdp_run check
2018-05-09 22:49:53 -04:00
Eric A. Miller
f27d76fa9d Use munge_mac() to unpack MACs 2018-05-09 22:44:24 -04:00
Eric A. Miller
4f8534169a Use NetAddr::IP::Lite to determine if EIGRP peer is a valid IP 2018-05-09 22:42:59 -04:00
Eric A. Miller
f531c9d9a7 #261 EIGRP Peer Neighbor Formatting / Munge 2018-05-07 23:08:19 -04:00
Eric A. Miller
1a80138026 #195 IP address table - IPv4 Address Table will use the IP-MIB::ipAddressTable if the deprecated IP-MIB::ipAddrTable doesn't return results 2018-05-07 21:09:16 -04:00
Eric A. Miller
4ff904f3cd If we were given an IPv6 transport-specifier strip it before trying to resolve it
Since DestHost defaults to 'localhost' die instead of returning undef from resolve_desthost()
2018-05-06 20:26:51 -04:00
Eric A. Miller
721193ccb8 #255 IPv6 support 2018-05-06 14:02:35 -04:00
148 changed files with 1706 additions and 607 deletions

View File

@@ -23,7 +23,12 @@ script:
./Build test --test_files t/ --test_files xt/
notifications:
irc:
on_success: change
on_success: always
on_failure: always
channels:
- 'chat.freenode.net#netdisco'
email:
on_success: always
on_failure: always
recipients:
- 'snmp-info-cvs@lists.sourceforge.net'

View File

@@ -16,6 +16,7 @@ Module::Build->new(
requires => {
'SNMP' => '0',
'Math::BigInt' => '0',
'NetAddr::IP' => '4.068',
},
recommends => {
'PPI' => '0',
@@ -34,6 +35,8 @@ Module::Build->new(
'File::Slurper' => '0',
'Test::Exception' => '0.43',
'Class::Inspector' => '0',
'NetSNMP::default_store' => '0',
'Module::Find' => '0',
},
# script_files => [
# ],

54
Changes
View File

@@ -1,3 +1,57 @@
Version 3.64 (2018-12-30)
[NEW FEATURES]
* #283 support for Exinda/GFI traffic shapers (inphobia)
[ENHANCEMENTS]
* #282 Aerohive base MAC lookup (inphobia)
[BUG FIXES]
* many documentation fixes (inphobia)
Version 3.63 (2018-11-25)
[ENHANCEMENTS]
* #280 update to retrieve Aerohive serial (inphobia / nick n.)
* #271 update os_ver for Alcatel-Lucent (stromsoe)
[BUG FIXES]
* #273 remove old ADTRAN modules not in netdisco-mibs
Version 3.62 (2018-10-29)
[ENHANCEMENTS]
* #278 Support for Cisco Firepower Threat Defense
* #275 Document peth_port_ifindex for Junipers
* #274 Add peth_port_ifindex override for Junipers
* #270 Add support for additional Mikrotik models
* Add HP 3810M, 2930M, 2930F and 2540 series switches
[BUG FIXES]
* #265 Fix typos in L3::Huawei
Version 3.61 (2018-05-09)
[ENHANCEMENTS]
* #255 IPv6 support - Set the transport-specifier if given an IPv6 address
* #195 IP address table - IPv4 Address Table will use the
IP-MIB::ipAddressTable if the deprecated IP-MIB::ipAddrTable doesn't
return results
[BUG FIXES]
* #261 EIGRP Peer Neighbor Formatting / Munge
* #252 Unpack binary MAC if present in cdp_port
* Fix SNMPv1 cdp_run check
Version 3.60 (2018-05-06)
[ENHANCEMENTS]

View File

@@ -54,6 +54,7 @@ lib/SNMP/Info/Layer2/Catalyst.pm
lib/SNMP/Info/Layer2/Centillion.pm
lib/SNMP/Info/Layer2/Cisco.pm
lib/SNMP/Info/Layer2/CiscoSB.pm
lib/SNMP/Info/Layer2/Exinda.pm
lib/SNMP/Info/Layer2/HP.pm
lib/SNMP/Info/Layer2/HP4000.pm
lib/SNMP/Info/Layer2/HPVC.pm
@@ -153,7 +154,7 @@ xt/00_local_prereq.t
xt/00_local_spelling.t
xt/00_local_versionsync.t
xt/10_remote_snmplabs.t
xt/20_run.t
xt/21_run.t
xt/lib/My/Test/Class.pm
xt/lib/Test/SNMP/Info.pm
xt/lib/Test/SNMP/Info/AdslLine.pm

265
META.json
View File

@@ -29,6 +29,7 @@
},
"requires" : {
"Math::BigInt" : "0",
"NetAddr::IP" : "4.068",
"SNMP" : "0"
}
},
@@ -37,6 +38,8 @@
"Class::Inspector" : "0",
"File::Find" : "0",
"File::Slurper" : "0",
"Module::Find" : "0",
"NetSNMP::default_store" : "0",
"Path::Class" : "0",
"Test::Class::Most" : "0",
"Test::Distribution" : "0",
@@ -49,515 +52,519 @@
"provides" : {
"SNMP::Info" : {
"file" : "lib/SNMP/Info.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::AMAP" : {
"file" : "lib/SNMP/Info/AMAP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::AdslLine" : {
"file" : "lib/SNMP/Info/AdslLine.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Aggregate" : {
"file" : "lib/SNMP/Info/Aggregate.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Airespace" : {
"file" : "lib/SNMP/Info/Airespace.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Bridge" : {
"file" : "lib/SNMP/Info/Bridge.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CDP" : {
"file" : "lib/SNMP/Info/CDP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoAgg" : {
"file" : "lib/SNMP/Info/CiscoAgg.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoConfig" : {
"file" : "lib/SNMP/Info/CiscoConfig.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoPortSecurity" : {
"file" : "lib/SNMP/Info/CiscoPortSecurity.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoPower" : {
"file" : "lib/SNMP/Info/CiscoPower.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoQOS" : {
"file" : "lib/SNMP/Info/CiscoQOS.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoRTT" : {
"file" : "lib/SNMP/Info/CiscoRTT.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoStack" : {
"file" : "lib/SNMP/Info/CiscoStack.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoStats" : {
"file" : "lib/SNMP/Info/CiscoStats.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoStpExtensions" : {
"file" : "lib/SNMP/Info/CiscoStpExtensions.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::CiscoVTP" : {
"file" : "lib/SNMP/Info/CiscoVTP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::EDP" : {
"file" : "lib/SNMP/Info/EDP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Entity" : {
"file" : "lib/SNMP/Info/Entity.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::EtherLike" : {
"file" : "lib/SNMP/Info/EtherLike.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::FDP" : {
"file" : "lib/SNMP/Info/FDP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::IEEE802dot11" : {
"file" : "lib/SNMP/Info/IEEE802dot11.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::IEEE802dot3ad" : {
"file" : "lib/SNMP/Info/IEEE802dot3ad.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::IPv6" : {
"file" : "lib/SNMP/Info/IPv6.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::LLDP" : {
"file" : "lib/SNMP/Info/LLDP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer1" : {
"file" : "lib/SNMP/Info/Layer1.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer1::Allied" : {
"file" : "lib/SNMP/Info/Layer1/Allied.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer1::Asante" : {
"file" : "lib/SNMP/Info/Layer1/Asante.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer1::Bayhub" : {
"file" : "lib/SNMP/Info/Layer1/Bayhub.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer1::Cyclades" : {
"file" : "lib/SNMP/Info/Layer1/Cyclades.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer1::S3000" : {
"file" : "lib/SNMP/Info/Layer1/S3000.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2" : {
"file" : "lib/SNMP/Info/Layer2.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::3Com" : {
"file" : "lib/SNMP/Info/Layer2/3Com.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Adtran" : {
"file" : "lib/SNMP/Info/Layer2/Adtran.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Aerohive" : {
"file" : "lib/SNMP/Info/Layer2/Aerohive.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Airespace" : {
"file" : "lib/SNMP/Info/Layer2/Airespace.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Aironet" : {
"file" : "lib/SNMP/Info/Layer2/Aironet.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Allied" : {
"file" : "lib/SNMP/Info/Layer2/Allied.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Atmedia" : {
"file" : "lib/SNMP/Info/Layer2/Atmedia.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Baystack" : {
"file" : "lib/SNMP/Info/Layer2/Baystack.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::C1900" : {
"file" : "lib/SNMP/Info/Layer2/C1900.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::C2900" : {
"file" : "lib/SNMP/Info/Layer2/C2900.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Catalyst" : {
"file" : "lib/SNMP/Info/Layer2/Catalyst.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Centillion" : {
"file" : "lib/SNMP/Info/Layer2/Centillion.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Cisco" : {
"file" : "lib/SNMP/Info/Layer2/Cisco.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::CiscoSB" : {
"file" : "lib/SNMP/Info/Layer2/CiscoSB.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Exinda" : {
"file" : "lib/SNMP/Info/Layer2/Exinda.pm",
"version" : "3.64"
},
"SNMP::Info::Layer2::HP" : {
"file" : "lib/SNMP/Info/Layer2/HP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::HP4000" : {
"file" : "lib/SNMP/Info/Layer2/HP4000.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::HPVC" : {
"file" : "lib/SNMP/Info/Layer2/HPVC.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Kentrox" : {
"file" : "lib/SNMP/Info/Layer2/Kentrox.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::N2270" : {
"file" : "lib/SNMP/Info/Layer2/N2270.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::NAP222x" : {
"file" : "lib/SNMP/Info/Layer2/NAP222x.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::NWSS2300" : {
"file" : "lib/SNMP/Info/Layer2/NWSS2300.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Netgear" : {
"file" : "lib/SNMP/Info/Layer2/Netgear.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Nexans" : {
"file" : "lib/SNMP/Info/Layer2/Nexans.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Orinoco" : {
"file" : "lib/SNMP/Info/Layer2/Orinoco.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Sixnet" : {
"file" : "lib/SNMP/Info/Layer2/Sixnet.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Trapeze" : {
"file" : "lib/SNMP/Info/Layer2/Trapeze.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::Ubiquiti" : {
"file" : "lib/SNMP/Info/Layer2/Ubiquiti.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer2::ZyXEL_DSLAM" : {
"file" : "lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3" : {
"file" : "lib/SNMP/Info/Layer3.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Aironet" : {
"file" : "lib/SNMP/Info/Layer3/Aironet.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::AlcatelLucent" : {
"file" : "lib/SNMP/Info/Layer3/AlcatelLucent.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::AlteonAD" : {
"file" : "lib/SNMP/Info/Layer3/AlteonAD.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Altiga" : {
"file" : "lib/SNMP/Info/Layer3/Altiga.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Arista" : {
"file" : "lib/SNMP/Info/Layer3/Arista.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Aruba" : {
"file" : "lib/SNMP/Info/Layer3/Aruba.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::BayRS" : {
"file" : "lib/SNMP/Info/Layer3/BayRS.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::BlueCoatSG" : {
"file" : "lib/SNMP/Info/Layer3/BlueCoatSG.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::C3550" : {
"file" : "lib/SNMP/Info/Layer3/C3550.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::C4000" : {
"file" : "lib/SNMP/Info/Layer3/C4000.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::C6500" : {
"file" : "lib/SNMP/Info/Layer3/C6500.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::CheckPoint" : {
"file" : "lib/SNMP/Info/Layer3/CheckPoint.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Cisco" : {
"file" : "lib/SNMP/Info/Layer3/Cisco.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::CiscoASA" : {
"file" : "lib/SNMP/Info/Layer3/CiscoASA.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::CiscoFWSM" : {
"file" : "lib/SNMP/Info/Layer3/CiscoFWSM.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::CiscoSwitch" : {
"file" : "lib/SNMP/Info/Layer3/CiscoSwitch.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Contivity" : {
"file" : "lib/SNMP/Info/Layer3/Contivity.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Cumulus" : {
"file" : "lib/SNMP/Info/Layer3/Cumulus.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::DLink" : {
"file" : "lib/SNMP/Info/Layer3/DLink.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Dell" : {
"file" : "lib/SNMP/Info/Layer3/Dell.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::ERX" : {
"file" : "lib/SNMP/Info/Layer3/ERX.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Enterasys" : {
"file" : "lib/SNMP/Info/Layer3/Enterasys.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Extreme" : {
"file" : "lib/SNMP/Info/Layer3/Extreme.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::F5" : {
"file" : "lib/SNMP/Info/Layer3/F5.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Force10" : {
"file" : "lib/SNMP/Info/Layer3/Force10.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Fortinet" : {
"file" : "lib/SNMP/Info/Layer3/Fortinet.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Foundry" : {
"file" : "lib/SNMP/Info/Layer3/Foundry.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Genua" : {
"file" : "lib/SNMP/Info/Layer3/Genua.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::H3C" : {
"file" : "lib/SNMP/Info/Layer3/H3C.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::HP9300" : {
"file" : "lib/SNMP/Info/Layer3/HP9300.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Huawei" : {
"file" : "lib/SNMP/Info/Layer3/Huawei.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::IBMGbTor" : {
"file" : "lib/SNMP/Info/Layer3/IBMGbTor.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Juniper" : {
"file" : "lib/SNMP/Info/Layer3/Juniper.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Lantronix" : {
"file" : "lib/SNMP/Info/Layer3/Lantronix.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Microsoft" : {
"file" : "lib/SNMP/Info/Layer3/Microsoft.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Mikrotik" : {
"file" : "lib/SNMP/Info/Layer3/Mikrotik.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::N1600" : {
"file" : "lib/SNMP/Info/Layer3/N1600.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::NetSNMP" : {
"file" : "lib/SNMP/Info/Layer3/NetSNMP.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Netscreen" : {
"file" : "lib/SNMP/Info/Layer3/Netscreen.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Nexus" : {
"file" : "lib/SNMP/Info/Layer3/Nexus.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::OneAccess" : {
"file" : "lib/SNMP/Info/Layer3/OneAccess.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::PacketFront" : {
"file" : "lib/SNMP/Info/Layer3/PacketFront.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::PaloAlto" : {
"file" : "lib/SNMP/Info/Layer3/PaloAlto.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Passport" : {
"file" : "lib/SNMP/Info/Layer3/Passport.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Pf" : {
"file" : "lib/SNMP/Info/Layer3/Pf.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Pica8" : {
"file" : "lib/SNMP/Info/Layer3/Pica8.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::SonicWALL" : {
"file" : "lib/SNMP/Info/Layer3/SonicWALL.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Steelhead" : {
"file" : "lib/SNMP/Info/Layer3/Steelhead.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Sun" : {
"file" : "lib/SNMP/Info/Layer3/Sun.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Tasman" : {
"file" : "lib/SNMP/Info/Layer3/Tasman.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::Timetra" : {
"file" : "lib/SNMP/Info/Layer3/Timetra.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::VMware" : {
"file" : "lib/SNMP/Info/Layer3/VMware.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer3::VyOS" : {
"file" : "lib/SNMP/Info/Layer3/VyOS.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7" : {
"file" : "lib/SNMP/Info/Layer7.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7::APC" : {
"file" : "lib/SNMP/Info/Layer7/APC.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7::Arbor" : {
"file" : "lib/SNMP/Info/Layer7/Arbor.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7::CiscoIPS" : {
"file" : "lib/SNMP/Info/Layer7/CiscoIPS.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7::Gigamon" : {
"file" : "lib/SNMP/Info/Layer7/Gigamon.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7::Liebert" : {
"file" : "lib/SNMP/Info/Layer7/Liebert.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7::Neoteris" : {
"file" : "lib/SNMP/Info/Layer7/Neoteris.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::Layer7::Netscaler" : {
"file" : "lib/SNMP/Info/Layer7/Netscaler.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::MAU" : {
"file" : "lib/SNMP/Info/MAU.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::MRO" : {
"file" : "lib/SNMP/Info/MRO.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::NortelStack" : {
"file" : "lib/SNMP/Info/NortelStack.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::PowerEthernet" : {
"file" : "lib/SNMP/Info/PowerEthernet.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::RapidCity" : {
"file" : "lib/SNMP/Info/RapidCity.pm",
"version" : "3.60"
"version" : "3.64"
},
"SNMP::Info::SONMP" : {
"file" : "lib/SNMP/Info/SONMP.pm",
"version" : "3.60"
"version" : "3.64"
}
},
"release_status" : "stable",
@@ -575,6 +582,6 @@
"x_IRC" : "irc://irc.freenode.org/#netdisco",
"x_MailingList" : "https://lists.sourceforge.net/lists/listinfo/snmp-info-users"
},
"version" : "3.60",
"version" : "3.64",
"x_serialization_backend" : "JSON::PP version 2.97001"
}

264
META.yml
View File

@@ -6,6 +6,8 @@ build_requires:
Class::Inspector: '0'
File::Find: '0'
File::Slurper: '0'
Module::Find: '0'
NetSNMP::default_store: '0'
Path::Class: '0'
Test::Class::Most: '0'
Test::Distribution: '0'
@@ -24,388 +26,391 @@ name: SNMP-Info
provides:
SNMP::Info:
file: lib/SNMP/Info.pm
version: '3.60'
version: '3.64'
SNMP::Info::AMAP:
file: lib/SNMP/Info/AMAP.pm
version: '3.60'
version: '3.64'
SNMP::Info::AdslLine:
file: lib/SNMP/Info/AdslLine.pm
version: '3.60'
version: '3.64'
SNMP::Info::Aggregate:
file: lib/SNMP/Info/Aggregate.pm
version: '3.60'
version: '3.64'
SNMP::Info::Airespace:
file: lib/SNMP/Info/Airespace.pm
version: '3.60'
version: '3.64'
SNMP::Info::Bridge:
file: lib/SNMP/Info/Bridge.pm
version: '3.60'
version: '3.64'
SNMP::Info::CDP:
file: lib/SNMP/Info/CDP.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoAgg:
file: lib/SNMP/Info/CiscoAgg.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoConfig:
file: lib/SNMP/Info/CiscoConfig.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoPortSecurity:
file: lib/SNMP/Info/CiscoPortSecurity.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoPower:
file: lib/SNMP/Info/CiscoPower.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoQOS:
file: lib/SNMP/Info/CiscoQOS.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoRTT:
file: lib/SNMP/Info/CiscoRTT.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoStack:
file: lib/SNMP/Info/CiscoStack.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoStats:
file: lib/SNMP/Info/CiscoStats.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoStpExtensions:
file: lib/SNMP/Info/CiscoStpExtensions.pm
version: '3.60'
version: '3.64'
SNMP::Info::CiscoVTP:
file: lib/SNMP/Info/CiscoVTP.pm
version: '3.60'
version: '3.64'
SNMP::Info::EDP:
file: lib/SNMP/Info/EDP.pm
version: '3.60'
version: '3.64'
SNMP::Info::Entity:
file: lib/SNMP/Info/Entity.pm
version: '3.60'
version: '3.64'
SNMP::Info::EtherLike:
file: lib/SNMP/Info/EtherLike.pm
version: '3.60'
version: '3.64'
SNMP::Info::FDP:
file: lib/SNMP/Info/FDP.pm
version: '3.60'
version: '3.64'
SNMP::Info::IEEE802dot11:
file: lib/SNMP/Info/IEEE802dot11.pm
version: '3.60'
version: '3.64'
SNMP::Info::IEEE802dot3ad:
file: lib/SNMP/Info/IEEE802dot3ad.pm
version: '3.60'
version: '3.64'
SNMP::Info::IPv6:
file: lib/SNMP/Info/IPv6.pm
version: '3.60'
version: '3.64'
SNMP::Info::LLDP:
file: lib/SNMP/Info/LLDP.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer1:
file: lib/SNMP/Info/Layer1.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer1::Allied:
file: lib/SNMP/Info/Layer1/Allied.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer1::Asante:
file: lib/SNMP/Info/Layer1/Asante.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer1::Bayhub:
file: lib/SNMP/Info/Layer1/Bayhub.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer1::Cyclades:
file: lib/SNMP/Info/Layer1/Cyclades.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer1::S3000:
file: lib/SNMP/Info/Layer1/S3000.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2:
file: lib/SNMP/Info/Layer2.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::3Com:
file: lib/SNMP/Info/Layer2/3Com.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Adtran:
file: lib/SNMP/Info/Layer2/Adtran.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Aerohive:
file: lib/SNMP/Info/Layer2/Aerohive.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Airespace:
file: lib/SNMP/Info/Layer2/Airespace.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Aironet:
file: lib/SNMP/Info/Layer2/Aironet.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Allied:
file: lib/SNMP/Info/Layer2/Allied.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Atmedia:
file: lib/SNMP/Info/Layer2/Atmedia.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Baystack:
file: lib/SNMP/Info/Layer2/Baystack.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::C1900:
file: lib/SNMP/Info/Layer2/C1900.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::C2900:
file: lib/SNMP/Info/Layer2/C2900.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Catalyst:
file: lib/SNMP/Info/Layer2/Catalyst.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Centillion:
file: lib/SNMP/Info/Layer2/Centillion.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Cisco:
file: lib/SNMP/Info/Layer2/Cisco.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::CiscoSB:
file: lib/SNMP/Info/Layer2/CiscoSB.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Exinda:
file: lib/SNMP/Info/Layer2/Exinda.pm
version: '3.64'
SNMP::Info::Layer2::HP:
file: lib/SNMP/Info/Layer2/HP.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::HP4000:
file: lib/SNMP/Info/Layer2/HP4000.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::HPVC:
file: lib/SNMP/Info/Layer2/HPVC.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Kentrox:
file: lib/SNMP/Info/Layer2/Kentrox.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::N2270:
file: lib/SNMP/Info/Layer2/N2270.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::NAP222x:
file: lib/SNMP/Info/Layer2/NAP222x.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::NWSS2300:
file: lib/SNMP/Info/Layer2/NWSS2300.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Netgear:
file: lib/SNMP/Info/Layer2/Netgear.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Nexans:
file: lib/SNMP/Info/Layer2/Nexans.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Orinoco:
file: lib/SNMP/Info/Layer2/Orinoco.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Sixnet:
file: lib/SNMP/Info/Layer2/Sixnet.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Trapeze:
file: lib/SNMP/Info/Layer2/Trapeze.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::Ubiquiti:
file: lib/SNMP/Info/Layer2/Ubiquiti.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer2::ZyXEL_DSLAM:
file: lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3:
file: lib/SNMP/Info/Layer3.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Aironet:
file: lib/SNMP/Info/Layer3/Aironet.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::AlcatelLucent:
file: lib/SNMP/Info/Layer3/AlcatelLucent.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::AlteonAD:
file: lib/SNMP/Info/Layer3/AlteonAD.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Altiga:
file: lib/SNMP/Info/Layer3/Altiga.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Arista:
file: lib/SNMP/Info/Layer3/Arista.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Aruba:
file: lib/SNMP/Info/Layer3/Aruba.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::BayRS:
file: lib/SNMP/Info/Layer3/BayRS.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::BlueCoatSG:
file: lib/SNMP/Info/Layer3/BlueCoatSG.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::C3550:
file: lib/SNMP/Info/Layer3/C3550.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::C4000:
file: lib/SNMP/Info/Layer3/C4000.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::C6500:
file: lib/SNMP/Info/Layer3/C6500.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::CheckPoint:
file: lib/SNMP/Info/Layer3/CheckPoint.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Cisco:
file: lib/SNMP/Info/Layer3/Cisco.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::CiscoASA:
file: lib/SNMP/Info/Layer3/CiscoASA.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::CiscoFWSM:
file: lib/SNMP/Info/Layer3/CiscoFWSM.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::CiscoSwitch:
file: lib/SNMP/Info/Layer3/CiscoSwitch.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Contivity:
file: lib/SNMP/Info/Layer3/Contivity.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Cumulus:
file: lib/SNMP/Info/Layer3/Cumulus.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::DLink:
file: lib/SNMP/Info/Layer3/DLink.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Dell:
file: lib/SNMP/Info/Layer3/Dell.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::ERX:
file: lib/SNMP/Info/Layer3/ERX.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Enterasys:
file: lib/SNMP/Info/Layer3/Enterasys.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Extreme:
file: lib/SNMP/Info/Layer3/Extreme.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::F5:
file: lib/SNMP/Info/Layer3/F5.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Force10:
file: lib/SNMP/Info/Layer3/Force10.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Fortinet:
file: lib/SNMP/Info/Layer3/Fortinet.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Foundry:
file: lib/SNMP/Info/Layer3/Foundry.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Genua:
file: lib/SNMP/Info/Layer3/Genua.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::H3C:
file: lib/SNMP/Info/Layer3/H3C.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::HP9300:
file: lib/SNMP/Info/Layer3/HP9300.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Huawei:
file: lib/SNMP/Info/Layer3/Huawei.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::IBMGbTor:
file: lib/SNMP/Info/Layer3/IBMGbTor.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Juniper:
file: lib/SNMP/Info/Layer3/Juniper.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Lantronix:
file: lib/SNMP/Info/Layer3/Lantronix.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Microsoft:
file: lib/SNMP/Info/Layer3/Microsoft.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Mikrotik:
file: lib/SNMP/Info/Layer3/Mikrotik.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::N1600:
file: lib/SNMP/Info/Layer3/N1600.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::NetSNMP:
file: lib/SNMP/Info/Layer3/NetSNMP.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Netscreen:
file: lib/SNMP/Info/Layer3/Netscreen.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Nexus:
file: lib/SNMP/Info/Layer3/Nexus.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::OneAccess:
file: lib/SNMP/Info/Layer3/OneAccess.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::PacketFront:
file: lib/SNMP/Info/Layer3/PacketFront.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::PaloAlto:
file: lib/SNMP/Info/Layer3/PaloAlto.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Passport:
file: lib/SNMP/Info/Layer3/Passport.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Pf:
file: lib/SNMP/Info/Layer3/Pf.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Pica8:
file: lib/SNMP/Info/Layer3/Pica8.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::SonicWALL:
file: lib/SNMP/Info/Layer3/SonicWALL.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Steelhead:
file: lib/SNMP/Info/Layer3/Steelhead.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Sun:
file: lib/SNMP/Info/Layer3/Sun.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Tasman:
file: lib/SNMP/Info/Layer3/Tasman.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::Timetra:
file: lib/SNMP/Info/Layer3/Timetra.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::VMware:
file: lib/SNMP/Info/Layer3/VMware.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer3::VyOS:
file: lib/SNMP/Info/Layer3/VyOS.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7:
file: lib/SNMP/Info/Layer7.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7::APC:
file: lib/SNMP/Info/Layer7/APC.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7::Arbor:
file: lib/SNMP/Info/Layer7/Arbor.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7::CiscoIPS:
file: lib/SNMP/Info/Layer7/CiscoIPS.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7::Gigamon:
file: lib/SNMP/Info/Layer7/Gigamon.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7::Liebert:
file: lib/SNMP/Info/Layer7/Liebert.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7::Neoteris:
file: lib/SNMP/Info/Layer7/Neoteris.pm
version: '3.60'
version: '3.64'
SNMP::Info::Layer7::Netscaler:
file: lib/SNMP/Info/Layer7/Netscaler.pm
version: '3.60'
version: '3.64'
SNMP::Info::MAU:
file: lib/SNMP/Info/MAU.pm
version: '3.60'
version: '3.64'
SNMP::Info::MRO:
file: lib/SNMP/Info/MRO.pm
version: '3.60'
version: '3.64'
SNMP::Info::NortelStack:
file: lib/SNMP/Info/NortelStack.pm
version: '3.60'
version: '3.64'
SNMP::Info::PowerEthernet:
file: lib/SNMP/Info/PowerEthernet.pm
version: '3.60'
version: '3.64'
SNMP::Info::RapidCity:
file: lib/SNMP/Info/RapidCity.pm
version: '3.60'
version: '3.64'
SNMP::Info::SONMP:
file: lib/SNMP/Info/SONMP.pm
version: '3.60'
version: '3.64'
recommends:
Class::ISA: '0'
File::Slurp: '0'
@@ -414,6 +419,7 @@ recommends:
PPI: '0'
requires:
Math::BigInt: '0'
NetAddr::IP: '4.068'
SNMP: '0'
resources:
IRC: irc://irc.freenode.org/#netdisco
@@ -422,5 +428,5 @@ resources:
homepage: http://netdisco.org/
license: http://opensource.org/licenses/bsd-license.php
repository: https://github.com/netdisco/snmp-info
version: '3.60'
version: '3.64'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

75
README
View File

@@ -2,13 +2,13 @@ NAME
SNMP::Info - OO Interface to Network devices and MIBs through SNMP
VERSION
SNMP::Info - Version 3.60
SNMP::Info - Version 3.64
AUTHOR
SNMP::Info is maintained by team of Open Source authors headed by Eric
Miller, Bill Fenner, Max Baker, Jeroen van Ingen and Oliver Gorwits.
Please visit <http://sourceforge.net/projects/snmp-info/> for most
Please visit <https://github.com/netdisco/snmp-info/> for the most
up-to-date list of developers.
SNMP::Info was originally created at UCSC for the Netdisco project
@@ -137,8 +137,7 @@ REQUIREMENTS
If you are using SNMP::Info separate from Netdisco, download the
Netdisco MIB package at
<http://sourceforge.net/projects/netdisco/files/netdisco-mibs/latest
-snapshot/>
<https://github.com/netdisco/netdisco-mibs/releases/latest/>
Make sure that your snmp.conf is updated to point to your MIB
directory and that the MIBs are world-readable.
@@ -169,8 +168,8 @@ DESIGN GOALS
See the section EXTENDING SNMP::INFO for more details.
When you make a new subclass for a device, please be sure to send it
back to the developers (via Source Forge or the mailing list) for
inclusion in the next version.
back to the developers (via a github pull request or the mailing
list) for inclusion in the next version.
SUBCLASSES
These are the subclasses that implement MIBs and support devices:
@@ -491,8 +490,13 @@ SUBCLASSES
See documentation in SNMP::Info::Layer2::CiscoSB for details.
SNMP::Info::Layer2::Exinda
Subclass for Exinda / GFI Network Orchestrator traffic shapers.
See documentation in SNMP::Info::Layer2::Exinda for details.
SNMP::Info::Layer2::HP
Subclass for more recent HP Procurve Switches
Subclass for more recent HP Procurve Switches.
Requires HP-ICF-OID and ENTITY-MIB downloaded from HP.
@@ -863,8 +867,7 @@ SUBCLASSES
SNMP::Info::Layer7::CiscoIPS
Subclass for Cisco IPS devices
See documentation in "SNMP::Info::Layer7::Cisco IPS" for
details.
See documentation in SNMP::Info::Layer7::CiscoIPS for details.
SNMP::Info::Layer7::Gigamon
Subclass for Gigamon devices
@@ -1402,29 +1405,39 @@ USAGE
("ifSpecific")
IP Address Table
Each entry in this table is an IP address in use on this device. Usually
this is implemented in Layer3 Devices.
IPv4 Address Table
Each entry in this table is an IPv4 address in use on this device.
Usually this is implemented in Layer3 Devices. These methods try the
deprecated IPv4 address table "IP-MIB::ipAddrTable" first due to its
prevalence and will try the current "IP-MIB::ipAddressTable" if it
doesn't return any results. "IP-MIB::ipAddressTable" results are
filtered to only return IPv4 unicast addresses and modified to match the
return format of the older table for backwards compatibility.
See documentation in SNMP::Info::IPv6 for IPv6 Address Table.
$info->ip_index()
Maps the IP Table to the IID
Maps the IPv4 addresses to the interface index
("ipAdEntIfIndex")
("ipAdEntIfIndex") or filtered and index modified
("ipAddressIfIndex")
$info->ip_table()
Maps the Table to the IP address
Maps the Table to the IPv4 address
("ipAdEntAddr")
("ipAdEntAddr") or address extracted from ("ipAddressIfIndex")
$info->ip_netmask()
Gives netmask setting for IP table entry.
Gives netmask setting for IPv4 table entry.
("ipAdEntNetMask")
("ipAdEntNetMask") or netmask calculated from ("ipAddressPrefix")
$info->ip_broadcast()
Gives broadcast address for IP table entry.
Gives the value of the least-significant bit in the IPv4 broadcast
address either 1 or 0.
("ipAdEntBcastAddr")
("ipAdEntBcastAddr"), there is no equivalent from the
"IP-MIB::ipAddressTable"
IP Routing Table
$info->ipr_route()
@@ -1681,8 +1694,8 @@ EXTENDING SNMP::INFO
to verify the implementation.
Gathering MIB data for SNMP::Info Developers
The preference is to open a feature request in the SourceForge project.
This allows all developers to have visibility into the request. Please
The preference is to open a pull request in the github project. This
allows all developers to have visibility into the request. Please
include pointers to the applicable platform MIBs. For development we
will need an "snmpwalk" of the device. There is a tool now included in
the SNMP::Info distribution to help with this task, although you'll most
@@ -1700,10 +1713,9 @@ EXTENDING SNMP::INFO
This will print to the file every MIB entry with data in a format that
the developers can use to emulate read operations without needing access
to the device. Preference would be to mask any sensitive data in the
output, zip the file, and upload as an attachment to the Sourceforge
tracker. However, if you do not feel comfortable uploading the output to
the tracker you could e-mail it to the developer that has claimed the
ticket.
output, zip the file, and attach it to the github pull request. However,
if you do not feel comfortable uploading the output to the tracker you
could e-mail it to the developer that has claimed the ticket.
Data Structures required in new Subclass
A class inheriting this class must implement these data structures :
@@ -1849,10 +1861,6 @@ EXTENDING SNMP::INFO
1; # don't forget this line
----------------------- snip --------------------------------
Be sure and send the debugged version to
snmp-info-users@lists.sourceforge.net to be included in the next version
of SNMP::Info.
SNMP::INFO INTERNALS
Object Namespace
Internal data is stored with bareword keys. For example $info->{debug}
@@ -1988,6 +1996,13 @@ SNMP::INFO INTERNALS
Takes an OID and return the object name if the right MIB is loaded.
Internally Used Functions
resolve_desthost()
Takes the SNMP::Session "DestHost" argument and determines if it is
an 'IPv4' or 'IPv6' host. 'IPv6' hosts are prefixed with the "udp6:"
"transport-specifier" as required by the undelying "Net-SNMP"
library. If unable to determine the type of address or resolve a DNS
name, dies with "croak".
$info->init()
Used internally. Loads all entries in %MIBS.

View File

@@ -7,9 +7,14 @@ Coding Guidelines:
- check-in required mibs to netdisco-mibs and release new package if needed
Release and Testing Instructions:
- Please see misc/RELEASE in Netdisco
( http://netdisco.cvs.sourceforge.net/viewvc/netdisco/misc/RELEASE?view=markup )
and follow all testing and release guidelines
- for netdisco see:
-> https://github.com/netdisco/netdisco/wiki/Developing
-> https://metacpan.org/pod/App::Netdisco
- for snmp::info see:
-> https://github.com/netdisco/snmp-info/wiki/Release-Process
-> https://metacpan.org/pod/SNMP::Info#EXTENDING-SNMP::INFO
- for netdisco-mibs see:
-> https://github.com/netdisco/netdisco-mibs/wiki
FAQ:
- Do I have to update the version number and timestamp in modified files before committing?

View File

@@ -16,6 +16,7 @@ use Exporter;
use SNMP;
use Carp;
use Math::BigInt;
use NetAddr::IP::Lite ':lower';
@SNMP::Info::ISA = qw/Exporter/;
@SNMP::Info::EXPORT_OK = qw//;
@@ -24,7 +25,7 @@ use vars
qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_MAP
$NOSUCH $BIGINT $REPEATERS/;
$VERSION = '3.60';
$VERSION = '3.64';
=head1 NAME
@@ -32,14 +33,14 @@ SNMP::Info - OO Interface to Network devices and MIBs through SNMP
=head1 VERSION
SNMP::Info - Version 3.60
SNMP::Info - Version 3.64
=head1 AUTHOR
SNMP::Info is maintained by team of Open Source authors headed by Eric Miller,
Bill Fenner, Max Baker, Jeroen van Ingen and Oliver Gorwits.
Please visit L<http://sourceforge.net/projects/snmp-info/> for most up-to-date
Please visit L<https://github.com/netdisco/snmp-info/> for the most up-to-date
list of developers.
SNMP::Info was originally created at UCSC for the Netdisco project L<http://netdisco.org>
@@ -170,7 +171,7 @@ install by hand.
SNMP::Info operates on textual descriptors found in MIBs.
If you are using SNMP::Info separate from Netdisco,
download the Netdisco MIB package at L<http://sourceforge.net/projects/netdisco/files/netdisco-mibs/latest-snapshot/>
download the Netdisco MIB package at L<https://github.com/netdisco/netdisco-mibs/releases/latest/>
Make sure that your snmp.conf is updated to point to your MIB directory
and that the MIBs are world-readable.
@@ -208,9 +209,9 @@ subroutine.
See the section EXTENDING SNMP::INFO for more details.
When you make a new subclass for a device, please be sure to send it back to
the developers (via Source Forge or the mailing list) for inclusion in the
next version.
When you make a new subclass for a device, please be sure to send it back
to the developers (via a github pull request or the mailing list) for inclusion
in the next version.
=back
@@ -592,9 +593,15 @@ Linksys. This currently comprises the Sx300/500 line of switches.
See documentation in L<SNMP::Info::Layer2::CiscoSB> for details.
=item SNMP::Info::Layer2::Exinda
Subclass for Exinda / GFI Network Orchestrator traffic shapers.
See documentation in L<SNMP::Info::Layer2::Exinda> for details.
=item SNMP::Info::Layer2::HP
Subclass for more recent HP Procurve Switches
Subclass for more recent HP Procurve Switches.
Requires F<HP-ICF-OID> and F<ENTITY-MIB> downloaded from HP.
@@ -1039,7 +1046,7 @@ See documentation in L<SNMP::Info::Layer7::Arbor> for details.
Subclass for Cisco IPS devices
See documentation in L<SNMP::Info::Layer7::Cisco IPS> for details.
See documentation in L<SNMP::Info::Layer7::CiscoIPS> for details.
=item SNMP::Info::Layer7::Gigamon
@@ -1320,6 +1327,11 @@ sub new {
$new_obj->{mibdirs} = $args{MibDirs};
delete $sess_args{MibDirs};
}
# For IPv6 hosts set transport
if ( defined $sess_args{DestHost} ) {
$sess_args{DestHost} = resolve_desthost($sess_args{DestHost});
}
$new_obj->{nosuch} = $args{RetryNoSuch} || $NOSUCH;
@@ -1647,6 +1659,7 @@ sub device_type {
14823 => 'SNMP::Info::Layer3::Aruba',
14988 => 'SNMP::Info::Layer3::Mikrotik',
17163 => 'SNMP::Info::Layer3::Steelhead',
21091 => 'SNMP::Info::Layer2::Exinda',
25506 => 'SNMP::Info::Layer3::H3C',
25461 => 'SNMP::Info::Layer3::PaloAlto',
26543 => 'SNMP::Info::Layer3::IBMGbTor',
@@ -1689,6 +1702,7 @@ sub device_type {
14823 => 'SNMP::Info::Layer3::Aruba',
17163 => 'SNMP::Info::Layer3::Steelhead',
20540 => 'SNMP::Info::Layer2::Sixnet',
21091 => 'SNMP::Info::Layer2::Exinda',
26543 => 'SNMP::Info::Layer3::IBMGbTor',
26928 => 'SNMP::Info::Layer2::Aerohive',
);
@@ -1805,6 +1819,10 @@ sub device_type {
$objtype = 'SNMP::Info::Layer3::CiscoASA'
if ( $desc =~ /Cisco Adaptive Security Appliance/i );
# Cisco FTD includes an ASA running as lina process
$objtype = 'SNMP::Info::Layer3::CiscoASA'
if ( $desc =~ /Cisco Firepower Threat Defense/i );
# Cisco FWSM
$objtype = 'SNMP::Info::Layer3::CiscoFWSM'
if ( $desc =~ /Cisco Firewall Services Module/i );
@@ -2554,36 +2572,45 @@ See C<IF-MIB> for full description
=back
=head2 IP Address Table
=head2 IPv4 Address Table
Each entry in this table is an IP address in use on this device. Usually
this is implemented in Layer3 Devices.
Each entry in this table is an IPv4 address in use on this device. Usually
this is implemented in Layer3 Devices. These methods try the deprecated IPv4
address table C<IP-MIB::ipAddrTable> first due to its prevalence and will try
the current C<IP-MIB::ipAddressTable> if it doesn't return any results.
C<IP-MIB::ipAddressTable> results are filtered to only return IPv4 unicast
addresses and modified to match the return format of the older table for
backwards compatibility.
See documentation in L<SNMP::Info::IPv6> for IPv6 Address Table.
=over
=item $info->ip_index()
Maps the IP Table to the IID
Maps the IPv4 addresses to the interface index
(C<ipAdEntIfIndex>)
(C<ipAdEntIfIndex>) or filtered and index modified (C<ipAddressIfIndex>)
=item $info->ip_table()
Maps the Table to the IP address
Maps the Table to the IPv4 address
(C<ipAdEntAddr>)
(C<ipAdEntAddr>) or address extracted from (C<ipAddressIfIndex>)
=item $info->ip_netmask()
Gives netmask setting for IP table entry.
Gives netmask setting for IPv4 table entry.
(C<ipAdEntNetMask>)
(C<ipAdEntNetMask>) or netmask calculated from (C<ipAddressPrefix>)
=item $info->ip_broadcast()
Gives broadcast address for IP table entry.
Gives the value of the least-significant bit in the IPv4 broadcast address
either 1 or 0.
(C<ipAdEntBcastAddr>)
(C<ipAdEntBcastAddr>), there is no equivalent from the
C<IP-MIB::ipAddressTable>
=back
@@ -2764,6 +2791,88 @@ no protocols are supported or running.
=cut
sub ip_index {
my $self = shift;
my $o_ip_idx = $self->old_ip_index();
return $o_ip_idx
if ( ref {} eq ref $o_ip_idx and scalar keys %$o_ip_idx );
# Since callers may be using the old iid to get the IP, strip protocol
# and length from the index
my $n_ip_idx = $self->new_ip_index() || {};
my $n_ip_type = $self->new_ip_type() || {};
my %ip_index;
foreach my $iid ( keys %$n_ip_idx ) {
next unless $n_ip_type->{$iid} and $n_ip_type->{$iid} eq 'unicast';
my @parts = split( /\./, $iid );
my $type = shift(@parts);
my $len = shift(@parts);
next unless ( ( $type == 1 ) and ( $len == 4 ) );
my $new_iid = join( ".", @parts );
$ip_index{$new_iid} = $n_ip_idx->{$iid};
}
return \%ip_index;
}
sub ip_table {
my $self = shift;
my $o_ip_table = $self->old_ip_table();
return $o_ip_table
if ( ref {} eq ref $o_ip_table and scalar keys %$o_ip_table );
my $n_ip_idx = $self->new_ip_index() || {};
my $n_ip_type = $self->new_ip_type() || {};
my %ip_table;
foreach my $iid ( keys %$n_ip_idx ) {
next unless $n_ip_type->{$iid} and $n_ip_type->{$iid} eq 'unicast';
my @parts = split( /\./, $iid );
my $type = shift(@parts);
my $len = shift(@parts);
next unless ( ( $type == 1 ) and ( $len == 4 ) );
my $new_iid = join( ".", @parts );
$ip_table{$new_iid} = $new_iid;
}
return \%ip_table;
}
sub ip_netmask {
my $self = shift;
my $o_ip_mask = $self->old_ip_netmask();
return $o_ip_mask
if ( ref {} eq ref $o_ip_mask and scalar keys %$o_ip_mask );
my $n_ip_pfx = $self->new_ip_prefix() || {};
my $n_ip_type = $self->new_ip_type() || {};
my %ip_netmask;
foreach my $iid ( keys %$n_ip_pfx ) {
next unless $n_ip_type->{$iid} and $n_ip_type->{$iid} eq 'unicast';
my @parts = split( /\./, $iid );
my $type = shift(@parts);
my $len = shift(@parts);
next unless ( ( $type == 1 ) and ( $len == 4 ) );
my $prefix = $n_ip_pfx->{$iid};
next if ( !$prefix || $prefix =~ /0\.0$/ );
if ( $prefix =~ /\.(\d+)$/ ) {
$prefix = $1;
}
my $new_iid = join( ".", @parts );
my $mask = NetAddr::IP::Lite->new( $new_iid . '/' . $prefix )->mask()
|| undef;
$ip_netmask{$new_iid} = $mask;
}
return \%ip_netmask;
}
sub has_topo {
my $self = shift;
@@ -3060,7 +3169,7 @@ implementation.
=head2 Gathering MIB data for SNMP::Info Developers
The preference is to open a feature request in the SourceForge project. This
The preference is to open a pull request in the github project. This
allows all developers to have visibility into the request. Please include
pointers to the applicable platform MIBs. For development we will need an
C<snmpwalk> of the device. There is a tool now included in the SNMP::Info
@@ -3077,10 +3186,10 @@ The utility is named C<make_snmpdata.pl>. Run it with a command line like:
This will print to the file every MIB entry with data in a format that the
developers can use to emulate read operations without needing access to the
device. Preference would be to mask any sensitive data in the output, zip the
file, and upload as an attachment to the Sourceforge tracker. However, if you
do not feel comfortable uploading the output to the tracker you could e-mail
it to the developer that has claimed the ticket.
device. Preference would be to mask any sensitive data in the output, zip
the file, and attach it to the github pull request. However, if you do not
feel comfortable uploading the output to the tracker you could e-mail it
to the developer that has claimed the ticket.
=head2 Data Structures required in new Subclass
@@ -3176,11 +3285,16 @@ ALTEON-TS-PHYSICAL-MIB::agPortCurCfgPortName.
# IF-MIB::IfStackTable
'i_stack_status' => 'ifStackStatus',
# IP::MIB::ipAddrTable (deprecated IPv4 address table)
'ip_index' => 'ipAdEntIfIndex',
'ip_table' => 'ipAdEntAddr',
'ip_netmask' => 'ipAdEntNetMask',
'ip_broadcast' => 'ipAdEntBcastAddr',
# IP-MIB::ipAddrTable (deprecated IPv4 address table)
'old_ip_index' => 'ipAdEntIfIndex',
'old_ip_table' => 'ipAdEntAddr',
'old_ip_netmask' => 'ipAdEntNetMask',
'ip_broadcast' => 'ipAdEntBcastAddr',
# IP-MIB::ipAddressTable
'new_ip_index' => 'ipAddressIfIndex',
'new_ip_prefix' => 'ipAddressPrefix',
'new_ip_type' => 'ipAddressType',
# IF-MIB::ifXTable - Extension Table
'i_speed_high' => 'ifHighSpeed',
@@ -3362,8 +3476,6 @@ will inherit the Cisco Vlan module as an example.
1; # don't forget this line
----------------------- snip --------------------------------
Be sure and send the debugged version to snmp-info-users@lists.sourceforge.net to be
included in the next version of SNMP::Info.
=head1 SNMP::INFO INTERNALS
@@ -3745,6 +3857,35 @@ sub munge_e_type {
=over
=item resolve_desthost()
Takes the SNMP::Session C<DestHost> argument and determines if it is an
'IPv4' or 'IPv6' host. 'IPv6' hosts are prefixed with the C<udp6:>
C<transport-specifier> as required by the undelying C<Net-SNMP> library.
If unable to determine the type of address or resolve a DNS name, dies with
C<croak>.
=cut
sub resolve_desthost {
my $desthost = shift;
# If we have an IPv6 transport-specifier strip it
$desthost =~ s/^(?:udp6:|udpv6:|udpipv6:)//x;
my $ip = NetAddr::IP::Lite->new($desthost);
if ($ip and $ip->bits == 32) {
return $ip->addr;
}
elsif ($ip and $ip->bits == 128) {
return 'udp6:' . $ip->addr;
}
else {
croak "Unable to resolve DestHost: $desthost to an IP\n";
}
}
=item $info->init()
Used internally. Loads all entries in %MIBS.
@@ -4514,6 +4655,8 @@ sub snmp_connect_ip {
my $comm = $self->snmp_comm();
return if $self->{Offline};
$ip = resolve_desthost($ip);
return if ( $ip eq '0.0.0.0' ) or ( $ip =~ /^127\./ );
# Create session object
@@ -4543,7 +4686,6 @@ sub snmp_connect_ip {
}
return 1;
}
=item modify_port_list(portlist,offset,replacement)

View File

@@ -38,7 +38,7 @@ use SNMP::Info;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS
= ( 'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType', );

View File

@@ -38,7 +38,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'ADSL-LINE-MIB' => 'adslLineType' );

View File

@@ -38,7 +38,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
# Load MIB for leafs referenced within class
%MIBS = ('IF-MIB' => 'ifIndex',);

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS,
@@ -508,8 +508,8 @@ sub ip_index {
my $airespace = shift;
my $partial = shift;
my $ip_index = $airespace->orig_ip_index($partial) || {};
my $if_ip = $airespace->airespace_if_ip() || {};
my $ip_index = $airespace->SUPER::ip_index($partial) || {};
my $if_ip = $airespace->airespace_if_ip() || {};
my %ip_index;
foreach my $ip ( keys %$ip_index ) {
@@ -534,9 +534,9 @@ sub ip_netmask {
my $airespace = shift;
my $partial = shift;
my $ip_mask = $airespace->orig_ip_netmask($partial) || {};
my $if_ip = $airespace->airespace_if_ip() || {};
my $if_mask = $airespace->airespace_if_mask() || {};
my $ip_mask = $airespace->SUPER::ip_netmask($partial) || {};
my $if_ip = $airespace->airespace_if_ip() || {};
my $if_mask = $airespace->airespace_if_mask() || {};
my %ip_netmask;
foreach my $ip ( keys %$ip_mask ) {

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
use vars qw/$VERSION $DEBUG %MIBS %FUNCS %GLOBALS %MUNGE $INIT/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
'BRIDGE-MIB' => 'dot1dBaseBridgeAddress',

View File

@@ -43,7 +43,7 @@ use SNMP::Info;
use vars
qw/$VERSION $DEBUG %FUNCS %GLOBALS %MIBS %MUNGE $INIT %CDP_CAPABILITIES/;
$VERSION = '3.60';
$VERSION = '3.64';
# Five data structures required by SNMP::Info
%MIBS = ( 'CISCO-CDP-MIB' => 'cdpGlobalRun' );
@@ -54,7 +54,7 @@ $VERSION = '3.60';
'cdp_run' => 'cdpGlobalRun',
'cdp_interval' => 'cdpGlobalMessageInterval',
'cdp_holdtime' => 'cdpGlobalHoldTime',
'cdp_gid' => 'cdpGlobalDeviceId',
'cdp_gid' => 'cdpGlobalDeviceId',
);
%FUNCS = (
@@ -62,7 +62,7 @@ $VERSION = '3.60';
'cdp_addr' => 'cdpCacheAddress',
'cdp_ver' => 'cdpCacheVersion',
'cdp_dev_id' => 'cdpCacheDeviceId',
'cdp_port' => 'cdpCacheDevicePort',
'cdp_dev_port' => 'cdpCacheDevicePort',
'cdp_platform' => 'cdpCachePlatform',
'cdp_capabilities' => 'cdpCacheCapabilities',
'cdp_domain' => 'cdpCacheVTPMgmtDomain',
@@ -79,7 +79,6 @@ $VERSION = '3.60';
'cdp_capabilities' => \&SNMP::Info::munge_bits,
'cdp_platform' => \&SNMP::Info::munge_null,
'cdp_domain' => \&SNMP::Info::munge_null,
'cdp_port' => \&SNMP::Info::munge_null,
'cdp_ver' => \&SNMP::Info::munge_null,
'cdp_ip' => \&SNMP::Info::munge_ip,
'cdp_power' => \&munge_power,
@@ -110,18 +109,16 @@ sub munge_power {
sub hasCDP {
my $cdp = shift;
my $ver = $cdp->{_version};
# Check the global that is supposed to indicate CDP is running
my $cdp_run = $cdp->cdp_run();
return 1 if $cdp_run;
# SNMP v1 clients dont have the globals
if ( defined $ver and $ver == 1 ) {
my $cdp_ip = $cdp->cdp_ip();
# SNMP v1 clients don't have the globals, fallback
# by checking if it would report neighbors
my $cdp_ip = $cdp->cdp_ip() || {};
return 1 if scalar keys %$cdp_ip;
# See if anything in cdp cache, if so we have cdp
return 1 if ( defined $cdp_ip and scalar( keys %$cdp_ip ) );
return;
}
return $cdp->cdp_run();
return;
}
sub cdp_if {
@@ -219,6 +216,22 @@ sub cdp_id {
return \%cdp_id;
}
sub cdp_port {
my $cdp = shift;
my $partial = shift;
my $ch = $cdp->cdp_dev_port($partial) || {};
my %cdp_port;
foreach my $key ( sort keys %$ch ) {
my $port = $ch->{$key};
next unless $port;
$port = SNMP::Info::munge_mac($port) || SNMP::Info::munge_null($port);
$cdp_port{$key} = $port;
}
return \%cdp_port;
}
1;
__END__

View File

@@ -43,7 +43,7 @@ use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::IEEE802dot3ad::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
'CISCO-CONFIG-COPY-MIB' => 'ccCopyTable',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE %PAECAPABILITIES/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
'CISCO-PORT-SECURITY-MIB' => 'ciscoPortSecurityMIB',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
'CISCO-CDP-MIB' => 'cdpCachePowerConsumption' );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'CISCO-CLASS-BASED-QOS-MIB' => 'cbQosIfIndex', );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'CISCO-RTTMON-MIB' => 'rttMonCtrlAdminOwner', );

View File

@@ -38,7 +38,7 @@ use Exporter;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE %PORTSTAT/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'CISCO-STACK-MIB' => 'ciscoStackMIB', );

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
'SNMPv2-MIB' => 'sysDescr',

View File

@@ -36,7 +36,7 @@ use SNMP::Info::Bridge;
use vars qw/$VERSION $DEBUG %MIBS %FUNCS %GLOBALS %MUNGE %PORTSTAT $INIT/;
$VERSION = '3.60';
$VERSION = '3.64';
@SNMP::Info::CiscoStpExtensions::ISA = qw/SNMP::Info::Bridge SNMP::Info Exporter/;
@SNMP::Info::CiscoStpExtensions::EXPORT_OK = qw//;

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
'CISCO-VTP-MIB' => 'vtpVlanName',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
'EXTREME-EDP-MIB' => 'extremeEdpPortIfIndex',

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'ENTITY-MIB' => 'entPhysicalSerialNum' );

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'EtherLike-MIB' => 'etherMIB' );

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( 'IEEE802dot11-MIB' => 'dot11DesiredSSID', );

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Aggregate;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Aggregate::MIBS,

View File

@@ -44,7 +44,7 @@ use constant {
IPV6MIB => 3,
};
$VERSION = '3.60';
$VERSION = '3.64';

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
'LLDP-MIB' => 'lldpLocSysCapEnabled',
@@ -255,8 +255,7 @@ sub lldp_port {
# May need to format other types in the future, i.e. Network address
if ( $type =~ /mac/ ) {
$port = join( ':',
map { sprintf "%02x", $_ } unpack( 'C*', $port ) );
$port = SNMP::Info::munge_mac($port)
}
}
@@ -291,7 +290,7 @@ sub lldp_id {
# May need to format other types in the future
if ( $type =~ /mac/ ) {
$id = join( ':', map { sprintf "%02x", $_ } unpack( 'C*', $id ) );
$id = SNMP::Info::munge_mac($id)
}
elsif ( $type eq 'networkAddress' ) {
if ( length( unpack( 'H*', $id ) ) == 10 ) {

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( %SNMP::Info::MIBS, 'SNMP-REPEATER-MIB' => 'rptrPortGroupIndex' );

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, 'root_ip' => 'actualIPAddr', );

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, );

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer1;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer1::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -46,7 +46,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,

View File

@@ -1,3 +1,31 @@
# SNMP::Info::Layer2::3Com - SNMP Interface to 3Com Devices
#
# Copyright (c) 2019 by The Netdisco Developer Team.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::3Com;
use strict;
@@ -11,7 +39,7 @@ use SNMP::Info::CDP;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::LLDP::MIBS,

View File

@@ -1,3 +1,31 @@
# SNMP::Info::Layer2::Adtran - SNMP Interface to Adtran Devices
#
# Copyright (c) 2019 by The Netdisco Developer Team.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Adtran;
use strict;
@@ -11,7 +39,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.
@@ -20,9 +48,9 @@ our $index = undef;
%MIBS = (
%SNMP::Info::Layer2::MIBS,
%SNMP::Info::Layer3::MIBS,
'ADTRAN-GENEVC-MIB' => 'adGenEVCMIB',
'ADTRAN-GENMEF-MIB' => 'adGenMEFMIB',
'ADTRAN-GENPORT-MIB' => 'adGenPort',
# 'ADTRAN-GENEVC-MIB' => 'adGenEVCMIB',
# 'ADTRAN-GENMEF-MIB' => 'adGenMEFMIB',
# 'ADTRAN-GENPORT-MIB' => 'adGenPort',
'ADTRAN-MIB' => 'adtran',
'ADTRAN-AOSUNIT' => 'adGenAOSUnitMib',
);

View File

@@ -38,7 +38,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,
@@ -52,6 +52,9 @@ $VERSION = '3.60';
# AH-SYSTEM-MIB
'serial' => 'ahSystemSerial',
'os_bin' => 'ahFirmwareVersion',
# not documented in the most recent mib,
# but this is the base mac for the device
'ah_mac' => '.1.3.6.1.4.1.26928.1.3.2.0',
);
%FUNCS = (
@@ -92,6 +95,13 @@ sub os {
return 'hiveos';
}
sub serial {
my $aerohive = shift;
return $aerohive->ahSystemSerial()
|| $aerohive->SUPER::serial();
}
sub os_ver {
my $aerohive = shift;
my $descr = $aerohive->description();
@@ -102,6 +112,31 @@ sub os_ver {
return;
}
sub mac {
my $aerohive = shift;
my $ahmac = $aerohive->ah_mac();
# newer hiveos version just return the mac address
if (defined $ahmac) {
# aerohive has a 0000:0000:0000 mac format by default,
# change to 00:00:00:00:00:00
$ahmac =~ s/(..)(..:?)/$1:$2/g;
return $ahmac;
}
my @macs;
my $macs = $aerohive->i_mac();
foreach my $iid (keys %$macs) {
if (defined $macs->{$iid}) {
push( @macs, $macs->{$iid} );
}
@macs = sort(@macs);
}
return $macs[0];
}
sub model {
my $aerohive = shift;
my $descr = $aerohive->description();
@@ -335,7 +370,7 @@ See L<SNMP::Info::Layer2/"Required MIBs"> for its MIB requirements.
=head1 GLOBALS
These are methods that return scalar value from SNMP
These are methods that return scalar value from SNMP.
=over
@@ -345,24 +380,30 @@ Returns 'aerohive'.
=item $aerohive->os()
Returns 'hive_os'.
Returns 'hiveos'.
=item $aerohive->serial()
Returns the serial number extracted from C<ahSystemSerial>.
=item $aerohive->os_ver()
Returns the OS versionl extracted from C<sysDescr>.
Returns the OS version extracted from C<sysDescr>.
=item $aerohive->os_bin()
Returns the firmware version extracted from C<ahFirmwareVersion>.
=item $aerohive->mac()
Returns the base mac address of the aerohive unit from an undocumented
snmp oid. if this oid is not available it will walk all interfaces and
return the lowest numbered mac address.
=item $aerohive->model()
Returns the model extracted from C<sysDescr>.
=item $aerohive->serial()
Returns the serial number extracted from C<ahSystemSerial>.
=back
=head2 Overrides
@@ -388,7 +429,7 @@ to a hash.
=item $aerohive->i_ssidlist()
Returns reference to hash. SSID's recognized by the radio interface.
Returns reference to hash. SSID's recognized by the radio interface.
=item $aerohive->i_ssidmac()
@@ -431,17 +472,17 @@ the interface iid.
=item $aerohive->qb_fw_port()
Returns reference to hash of forwarding table entries port interface
identifier (iid)
identifier (iid).
=item $aerohive->qb_fw_mac()
Returns reference to hash of forwarding table MAC Addresses
Returns reference to hash of forwarding table MAC Addresses.
C<ahClientMac>
=item $aerohive->qb_fw_vlan()
Returns reference to hash of forwarding table entries VLAN ID
Returns reference to hash of forwarding table entries VLAN ID.
C<ahClientVLAN>

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Airespace;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,

View File

@@ -49,7 +49,7 @@ use SNMP::Info::IEEE802dot11;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%GLOBALS = (
%SNMP::Info::IEEE802dot11::GLOBALS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer1;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );

View File

@@ -38,7 +38,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( %SNMP::Info::Layer2::MIBS );

View File

@@ -46,7 +46,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::LLDP::MIBS,

View File

@@ -48,7 +48,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2::Cisco;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%GLOBALS = (
%SNMP::Info::Layer2::Cisco::GLOBALS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2::Cisco;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::Cisco::MIBS,

View File

@@ -43,7 +43,7 @@ use SNMP::Info::SONMP;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -52,7 +52,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -50,7 +50,7 @@ use SNMP::Info::CDP;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,

View File

@@ -0,0 +1,210 @@
# SNMP::Info::Layer2::Exinda
#
# Copyright (c) 2018 nick nauwelaerts
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Exinda;
use strict;
use Exporter;
use SNMP::Info::Layer2;
@SNMP::Info::Layer2::Exinda::ISA = qw/
SNMP::Info::Layer2
Exporter
/;
@SNMP::Info::Layer2::Exinda::EXPORT_OK = qw//;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,
'EXINDA-MIB' => 'systemVersion',
);
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
# EXINDA-MIB
'uptime' => 'systemUptime',
'os_ver' => 'systemVersion',
'serial1' => 'systemHostId',
);
%FUNCS = (
%SNMP::Info::Layer2::FUNCS,
);
%MUNGE = (
%SNMP::Info::Layer2::MUNGE,
);
sub layers {
# layer 2: bridged shaping and failopen interfaces
# layer 3/4: ip and layer 4 protocol fiddling and accell
# layer 7: wccp supprt
return '01001110';
}
sub vendor {
return 'exinda';
}
sub model {
my $exinda = shift;
return $exinda->hardwareSeries();
}
sub mac {
# systemHostId is actually also a mac address
my $exinda = shift;
my $exinda_mac = $exinda->systemHostId();
$exinda_mac =~ s/(..)/$1:/g;
chop $exinda_mac;
return $exinda_mac;
}
sub os {
return 'exos';
}
1;
__END__
=head1 NAME
SNMP::Info::Layer2::Exinda - SNMP Interface to exinda / gfi traffic shapers.
=head1 AUTHORS
nick nauwelaerts
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $exinda = new SNMP::Info(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myrouter',
Community => 'public',
Version => 2
)
or die "Can't connect to DestHost.\n";
my $class = $exinda->class();
print "SNMP::Info determined this device to fall under subclass : $class\n";
=head1 DESCRIPTION
Subclass for exinda / gfi network orchestrator traffic shapers.
=head2 Inherited Classes
=over
=item SNMP::Info::Layer2
=back
=head2 Required MIBs
=over
=item F<EXINDA-MIB>
=back
=head2 Inherited MIBs
See L<SNMP::Info::Layer2/"Required MIBs"> for its MIB requirements.
=head1 GLOBALS
These are methods that return scalar value from SNMP.
=over
=item $exinda->layers()
Returns '01001110'.
=item $exinda->mac()
Returns a mac address extracted from C<systemHostId>.
=item $exinda->model()
Returns the model extracted from C<hardwareSeries>.
=item $exinda->os()
Returns 'exos'.
=item $exinda->os_ver()
Returns the os version extracted from C<systemVersion>.
=item $exinda->serial1()
Returns the serial extracted from C<systemHostId>.
=item $exinda->uptime()
Returns the uptime extracted from C<systemUptime>.
=item $exinda->vendor()
Returns 'exinda'.
=back
=head2 Global Methods imported from SNMP::Info::Layer2
See L<SNMP::Info::Layer2/"GLOBALS"> for details.
=head1 TABLE ENTRIES
These are methods that return tables of information in the form of a reference
to a hash.
=head2 Overrides
=over
=back
=head2 Table Methods imported from SNMP::Info::Layer2
See L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
=cut

View File

@@ -50,7 +50,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MODEL_MAP %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -158,6 +158,12 @@ $VERSION = '3.60';
'J8771A' => '4202vl-48G',
'J4865A' => '4108GL',
'J4887A' => '4104GL',
'JL074A' => '3810M-48G-PoE+',
'JL072A' => '3810M-48G',
'JL076A' => '3810M-40G-8SR-PoE+',
'JL073A' => '3810M-24G-PoE+',
'JL071A' => '3810M-24G',
'JL075A' => '3810M-16SFP+',
'J9588A' => '3800-48G-PoE+-4XG',
'J9574A' => '3800-48G-PoE+-4SFP+',
'J9586A' => '3800-48G-4XG',
@@ -177,6 +183,21 @@ $VERSION = '3.60';
'J4905A' => '3400cl-24G',
'J4815A' => '3324XL',
'J4851A' => '3124',
'JL322A' => '2930M-48G-PoE+',
'JL321A' => '2930M-48G',
'JL323A' => '2930M-40G-8SR-PoE+',
'JL320A' => '2930M-24G-PoE+',
'JL324A' => '2930M-24G-8SR-PoE+',
'JL319A' => '2930M-24G',
'JL258A' => '2930F-8G-PoE+-2SFP+',
'JL256A' => '2930F-48G-PoE+-4SFP+',
'JL262A' => '2930F-48G-PoE+-4SFP',
'JL254A' => '2930F-48G-4SFP+',
'JL260A' => '2930F-48G-4SFP',
'JL255A' => '2930F-24G-PoE+-4SFP+',
'JL261A' => '2930F-24G-PoE+-4SFP',
'JL253A' => '2930F-24G-4SFP+',
'JL259A' => '2930F-24G-4SFP',
'J9729A' => '2920-48G-PoE+',
'J9729A' => '2920-48G-PoE+',
'J9728A' => '2920-48G',
@@ -216,6 +237,11 @@ $VERSION = '3.60';
'J9086A' => '2610-24/12PWR',
'J9085A' => '2610-24',
'J8762A' => '2600-8-PWR',
'JL357A' => '2540-48G-PoE+-4SFP+',
'JL355A' => '2540-48G-4SFP+',
'JL356A' => '2540-24G-PoE+-4SFP+',
'JL354A' => '2540-24G-4SFP+',
'JL070A' => '2530-8-PoE+ Internal PS',
'J9780A' => '2530-8-PoE+',
'J9774A' => '2530-8G-PoEP',
'J9777A' => '2530-8G',
@@ -305,7 +331,7 @@ sub model {
my $model = &SNMP::translateObj($id);
return $id unless defined $model;
$model =~ s/^hpswitch//i;
$model =~ s/^(hp|aruba)switch//i;
return defined $MODEL_MAP{$model} ? $MODEL_MAP{$model} : $model;
}

View File

@@ -44,7 +44,7 @@ use SNMP::Info::CDP;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MODEL_MAP %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -36,7 +36,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Airespace;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::IEEE802dot11::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Bridge;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.

View File

@@ -38,7 +38,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -38,7 +38,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (%SNMP::Info::Layer2::MIBS, 'SIXNET-MIB' => 'sxid',);

View File

@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -1,6 +1,30 @@
# SNMP::Info::Layer2::Ubiquiti
# $Id$
# SNMP::Info::Layer2::Ubiquiti - SNMP Interface to Ubiquiti Devices
#
# Copyright (c) 2019 by The Netdisco Developer Team.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer2::Ubiquiti;
@@ -18,7 +42,7 @@ use SNMP::Info::Layer3; # only used in sub mac()
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );

View File

@@ -53,7 +53,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -49,7 +49,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -112,15 +112,13 @@ sub vendor {
}
sub os_ver {
my $alu = shift;
my $alu = shift;
my $descr = $alu->description();
if ( $descr =~ m/^(\S+)/ ) {
return $1;
}
my $descr = $alu->description();
return $1 if $descr =~ m/\b(\d[\.\d]+R\d+) (?:GA|Service Release), /;
# No clue what this will try but hey
return $alu->SUPER::os_ver();
# No clue what this will try but hey
return $alu->SUPER::os_ver();
}
# ps1_type, ps1_status, ps2_type, ps2_status:

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE
$int_include_vpn $fake_idx $type_class/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -48,7 +48,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Bridge;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE %MODEL_MAP
%MODID_MAP %PROCID_MAP/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -36,7 +36,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,

View File

@@ -47,7 +47,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
$VERSION = '3.60';
$VERSION = '3.64';
# NOTE: Order creates precedence
# Example: v_name exists in Bridge.pm and CiscoVTP.pm

View File

@@ -44,7 +44,7 @@ use SNMP::Info::MAU;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MAU::MIBS,

View File

@@ -51,7 +51,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
# NOTE: Order creates precedence
# Example: v_name exists in Bridge.pm and CiscoVTP.pm

View File

@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -55,7 +55,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -97,22 +97,18 @@ $VERSION = '3.60';
%SNMP::Info::LLDP::FUNCS,
%SNMP::Info::CiscoVTP::FUNCS,
# EIGRP
'eigrp_peers' => 'cEigrpPeerAddr',
# CISCO-EIGRP-MIB::cEigrpPeerTable
'c_eigrp_peer_types' => 'cEigrpPeerAddrType',
'c_eigrp_peers' => 'cEigrpPeerAddr',
);
%MUNGE = (
%SNMP::Info::Layer3::MUNGE,
%SNMP::Info::CiscoStpExtensions::MUNGE,
%SNMP::Info::CiscoPower::MUNGE,
%SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoQOS::MUNGE,
%SNMP::Info::CiscoRTT::MUNGE,
%SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CDP::MUNGE,
%SNMP::Info::LLDP::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE,
'eigrp_peers' => \&SNMP::Info::munge_ip,
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::CiscoStpExtensions::MUNGE,
%SNMP::Info::CiscoPower::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoQOS::MUNGE, %SNMP::Info::CiscoRTT::MUNGE,
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE,
%SNMP::Info::LLDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE,
);
sub i_vlan {
@@ -132,6 +128,7 @@ sub i_vlan {
if ( $i_descr->{$idx} =~ /\.(\d+)$/ ) {
$i_vlan->{$idx} = $1;
}
# This matches 101 in 'Ethernet0.101-802.1Q vLAN subif'
elsif ( $i_descr->{$idx} =~ /\.(\d+)-/ ) {
$i_vlan->{$idx} = $1;
@@ -141,14 +138,41 @@ sub i_vlan {
return $i_vlan;
}
sub cisco_comm_indexing {
sub cisco_comm_indexing {
my $cisco = shift;
# If we get a VTP version, it's *extremely* likely that the device needs
# community based indexing
my $vtp = $cisco->vtp_version() || '0';
return $vtp ? 1 : 0;
}
sub eigrp_peers {
my $cisco = shift;
my $peers = $cisco->c_eigrp_peers() || {};
my $types = $cisco->c_eigrp_peer_types() || {};
my %eigrp_peers;
foreach my $idx ( keys %$peers ) {
my $type = $types->{$idx};
next unless $type;
my $peer = $peers->{$idx};
next unless $peer;
my $ip = NetAddr::IP::Lite->new($peer);
if ($ip) {
$eigrp_peers{$idx} = $ip->addr;
}
elsif ( $type eq 'ipv4' ) {
$eigrp_peers{$idx} = SNMP::Info::munge_ip($peer);
}
next;
}
return \%eigrp_peers;
}
1;
__END__

View File

@@ -45,7 +45,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );

View File

@@ -50,7 +50,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::Cisco::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Entity;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Layer3::MIBS, %SNMP::Info::Entity::MIBS,

View File

@@ -46,7 +46,7 @@ use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -1,3 +1,31 @@
# SNMP::Info::Layer3::DLink - SNMP Interface to DLink Devices
#
# Copyright (c) 2019 by The Netdisco Developer Team.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::Layer3::DLink;
use strict;
@@ -10,7 +38,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS

View File

@@ -44,7 +44,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION $DEBUG %GLOBALS %FUNCS $INIT %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::CDP::MIBS,

View File

@@ -46,7 +46,7 @@ use SNMP::Info::EDP;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -38,7 +38,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -43,7 +43,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION $DEBUG %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -48,7 +48,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -37,7 +37,7 @@ use SNMP::Info::Layer3;
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (%SNMP::Info::Layer3::MIBS);

View File

@@ -47,7 +47,7 @@ use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::LLDP;
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
$VERSION = '3.60';
$VERSION = '3.64';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

Some files were not shown because too many files have changed in this diff Show More