Compare commits
132 Commits
3.66
...
db3a764d49
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db3a764d49 | ||
|
|
62c7719186 | ||
|
|
daee793df6 | ||
|
|
36e8f9be61 | ||
|
|
91ce23ce4a | ||
|
|
535379b3a1 | ||
|
|
b9313c2ec0 | ||
|
|
a46f27792b | ||
|
|
43ca61299e | ||
|
|
a3f0109f06 | ||
|
|
159ab659cb | ||
|
|
82032a10e1 | ||
|
|
84c870f911 | ||
|
|
2b1b53e539 | ||
|
|
b019f3fa06 | ||
|
|
4cb3083993 | ||
|
|
bed7dac4ac | ||
|
|
316a799fdb | ||
|
|
f2cbd163c9 | ||
|
|
e756091565 | ||
|
|
02f667a05b | ||
|
|
14e9da0fb7 | ||
|
|
08a632c053 | ||
|
|
fbf0bbe880 | ||
|
|
4ce3fd8fb6 | ||
|
|
cae9878c60 | ||
|
|
cda629bf39 | ||
|
|
396eb87b57 | ||
|
|
db06c8e75b | ||
|
|
3fd9f1deda | ||
|
|
b0e9185cca | ||
|
|
b73f0d8d57 | ||
|
|
5655486b80 | ||
|
|
cc935a580d | ||
|
|
40ff825a3a | ||
|
|
4bb40483e6 | ||
|
|
8c98750541 | ||
|
|
57aa73f613 | ||
|
|
fe3bc6afe0 | ||
|
|
10e0a53b3c | ||
|
|
98d2005bae | ||
|
|
272b56d625 | ||
|
|
aa44871f83 | ||
|
|
27930d5e50 | ||
|
|
a0d3cdcf9f | ||
|
|
8317923f28 | ||
|
|
fc71e2d88d | ||
|
|
f96d0df182 | ||
|
|
1dc4baf1d9 | ||
|
|
543072ca25 | ||
|
|
39356d72b4 | ||
|
|
e013ac3a20 | ||
|
|
a85c7a0404 | ||
|
|
4852ed4668 | ||
|
|
d36fce44d0 | ||
|
|
60e63ac9cc | ||
|
|
a97c48546c | ||
|
|
dd96147712 | ||
|
|
912bf62e9b | ||
|
|
0791b7cccb | ||
|
|
78c194faee | ||
|
|
9d00126c83 | ||
|
|
6fa54dd4db | ||
|
|
eb6420125e | ||
|
|
51be2d5dc5 | ||
|
|
762a01e619 | ||
|
|
f0fb351137 | ||
|
|
6d39026616 | ||
|
|
723f8ea744 | ||
|
|
f941f432e9 | ||
|
|
631f99f97b | ||
|
|
1840089789 | ||
|
|
36029e38a7 | ||
|
|
3abffc4d59 | ||
|
|
0f01c6c07c | ||
|
|
68b001105d | ||
|
|
d459dd7f8c | ||
|
|
75a00fabe9 | ||
|
|
091a3692e3 | ||
|
|
3bcc522590 | ||
|
|
6c8d39d746 | ||
|
|
b6720a2b43 | ||
|
|
6753b795b9 | ||
|
|
cefbcce8e3 | ||
|
|
910c5420e3 | ||
|
|
02c8ed0764 | ||
|
|
fda13addf0 | ||
|
|
211a06dbf1 | ||
|
|
e886190e8e | ||
|
|
8b3a1fd357 | ||
|
|
e7adf92b59 | ||
|
|
7de14a2bd9 | ||
|
|
f37225ee9a | ||
|
|
52f9042ef0 | ||
|
|
d38ef69120 | ||
|
|
6341ad15f8 | ||
|
|
f3f01d5f15 | ||
|
|
23d11551c6 | ||
|
|
73b63c8379 | ||
|
|
2652998aba | ||
|
|
254bfd11a3 | ||
|
|
2c61248016 | ||
|
|
45e56b332e | ||
|
|
8003691e64 | ||
|
|
25b1801fe4 | ||
|
|
737bb252a7 | ||
|
|
14e0aa0952 | ||
|
|
e7d83a5918 | ||
|
|
bfbb2fb2ab | ||
|
|
c8f686b7aa | ||
|
|
77fa064db5 | ||
|
|
6b70ccfd79 | ||
|
|
9b1995e90f | ||
|
|
75785f70c7 | ||
|
|
ea9ad92cc4 | ||
|
|
ad8762a7c4 | ||
|
|
c73bc0ca2c | ||
|
|
07de5e53e3 | ||
|
|
141812bf4d | ||
|
|
2308826147 | ||
|
|
01fa098078 | ||
|
|
167cc2f3fa | ||
|
|
ea53f79bb8 | ||
|
|
4b75ef1889 | ||
|
|
c4ce6a2062 | ||
|
|
9e4e0e3510 | ||
|
|
c0228965f4 | ||
|
|
0896bd881c | ||
|
|
42395d49fd | ||
|
|
e08d22d51c | ||
|
|
f0b429039e | ||
|
|
d63baa2473 |
19
.github/issue_template.md
vendored
19
.github/issue_template.md
vendored
@@ -1,5 +1,20 @@
|
|||||||
<!--- Provide a general summary of the issue in the Title above -->
|
<!---
|
||||||
<!--- https://guides.github.com/features/mastering-markdown/#examples -->
|
|
||||||
|
READ THIS FIRST!
|
||||||
|
----------------
|
||||||
|
|
||||||
|
the more info you can provide, the easier it is for us the help you, so please
|
||||||
|
fill out as many of the items below as possible.
|
||||||
|
|
||||||
|
Provide a general summary of the issue in the Title above
|
||||||
|
|
||||||
|
when including netdisco config snippets, whitespace matters since it's a yaml file
|
||||||
|
for github issues it really helps if you include the relevant config parts in a codeblock (code fencing)
|
||||||
|
see the "code" subject on https://guides.github.com/features/mastering-markdown/ for that)
|
||||||
|
this should preserve spaces in the issue tracker and make troubleshooting quicker
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
||||||
|
|
||||||
## Expected Behavior
|
## Expected Behavior
|
||||||
<!--- If you're describing a bug, tell us what should happen -->
|
<!--- If you're describing a bug, tell us what should happen -->
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -10,3 +10,4 @@ Build
|
|||||||
_build
|
_build
|
||||||
blib
|
blib
|
||||||
cover_db
|
cover_db
|
||||||
|
.idea
|
||||||
|
|||||||
21
.travis.yml
21
.travis.yml
@@ -1,4 +1,9 @@
|
|||||||
language: perl
|
language: perl
|
||||||
|
perl:
|
||||||
|
- "5.30"
|
||||||
|
- "5.10"
|
||||||
|
os: linux
|
||||||
|
dist: trusty
|
||||||
addons:
|
addons:
|
||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
@@ -12,7 +17,7 @@ before_install:
|
|||||||
- mkdir ~/netdisco-mibs
|
- mkdir ~/netdisco-mibs
|
||||||
- cd ~/netdisco-mibs
|
- cd ~/netdisco-mibs
|
||||||
install:
|
install:
|
||||||
- curl -sL https://github.com/netdisco/netdisco-mibs/releases/download/4.014/netdisco-mibs.tar.gz | tar --strip-components=1 -zxf -
|
- curl -sL https://api.github.com/repos/netdisco/netdisco-mibs/releases/latest | jq -r '.tarball_url' | xargs -n1 curl -sL | tar --strip-components=1 -zxf -
|
||||||
- cpanm --quiet --notest PkgConfig Test::CChecker Alien::zlib::Static Alien::OpenSSL::Static Alien::SNMP
|
- cpanm --quiet --notest PkgConfig Test::CChecker Alien::zlib::Static Alien::OpenSSL::Static Alien::SNMP
|
||||||
before_script:
|
before_script:
|
||||||
- 'cd ${TRAVIS_BUILD_DIR}'
|
- 'cd ${TRAVIS_BUILD_DIR}'
|
||||||
@@ -23,12 +28,12 @@ script:
|
|||||||
./Build test --test_files t/ --test_files xt/
|
./Build test --test_files t/ --test_files xt/
|
||||||
notifications:
|
notifications:
|
||||||
irc:
|
irc:
|
||||||
on_success: always
|
on_success: change
|
||||||
on_failure: always
|
on_failure: change
|
||||||
channels:
|
channels:
|
||||||
- 'chat.freenode.net#netdisco'
|
- 'chat.freenode.net#netdisco'
|
||||||
email:
|
# email:
|
||||||
on_success: always
|
# on_success: always
|
||||||
on_failure: always
|
# on_failure: always
|
||||||
recipients:
|
# recipients:
|
||||||
- 'snmp-info-cvs@lists.sourceforge.net'
|
# - 'snmp-info-cvs@lists.sourceforge.net'
|
||||||
|
|||||||
1
Build.PL
1
Build.PL
@@ -37,6 +37,7 @@ Module::Build->new(
|
|||||||
'Class::Inspector' => '0',
|
'Class::Inspector' => '0',
|
||||||
'NetSNMP::default_store' => '0',
|
'NetSNMP::default_store' => '0',
|
||||||
'Module::Find' => '0',
|
'Module::Find' => '0',
|
||||||
|
'Hook::LexWrap' => '0',
|
||||||
},
|
},
|
||||||
# script_files => [
|
# script_files => [
|
||||||
# ],
|
# ],
|
||||||
|
|||||||
69
Changes
69
Changes
@@ -1,3 +1,66 @@
|
|||||||
|
Version 3.70 (2019-10-15)
|
||||||
|
|
||||||
|
[NEW FEATURES]
|
||||||
|
|
||||||
|
* #361 Siemens Scalance switch support
|
||||||
|
* #365 Ciena Layer3 support
|
||||||
|
* #368 DOCSIS cable modem support
|
||||||
|
|
||||||
|
[ENHANCEMENTS]
|
||||||
|
|
||||||
|
* #350 ubiquiti version string cleanup (LBegnaud)
|
||||||
|
* #352 duplex support for ciscosb
|
||||||
|
* #353 report all vendor names in lowercase
|
||||||
|
* #353 sprinkle "use warnings" and "use strict" around
|
||||||
|
* #358 prefer checkpoint mib over net-snmp mib (earendilfr)
|
||||||
|
* #359 detect newer ios-xe using codenames (Christoph Neuhaus)
|
||||||
|
* #367 test using latest MIBs version dynamically
|
||||||
|
* #370 smarter Q-BRIDGE handling
|
||||||
|
* poe power usage & mac address for ciscosb
|
||||||
|
|
||||||
|
[BUG FIXES]
|
||||||
|
|
||||||
|
* #353 doc fixes: report all required mibs for each module as based on code
|
||||||
|
* #353 include fixes: don't include modules already imported from parent classes
|
||||||
|
* #355 fix #252, don't think 6char devices names are mac addresses
|
||||||
|
* #363 clean return calls in code
|
||||||
|
* #364 strip newline from neoteris os_ver, fixes netdisco #647
|
||||||
|
|
||||||
|
Version 3.68 (2019-04-28)
|
||||||
|
|
||||||
|
[NEW FEATURES]
|
||||||
|
|
||||||
|
* initial support for redlion cellular routers (inphobia)
|
||||||
|
|
||||||
|
[ENHANCEMENTS]
|
||||||
|
|
||||||
|
* use pulsesecure mib in layer7::neoteris instead of juniper-ive
|
||||||
|
|
||||||
|
Version 3.67 (2019-04-20)
|
||||||
|
|
||||||
|
[NEW FEATURES]
|
||||||
|
|
||||||
|
* #323 initial Lenovo / cnos support (inphobia)
|
||||||
|
* #317 #326 DOCSIS Head End support (Pyro3d)
|
||||||
|
|
||||||
|
[ENHANCEMENTS]
|
||||||
|
|
||||||
|
* add v3 Context update() tests for net-snmp 5.8+
|
||||||
|
* support INFO_TRACE and SNMP_TRACE environment variables for Debug
|
||||||
|
* #324 clean up exinda and add regression test
|
||||||
|
|
||||||
|
[BUG FIXES]
|
||||||
|
|
||||||
|
* #294 snmp::info should show full class used
|
||||||
|
* #297 perl 5.28 removal of "use vars"
|
||||||
|
* #306 fix incorrect interfaces for d-link
|
||||||
|
* #319 make fortinet return a useful interface name (inphobia)
|
||||||
|
* #320 improve duplicate interfaces() fixup
|
||||||
|
* #321 clean interface descriptions of null and trailing space
|
||||||
|
* #322 #327 full fix for aerohive tests
|
||||||
|
* #325 lazy load legacy RFC1213-MIB only if needed
|
||||||
|
* #496 fix for aerohive wireless clients support (inphobia)
|
||||||
|
|
||||||
Version 3.66 (2019-03-24)
|
Version 3.66 (2019-03-24)
|
||||||
|
|
||||||
[NEW FEATURES]
|
[NEW FEATURES]
|
||||||
@@ -108,7 +171,7 @@ Version 3.59 (2018-05-01)
|
|||||||
|
|
||||||
[BUG FIXES]
|
[BUG FIXES]
|
||||||
|
|
||||||
* Capture fan ans power supply status in L3::Huawei when description is
|
* Capture fan and power supply status in L3::Huawei when description is
|
||||||
not available
|
not available
|
||||||
|
|
||||||
Version 3.58 (2018-04-29)
|
Version 3.58 (2018-04-29)
|
||||||
@@ -312,13 +375,13 @@ version 3.41 (2018-02-01)
|
|||||||
|
|
||||||
[BUG FIXES]
|
[BUG FIXES]
|
||||||
|
|
||||||
* Fixes to distriution metadata
|
* Fixes to distribution metadata
|
||||||
|
|
||||||
version 3.40 (2018-01-28)
|
version 3.40 (2018-01-28)
|
||||||
|
|
||||||
[ENHANCEMENTS]
|
[ENHANCEMENTS]
|
||||||
|
|
||||||
* #240 Support for CheckPoint devies through SNMP
|
* #240 Support for CheckPoint devices through SNMP
|
||||||
* #240 Cisco SB switches fixup
|
* #240 Cisco SB switches fixup
|
||||||
* #244 Add Adtran support
|
* #244 Add Adtran support
|
||||||
* #241 Vyatta/VyOS support
|
* #241 Vyatta/VyOS support
|
||||||
|
|||||||
10
MANIFEST
10
MANIFEST
@@ -26,6 +26,8 @@ lib/SNMP/Info/CiscoStack.pm
|
|||||||
lib/SNMP/Info/CiscoStats.pm
|
lib/SNMP/Info/CiscoStats.pm
|
||||||
lib/SNMP/Info/CiscoStpExtensions.pm
|
lib/SNMP/Info/CiscoStpExtensions.pm
|
||||||
lib/SNMP/Info/CiscoVTP.pm
|
lib/SNMP/Info/CiscoVTP.pm
|
||||||
|
lib/SNMP/Info/DocsisCM.pm
|
||||||
|
lib/SNMP/Info/DocsisHE.pm
|
||||||
lib/SNMP/Info/EDP.pm
|
lib/SNMP/Info/EDP.pm
|
||||||
lib/SNMP/Info/Entity.pm
|
lib/SNMP/Info/Entity.pm
|
||||||
lib/SNMP/Info/EtherLike.pm
|
lib/SNMP/Info/EtherLike.pm
|
||||||
@@ -82,6 +84,7 @@ lib/SNMP/Info/Layer3/C3550.pm
|
|||||||
lib/SNMP/Info/Layer3/C4000.pm
|
lib/SNMP/Info/Layer3/C4000.pm
|
||||||
lib/SNMP/Info/Layer3/C6500.pm
|
lib/SNMP/Info/Layer3/C6500.pm
|
||||||
lib/SNMP/Info/Layer3/CheckPoint.pm
|
lib/SNMP/Info/Layer3/CheckPoint.pm
|
||||||
|
lib/SNMP/Info/Layer3/Ciena.pm
|
||||||
lib/SNMP/Info/Layer3/Cisco.pm
|
lib/SNMP/Info/Layer3/Cisco.pm
|
||||||
lib/SNMP/Info/Layer3/CiscoASA.pm
|
lib/SNMP/Info/Layer3/CiscoASA.pm
|
||||||
lib/SNMP/Info/Layer3/CiscoFWSM.pm
|
lib/SNMP/Info/Layer3/CiscoFWSM.pm
|
||||||
@@ -104,6 +107,7 @@ lib/SNMP/Info/Layer3/Huawei.pm
|
|||||||
lib/SNMP/Info/Layer3/IBMGbTor.pm
|
lib/SNMP/Info/Layer3/IBMGbTor.pm
|
||||||
lib/SNMP/Info/Layer3/Juniper.pm
|
lib/SNMP/Info/Layer3/Juniper.pm
|
||||||
lib/SNMP/Info/Layer3/Lantronix.pm
|
lib/SNMP/Info/Layer3/Lantronix.pm
|
||||||
|
lib/SNMP/Info/Layer3/Lenovo.pm
|
||||||
lib/SNMP/Info/Layer3/Microsoft.pm
|
lib/SNMP/Info/Layer3/Microsoft.pm
|
||||||
lib/SNMP/Info/Layer3/Mikrotik.pm
|
lib/SNMP/Info/Layer3/Mikrotik.pm
|
||||||
lib/SNMP/Info/Layer3/N1600.pm
|
lib/SNMP/Info/Layer3/N1600.pm
|
||||||
@@ -116,6 +120,8 @@ lib/SNMP/Info/Layer3/PaloAlto.pm
|
|||||||
lib/SNMP/Info/Layer3/Passport.pm
|
lib/SNMP/Info/Layer3/Passport.pm
|
||||||
lib/SNMP/Info/Layer3/Pf.pm
|
lib/SNMP/Info/Layer3/Pf.pm
|
||||||
lib/SNMP/Info/Layer3/Pica8.pm
|
lib/SNMP/Info/Layer3/Pica8.pm
|
||||||
|
lib/SNMP/Info/Layer3/Redlion.pm
|
||||||
|
lib/SNMP/Info/Layer3/Scalance.pm
|
||||||
lib/SNMP/Info/Layer3/SonicWALL.pm
|
lib/SNMP/Info/Layer3/SonicWALL.pm
|
||||||
lib/SNMP/Info/Layer3/Steelhead.pm
|
lib/SNMP/Info/Layer3/Steelhead.pm
|
||||||
lib/SNMP/Info/Layer3/Sun.pm
|
lib/SNMP/Info/Layer3/Sun.pm
|
||||||
@@ -199,6 +205,7 @@ xt/lib/Test/SNMP/Info/Layer2/Catalyst.pm
|
|||||||
xt/lib/Test/SNMP/Info/Layer2/Centillion.pm
|
xt/lib/Test/SNMP/Info/Layer2/Centillion.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer2/Cisco.pm
|
xt/lib/Test/SNMP/Info/Layer2/Cisco.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer2/CiscoSB.pm
|
xt/lib/Test/SNMP/Info/Layer2/CiscoSB.pm
|
||||||
|
xt/lib/Test/SNMP/Info/Layer2/Exinda.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer2/HP.pm
|
xt/lib/Test/SNMP/Info/Layer2/HP.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer2/HP4000.pm
|
xt/lib/Test/SNMP/Info/Layer2/HP4000.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer2/HPVC.pm
|
xt/lib/Test/SNMP/Info/Layer2/HPVC.pm
|
||||||
@@ -248,6 +255,7 @@ xt/lib/Test/SNMP/Info/Layer3/Huawei.pm
|
|||||||
xt/lib/Test/SNMP/Info/Layer3/IBMGbTor.pm
|
xt/lib/Test/SNMP/Info/Layer3/IBMGbTor.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Juniper.pm
|
xt/lib/Test/SNMP/Info/Layer3/Juniper.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Lantronix.pm
|
xt/lib/Test/SNMP/Info/Layer3/Lantronix.pm
|
||||||
|
xt/lib/Test/SNMP/Info/Layer3/Lenovo.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Microsoft.pm
|
xt/lib/Test/SNMP/Info/Layer3/Microsoft.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Mikrotik.pm
|
xt/lib/Test/SNMP/Info/Layer3/Mikrotik.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/N1600.pm
|
xt/lib/Test/SNMP/Info/Layer3/N1600.pm
|
||||||
@@ -260,6 +268,8 @@ xt/lib/Test/SNMP/Info/Layer3/PaloAlto.pm
|
|||||||
xt/lib/Test/SNMP/Info/Layer3/Passport.pm
|
xt/lib/Test/SNMP/Info/Layer3/Passport.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Pf.pm
|
xt/lib/Test/SNMP/Info/Layer3/Pf.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Pica8.pm
|
xt/lib/Test/SNMP/Info/Layer3/Pica8.pm
|
||||||
|
xt/lib/Test/SNMP/Info/Layer3/Redlion.pm
|
||||||
|
xt/lib/Test/SNMP/Info/Layer3/Scalance.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/SonicWALL.pm
|
xt/lib/Test/SNMP/Info/Layer3/SonicWALL.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Steelhead.pm
|
xt/lib/Test/SNMP/Info/Layer3/Steelhead.pm
|
||||||
xt/lib/Test/SNMP/Info/Layer3/Sun.pm
|
xt/lib/Test/SNMP/Info/Layer3/Sun.pm
|
||||||
|
|||||||
@@ -68,3 +68,6 @@ README.md
|
|||||||
|
|
||||||
# Avoid Komodo project file
|
# Avoid Komodo project file
|
||||||
\.komodoproject$
|
\.komodoproject$
|
||||||
|
|
||||||
|
# ignore intellij
|
||||||
|
\B\.idea
|
||||||
|
|||||||
287
META.json
287
META.json
@@ -38,6 +38,7 @@
|
|||||||
"Class::Inspector" : "0",
|
"Class::Inspector" : "0",
|
||||||
"File::Find" : "0",
|
"File::Find" : "0",
|
||||||
"File::Slurper" : "0",
|
"File::Slurper" : "0",
|
||||||
|
"Hook::LexWrap" : "0",
|
||||||
"Module::Find" : "0",
|
"Module::Find" : "0",
|
||||||
"NetSNMP::default_store" : "0",
|
"NetSNMP::default_store" : "0",
|
||||||
"Path::Class" : "0",
|
"Path::Class" : "0",
|
||||||
@@ -52,519 +53,543 @@
|
|||||||
"provides" : {
|
"provides" : {
|
||||||
"SNMP::Info" : {
|
"SNMP::Info" : {
|
||||||
"file" : "lib/SNMP/Info.pm",
|
"file" : "lib/SNMP/Info.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::AMAP" : {
|
"SNMP::Info::AMAP" : {
|
||||||
"file" : "lib/SNMP/Info/AMAP.pm",
|
"file" : "lib/SNMP/Info/AMAP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::AdslLine" : {
|
"SNMP::Info::AdslLine" : {
|
||||||
"file" : "lib/SNMP/Info/AdslLine.pm",
|
"file" : "lib/SNMP/Info/AdslLine.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Aggregate" : {
|
"SNMP::Info::Aggregate" : {
|
||||||
"file" : "lib/SNMP/Info/Aggregate.pm",
|
"file" : "lib/SNMP/Info/Aggregate.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Airespace" : {
|
"SNMP::Info::Airespace" : {
|
||||||
"file" : "lib/SNMP/Info/Airespace.pm",
|
"file" : "lib/SNMP/Info/Airespace.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Bridge" : {
|
"SNMP::Info::Bridge" : {
|
||||||
"file" : "lib/SNMP/Info/Bridge.pm",
|
"file" : "lib/SNMP/Info/Bridge.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CDP" : {
|
"SNMP::Info::CDP" : {
|
||||||
"file" : "lib/SNMP/Info/CDP.pm",
|
"file" : "lib/SNMP/Info/CDP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoAgg" : {
|
"SNMP::Info::CiscoAgg" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoAgg.pm",
|
"file" : "lib/SNMP/Info/CiscoAgg.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoConfig" : {
|
"SNMP::Info::CiscoConfig" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoConfig.pm",
|
"file" : "lib/SNMP/Info/CiscoConfig.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoPortSecurity" : {
|
"SNMP::Info::CiscoPortSecurity" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoPortSecurity.pm",
|
"file" : "lib/SNMP/Info/CiscoPortSecurity.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoPower" : {
|
"SNMP::Info::CiscoPower" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoPower.pm",
|
"file" : "lib/SNMP/Info/CiscoPower.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoQOS" : {
|
"SNMP::Info::CiscoQOS" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoQOS.pm",
|
"file" : "lib/SNMP/Info/CiscoQOS.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoRTT" : {
|
"SNMP::Info::CiscoRTT" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoRTT.pm",
|
"file" : "lib/SNMP/Info/CiscoRTT.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoStack" : {
|
"SNMP::Info::CiscoStack" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoStack.pm",
|
"file" : "lib/SNMP/Info/CiscoStack.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoStats" : {
|
"SNMP::Info::CiscoStats" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoStats.pm",
|
"file" : "lib/SNMP/Info/CiscoStats.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoStpExtensions" : {
|
"SNMP::Info::CiscoStpExtensions" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoStpExtensions.pm",
|
"file" : "lib/SNMP/Info/CiscoStpExtensions.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::CiscoVTP" : {
|
"SNMP::Info::CiscoVTP" : {
|
||||||
"file" : "lib/SNMP/Info/CiscoVTP.pm",
|
"file" : "lib/SNMP/Info/CiscoVTP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
|
},
|
||||||
|
"SNMP::Info::DocsisCM" : {
|
||||||
|
"file" : "lib/SNMP/Info/DocsisCM.pm",
|
||||||
|
"version" : "3.70"
|
||||||
|
},
|
||||||
|
"SNMP::Info::DocsisHE" : {
|
||||||
|
"file" : "lib/SNMP/Info/DocsisHE.pm",
|
||||||
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::EDP" : {
|
"SNMP::Info::EDP" : {
|
||||||
"file" : "lib/SNMP/Info/EDP.pm",
|
"file" : "lib/SNMP/Info/EDP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Entity" : {
|
"SNMP::Info::Entity" : {
|
||||||
"file" : "lib/SNMP/Info/Entity.pm",
|
"file" : "lib/SNMP/Info/Entity.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::EtherLike" : {
|
"SNMP::Info::EtherLike" : {
|
||||||
"file" : "lib/SNMP/Info/EtherLike.pm",
|
"file" : "lib/SNMP/Info/EtherLike.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::FDP" : {
|
"SNMP::Info::FDP" : {
|
||||||
"file" : "lib/SNMP/Info/FDP.pm",
|
"file" : "lib/SNMP/Info/FDP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::IEEE802dot11" : {
|
"SNMP::Info::IEEE802dot11" : {
|
||||||
"file" : "lib/SNMP/Info/IEEE802dot11.pm",
|
"file" : "lib/SNMP/Info/IEEE802dot11.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::IEEE802dot3ad" : {
|
"SNMP::Info::IEEE802dot3ad" : {
|
||||||
"file" : "lib/SNMP/Info/IEEE802dot3ad.pm",
|
"file" : "lib/SNMP/Info/IEEE802dot3ad.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::IPv6" : {
|
"SNMP::Info::IPv6" : {
|
||||||
"file" : "lib/SNMP/Info/IPv6.pm",
|
"file" : "lib/SNMP/Info/IPv6.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::LLDP" : {
|
"SNMP::Info::LLDP" : {
|
||||||
"file" : "lib/SNMP/Info/LLDP.pm",
|
"file" : "lib/SNMP/Info/LLDP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer1" : {
|
"SNMP::Info::Layer1" : {
|
||||||
"file" : "lib/SNMP/Info/Layer1.pm",
|
"file" : "lib/SNMP/Info/Layer1.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer1::Allied" : {
|
"SNMP::Info::Layer1::Allied" : {
|
||||||
"file" : "lib/SNMP/Info/Layer1/Allied.pm",
|
"file" : "lib/SNMP/Info/Layer1/Allied.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer1::Asante" : {
|
"SNMP::Info::Layer1::Asante" : {
|
||||||
"file" : "lib/SNMP/Info/Layer1/Asante.pm",
|
"file" : "lib/SNMP/Info/Layer1/Asante.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer1::Bayhub" : {
|
"SNMP::Info::Layer1::Bayhub" : {
|
||||||
"file" : "lib/SNMP/Info/Layer1/Bayhub.pm",
|
"file" : "lib/SNMP/Info/Layer1/Bayhub.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer1::Cyclades" : {
|
"SNMP::Info::Layer1::Cyclades" : {
|
||||||
"file" : "lib/SNMP/Info/Layer1/Cyclades.pm",
|
"file" : "lib/SNMP/Info/Layer1/Cyclades.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer1::S3000" : {
|
"SNMP::Info::Layer1::S3000" : {
|
||||||
"file" : "lib/SNMP/Info/Layer1/S3000.pm",
|
"file" : "lib/SNMP/Info/Layer1/S3000.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2" : {
|
"SNMP::Info::Layer2" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2.pm",
|
"file" : "lib/SNMP/Info/Layer2.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::3Com" : {
|
"SNMP::Info::Layer2::3Com" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/3Com.pm",
|
"file" : "lib/SNMP/Info/Layer2/3Com.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Adtran" : {
|
"SNMP::Info::Layer2::Adtran" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Adtran.pm",
|
"file" : "lib/SNMP/Info/Layer2/Adtran.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Aerohive" : {
|
"SNMP::Info::Layer2::Aerohive" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Aerohive.pm",
|
"file" : "lib/SNMP/Info/Layer2/Aerohive.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Airespace" : {
|
"SNMP::Info::Layer2::Airespace" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Airespace.pm",
|
"file" : "lib/SNMP/Info/Layer2/Airespace.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Aironet" : {
|
"SNMP::Info::Layer2::Aironet" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Aironet.pm",
|
"file" : "lib/SNMP/Info/Layer2/Aironet.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Allied" : {
|
"SNMP::Info::Layer2::Allied" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Allied.pm",
|
"file" : "lib/SNMP/Info/Layer2/Allied.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Atmedia" : {
|
"SNMP::Info::Layer2::Atmedia" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Atmedia.pm",
|
"file" : "lib/SNMP/Info/Layer2/Atmedia.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Baystack" : {
|
"SNMP::Info::Layer2::Baystack" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Baystack.pm",
|
"file" : "lib/SNMP/Info/Layer2/Baystack.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::C1900" : {
|
"SNMP::Info::Layer2::C1900" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/C1900.pm",
|
"file" : "lib/SNMP/Info/Layer2/C1900.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::C2900" : {
|
"SNMP::Info::Layer2::C2900" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/C2900.pm",
|
"file" : "lib/SNMP/Info/Layer2/C2900.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Catalyst" : {
|
"SNMP::Info::Layer2::Catalyst" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Catalyst.pm",
|
"file" : "lib/SNMP/Info/Layer2/Catalyst.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Centillion" : {
|
"SNMP::Info::Layer2::Centillion" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Centillion.pm",
|
"file" : "lib/SNMP/Info/Layer2/Centillion.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Cisco" : {
|
"SNMP::Info::Layer2::Cisco" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Cisco.pm",
|
"file" : "lib/SNMP/Info/Layer2/Cisco.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::CiscoSB" : {
|
"SNMP::Info::Layer2::CiscoSB" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/CiscoSB.pm",
|
"file" : "lib/SNMP/Info/Layer2/CiscoSB.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Exinda" : {
|
"SNMP::Info::Layer2::Exinda" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Exinda.pm",
|
"file" : "lib/SNMP/Info/Layer2/Exinda.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::HP" : {
|
"SNMP::Info::Layer2::HP" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/HP.pm",
|
"file" : "lib/SNMP/Info/Layer2/HP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::HP4000" : {
|
"SNMP::Info::Layer2::HP4000" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/HP4000.pm",
|
"file" : "lib/SNMP/Info/Layer2/HP4000.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::HPVC" : {
|
"SNMP::Info::Layer2::HPVC" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/HPVC.pm",
|
"file" : "lib/SNMP/Info/Layer2/HPVC.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Kentrox" : {
|
"SNMP::Info::Layer2::Kentrox" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Kentrox.pm",
|
"file" : "lib/SNMP/Info/Layer2/Kentrox.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::N2270" : {
|
"SNMP::Info::Layer2::N2270" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/N2270.pm",
|
"file" : "lib/SNMP/Info/Layer2/N2270.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::NAP222x" : {
|
"SNMP::Info::Layer2::NAP222x" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/NAP222x.pm",
|
"file" : "lib/SNMP/Info/Layer2/NAP222x.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::NWSS2300" : {
|
"SNMP::Info::Layer2::NWSS2300" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/NWSS2300.pm",
|
"file" : "lib/SNMP/Info/Layer2/NWSS2300.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Netgear" : {
|
"SNMP::Info::Layer2::Netgear" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Netgear.pm",
|
"file" : "lib/SNMP/Info/Layer2/Netgear.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Nexans" : {
|
"SNMP::Info::Layer2::Nexans" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Nexans.pm",
|
"file" : "lib/SNMP/Info/Layer2/Nexans.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Orinoco" : {
|
"SNMP::Info::Layer2::Orinoco" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Orinoco.pm",
|
"file" : "lib/SNMP/Info/Layer2/Orinoco.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Sixnet" : {
|
"SNMP::Info::Layer2::Sixnet" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Sixnet.pm",
|
"file" : "lib/SNMP/Info/Layer2/Sixnet.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Trapeze" : {
|
"SNMP::Info::Layer2::Trapeze" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Trapeze.pm",
|
"file" : "lib/SNMP/Info/Layer2/Trapeze.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::Ubiquiti" : {
|
"SNMP::Info::Layer2::Ubiquiti" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/Ubiquiti.pm",
|
"file" : "lib/SNMP/Info/Layer2/Ubiquiti.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer2::ZyXEL_DSLAM" : {
|
"SNMP::Info::Layer2::ZyXEL_DSLAM" : {
|
||||||
"file" : "lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm",
|
"file" : "lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3" : {
|
"SNMP::Info::Layer3" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3.pm",
|
"file" : "lib/SNMP/Info/Layer3.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Aironet" : {
|
"SNMP::Info::Layer3::Aironet" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Aironet.pm",
|
"file" : "lib/SNMP/Info/Layer3/Aironet.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::AlcatelLucent" : {
|
"SNMP::Info::Layer3::AlcatelLucent" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/AlcatelLucent.pm",
|
"file" : "lib/SNMP/Info/Layer3/AlcatelLucent.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::AlteonAD" : {
|
"SNMP::Info::Layer3::AlteonAD" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/AlteonAD.pm",
|
"file" : "lib/SNMP/Info/Layer3/AlteonAD.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Altiga" : {
|
"SNMP::Info::Layer3::Altiga" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Altiga.pm",
|
"file" : "lib/SNMP/Info/Layer3/Altiga.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Arista" : {
|
"SNMP::Info::Layer3::Arista" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Arista.pm",
|
"file" : "lib/SNMP/Info/Layer3/Arista.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Aruba" : {
|
"SNMP::Info::Layer3::Aruba" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Aruba.pm",
|
"file" : "lib/SNMP/Info/Layer3/Aruba.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::BayRS" : {
|
"SNMP::Info::Layer3::BayRS" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/BayRS.pm",
|
"file" : "lib/SNMP/Info/Layer3/BayRS.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::BlueCoatSG" : {
|
"SNMP::Info::Layer3::BlueCoatSG" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/BlueCoatSG.pm",
|
"file" : "lib/SNMP/Info/Layer3/BlueCoatSG.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::C3550" : {
|
"SNMP::Info::Layer3::C3550" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/C3550.pm",
|
"file" : "lib/SNMP/Info/Layer3/C3550.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::C4000" : {
|
"SNMP::Info::Layer3::C4000" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/C4000.pm",
|
"file" : "lib/SNMP/Info/Layer3/C4000.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::C6500" : {
|
"SNMP::Info::Layer3::C6500" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/C6500.pm",
|
"file" : "lib/SNMP/Info/Layer3/C6500.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::CheckPoint" : {
|
"SNMP::Info::Layer3::CheckPoint" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/CheckPoint.pm",
|
"file" : "lib/SNMP/Info/Layer3/CheckPoint.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
|
},
|
||||||
|
"SNMP::Info::Layer3::Ciena" : {
|
||||||
|
"file" : "lib/SNMP/Info/Layer3/Ciena.pm",
|
||||||
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Cisco" : {
|
"SNMP::Info::Layer3::Cisco" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Cisco.pm",
|
"file" : "lib/SNMP/Info/Layer3/Cisco.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::CiscoASA" : {
|
"SNMP::Info::Layer3::CiscoASA" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/CiscoASA.pm",
|
"file" : "lib/SNMP/Info/Layer3/CiscoASA.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::CiscoFWSM" : {
|
"SNMP::Info::Layer3::CiscoFWSM" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/CiscoFWSM.pm",
|
"file" : "lib/SNMP/Info/Layer3/CiscoFWSM.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::CiscoSwitch" : {
|
"SNMP::Info::Layer3::CiscoSwitch" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/CiscoSwitch.pm",
|
"file" : "lib/SNMP/Info/Layer3/CiscoSwitch.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Contivity" : {
|
"SNMP::Info::Layer3::Contivity" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Contivity.pm",
|
"file" : "lib/SNMP/Info/Layer3/Contivity.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Cumulus" : {
|
"SNMP::Info::Layer3::Cumulus" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Cumulus.pm",
|
"file" : "lib/SNMP/Info/Layer3/Cumulus.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::DLink" : {
|
"SNMP::Info::Layer3::DLink" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/DLink.pm",
|
"file" : "lib/SNMP/Info/Layer3/DLink.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Dell" : {
|
"SNMP::Info::Layer3::Dell" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Dell.pm",
|
"file" : "lib/SNMP/Info/Layer3/Dell.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::ERX" : {
|
"SNMP::Info::Layer3::ERX" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/ERX.pm",
|
"file" : "lib/SNMP/Info/Layer3/ERX.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Enterasys" : {
|
"SNMP::Info::Layer3::Enterasys" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Enterasys.pm",
|
"file" : "lib/SNMP/Info/Layer3/Enterasys.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Extreme" : {
|
"SNMP::Info::Layer3::Extreme" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Extreme.pm",
|
"file" : "lib/SNMP/Info/Layer3/Extreme.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::F5" : {
|
"SNMP::Info::Layer3::F5" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/F5.pm",
|
"file" : "lib/SNMP/Info/Layer3/F5.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Force10" : {
|
"SNMP::Info::Layer3::Force10" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Force10.pm",
|
"file" : "lib/SNMP/Info/Layer3/Force10.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Fortinet" : {
|
"SNMP::Info::Layer3::Fortinet" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Fortinet.pm",
|
"file" : "lib/SNMP/Info/Layer3/Fortinet.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Foundry" : {
|
"SNMP::Info::Layer3::Foundry" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Foundry.pm",
|
"file" : "lib/SNMP/Info/Layer3/Foundry.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Genua" : {
|
"SNMP::Info::Layer3::Genua" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Genua.pm",
|
"file" : "lib/SNMP/Info/Layer3/Genua.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::H3C" : {
|
"SNMP::Info::Layer3::H3C" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/H3C.pm",
|
"file" : "lib/SNMP/Info/Layer3/H3C.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::HP9300" : {
|
"SNMP::Info::Layer3::HP9300" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/HP9300.pm",
|
"file" : "lib/SNMP/Info/Layer3/HP9300.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Huawei" : {
|
"SNMP::Info::Layer3::Huawei" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Huawei.pm",
|
"file" : "lib/SNMP/Info/Layer3/Huawei.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::IBMGbTor" : {
|
"SNMP::Info::Layer3::IBMGbTor" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/IBMGbTor.pm",
|
"file" : "lib/SNMP/Info/Layer3/IBMGbTor.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Juniper" : {
|
"SNMP::Info::Layer3::Juniper" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Juniper.pm",
|
"file" : "lib/SNMP/Info/Layer3/Juniper.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Lantronix" : {
|
"SNMP::Info::Layer3::Lantronix" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Lantronix.pm",
|
"file" : "lib/SNMP/Info/Layer3/Lantronix.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
|
},
|
||||||
|
"SNMP::Info::Layer3::Lenovo" : {
|
||||||
|
"file" : "lib/SNMP/Info/Layer3/Lenovo.pm",
|
||||||
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Microsoft" : {
|
"SNMP::Info::Layer3::Microsoft" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Microsoft.pm",
|
"file" : "lib/SNMP/Info/Layer3/Microsoft.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Mikrotik" : {
|
"SNMP::Info::Layer3::Mikrotik" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Mikrotik.pm",
|
"file" : "lib/SNMP/Info/Layer3/Mikrotik.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::N1600" : {
|
"SNMP::Info::Layer3::N1600" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/N1600.pm",
|
"file" : "lib/SNMP/Info/Layer3/N1600.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::NetSNMP" : {
|
"SNMP::Info::Layer3::NetSNMP" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/NetSNMP.pm",
|
"file" : "lib/SNMP/Info/Layer3/NetSNMP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Netscreen" : {
|
"SNMP::Info::Layer3::Netscreen" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Netscreen.pm",
|
"file" : "lib/SNMP/Info/Layer3/Netscreen.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Nexus" : {
|
"SNMP::Info::Layer3::Nexus" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Nexus.pm",
|
"file" : "lib/SNMP/Info/Layer3/Nexus.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::OneAccess" : {
|
"SNMP::Info::Layer3::OneAccess" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/OneAccess.pm",
|
"file" : "lib/SNMP/Info/Layer3/OneAccess.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::PacketFront" : {
|
"SNMP::Info::Layer3::PacketFront" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/PacketFront.pm",
|
"file" : "lib/SNMP/Info/Layer3/PacketFront.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::PaloAlto" : {
|
"SNMP::Info::Layer3::PaloAlto" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/PaloAlto.pm",
|
"file" : "lib/SNMP/Info/Layer3/PaloAlto.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Passport" : {
|
"SNMP::Info::Layer3::Passport" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Passport.pm",
|
"file" : "lib/SNMP/Info/Layer3/Passport.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Pf" : {
|
"SNMP::Info::Layer3::Pf" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Pf.pm",
|
"file" : "lib/SNMP/Info/Layer3/Pf.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Pica8" : {
|
"SNMP::Info::Layer3::Pica8" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Pica8.pm",
|
"file" : "lib/SNMP/Info/Layer3/Pica8.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
|
},
|
||||||
|
"SNMP::Info::Layer3::Redlion" : {
|
||||||
|
"file" : "lib/SNMP/Info/Layer3/Redlion.pm",
|
||||||
|
"version" : "3.70"
|
||||||
|
},
|
||||||
|
"SNMP::Info::Layer3::Scalance" : {
|
||||||
|
"file" : "lib/SNMP/Info/Layer3/Scalance.pm",
|
||||||
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::SonicWALL" : {
|
"SNMP::Info::Layer3::SonicWALL" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/SonicWALL.pm",
|
"file" : "lib/SNMP/Info/Layer3/SonicWALL.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Steelhead" : {
|
"SNMP::Info::Layer3::Steelhead" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Steelhead.pm",
|
"file" : "lib/SNMP/Info/Layer3/Steelhead.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Sun" : {
|
"SNMP::Info::Layer3::Sun" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Sun.pm",
|
"file" : "lib/SNMP/Info/Layer3/Sun.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Tasman" : {
|
"SNMP::Info::Layer3::Tasman" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Tasman.pm",
|
"file" : "lib/SNMP/Info/Layer3/Tasman.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::Timetra" : {
|
"SNMP::Info::Layer3::Timetra" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/Timetra.pm",
|
"file" : "lib/SNMP/Info/Layer3/Timetra.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::VMware" : {
|
"SNMP::Info::Layer3::VMware" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/VMware.pm",
|
"file" : "lib/SNMP/Info/Layer3/VMware.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer3::VyOS" : {
|
"SNMP::Info::Layer3::VyOS" : {
|
||||||
"file" : "lib/SNMP/Info/Layer3/VyOS.pm",
|
"file" : "lib/SNMP/Info/Layer3/VyOS.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7" : {
|
"SNMP::Info::Layer7" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7.pm",
|
"file" : "lib/SNMP/Info/Layer7.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7::APC" : {
|
"SNMP::Info::Layer7::APC" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7/APC.pm",
|
"file" : "lib/SNMP/Info/Layer7/APC.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7::Arbor" : {
|
"SNMP::Info::Layer7::Arbor" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7/Arbor.pm",
|
"file" : "lib/SNMP/Info/Layer7/Arbor.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7::CiscoIPS" : {
|
"SNMP::Info::Layer7::CiscoIPS" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7/CiscoIPS.pm",
|
"file" : "lib/SNMP/Info/Layer7/CiscoIPS.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7::Gigamon" : {
|
"SNMP::Info::Layer7::Gigamon" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7/Gigamon.pm",
|
"file" : "lib/SNMP/Info/Layer7/Gigamon.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7::Liebert" : {
|
"SNMP::Info::Layer7::Liebert" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7/Liebert.pm",
|
"file" : "lib/SNMP/Info/Layer7/Liebert.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7::Neoteris" : {
|
"SNMP::Info::Layer7::Neoteris" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7/Neoteris.pm",
|
"file" : "lib/SNMP/Info/Layer7/Neoteris.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::Layer7::Netscaler" : {
|
"SNMP::Info::Layer7::Netscaler" : {
|
||||||
"file" : "lib/SNMP/Info/Layer7/Netscaler.pm",
|
"file" : "lib/SNMP/Info/Layer7/Netscaler.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::MAU" : {
|
"SNMP::Info::MAU" : {
|
||||||
"file" : "lib/SNMP/Info/MAU.pm",
|
"file" : "lib/SNMP/Info/MAU.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::MRO" : {
|
"SNMP::Info::MRO" : {
|
||||||
"file" : "lib/SNMP/Info/MRO.pm",
|
"file" : "lib/SNMP/Info/MRO.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::NortelStack" : {
|
"SNMP::Info::NortelStack" : {
|
||||||
"file" : "lib/SNMP/Info/NortelStack.pm",
|
"file" : "lib/SNMP/Info/NortelStack.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::PowerEthernet" : {
|
"SNMP::Info::PowerEthernet" : {
|
||||||
"file" : "lib/SNMP/Info/PowerEthernet.pm",
|
"file" : "lib/SNMP/Info/PowerEthernet.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::RapidCity" : {
|
"SNMP::Info::RapidCity" : {
|
||||||
"file" : "lib/SNMP/Info/RapidCity.pm",
|
"file" : "lib/SNMP/Info/RapidCity.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
},
|
},
|
||||||
"SNMP::Info::SONMP" : {
|
"SNMP::Info::SONMP" : {
|
||||||
"file" : "lib/SNMP/Info/SONMP.pm",
|
"file" : "lib/SNMP/Info/SONMP.pm",
|
||||||
"version" : "3.66"
|
"version" : "3.70"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"release_status" : "stable",
|
"release_status" : "stable",
|
||||||
@@ -574,7 +599,7 @@
|
|||||||
},
|
},
|
||||||
"homepage" : "http://netdisco.org/",
|
"homepage" : "http://netdisco.org/",
|
||||||
"license" : [
|
"license" : [
|
||||||
"http://opensource.org/licenses/BSD-3-Clause"
|
"http://opensource.org/licenses/bsd-license.php"
|
||||||
],
|
],
|
||||||
"repository" : {
|
"repository" : {
|
||||||
"url" : "https://github.com/netdisco/snmp-info"
|
"url" : "https://github.com/netdisco/snmp-info"
|
||||||
@@ -582,6 +607,6 @@
|
|||||||
"x_IRC" : "irc://irc.freenode.org/#netdisco",
|
"x_IRC" : "irc://irc.freenode.org/#netdisco",
|
||||||
"x_MailingList" : "https://lists.sourceforge.net/lists/listinfo/snmp-info-users"
|
"x_MailingList" : "https://lists.sourceforge.net/lists/listinfo/snmp-info-users"
|
||||||
},
|
},
|
||||||
"version" : "3.66",
|
"version" : "3.70",
|
||||||
"x_serialization_backend" : "JSON::PP version 2.97001"
|
"x_serialization_backend" : "JSON::PP version 2.97001"
|
||||||
}
|
}
|
||||||
|
|||||||
281
META.yml
281
META.yml
@@ -6,6 +6,7 @@ build_requires:
|
|||||||
Class::Inspector: '0'
|
Class::Inspector: '0'
|
||||||
File::Find: '0'
|
File::Find: '0'
|
||||||
File::Slurper: '0'
|
File::Slurper: '0'
|
||||||
|
Hook::LexWrap: '0'
|
||||||
Module::Find: '0'
|
Module::Find: '0'
|
||||||
NetSNMP::default_store: '0'
|
NetSNMP::default_store: '0'
|
||||||
Path::Class: '0'
|
Path::Class: '0'
|
||||||
@@ -26,391 +27,409 @@ name: SNMP-Info
|
|||||||
provides:
|
provides:
|
||||||
SNMP::Info:
|
SNMP::Info:
|
||||||
file: lib/SNMP/Info.pm
|
file: lib/SNMP/Info.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::AMAP:
|
SNMP::Info::AMAP:
|
||||||
file: lib/SNMP/Info/AMAP.pm
|
file: lib/SNMP/Info/AMAP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::AdslLine:
|
SNMP::Info::AdslLine:
|
||||||
file: lib/SNMP/Info/AdslLine.pm
|
file: lib/SNMP/Info/AdslLine.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Aggregate:
|
SNMP::Info::Aggregate:
|
||||||
file: lib/SNMP/Info/Aggregate.pm
|
file: lib/SNMP/Info/Aggregate.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Airespace:
|
SNMP::Info::Airespace:
|
||||||
file: lib/SNMP/Info/Airespace.pm
|
file: lib/SNMP/Info/Airespace.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Bridge:
|
SNMP::Info::Bridge:
|
||||||
file: lib/SNMP/Info/Bridge.pm
|
file: lib/SNMP/Info/Bridge.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CDP:
|
SNMP::Info::CDP:
|
||||||
file: lib/SNMP/Info/CDP.pm
|
file: lib/SNMP/Info/CDP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoAgg:
|
SNMP::Info::CiscoAgg:
|
||||||
file: lib/SNMP/Info/CiscoAgg.pm
|
file: lib/SNMP/Info/CiscoAgg.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoConfig:
|
SNMP::Info::CiscoConfig:
|
||||||
file: lib/SNMP/Info/CiscoConfig.pm
|
file: lib/SNMP/Info/CiscoConfig.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoPortSecurity:
|
SNMP::Info::CiscoPortSecurity:
|
||||||
file: lib/SNMP/Info/CiscoPortSecurity.pm
|
file: lib/SNMP/Info/CiscoPortSecurity.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoPower:
|
SNMP::Info::CiscoPower:
|
||||||
file: lib/SNMP/Info/CiscoPower.pm
|
file: lib/SNMP/Info/CiscoPower.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoQOS:
|
SNMP::Info::CiscoQOS:
|
||||||
file: lib/SNMP/Info/CiscoQOS.pm
|
file: lib/SNMP/Info/CiscoQOS.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoRTT:
|
SNMP::Info::CiscoRTT:
|
||||||
file: lib/SNMP/Info/CiscoRTT.pm
|
file: lib/SNMP/Info/CiscoRTT.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoStack:
|
SNMP::Info::CiscoStack:
|
||||||
file: lib/SNMP/Info/CiscoStack.pm
|
file: lib/SNMP/Info/CiscoStack.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoStats:
|
SNMP::Info::CiscoStats:
|
||||||
file: lib/SNMP/Info/CiscoStats.pm
|
file: lib/SNMP/Info/CiscoStats.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoStpExtensions:
|
SNMP::Info::CiscoStpExtensions:
|
||||||
file: lib/SNMP/Info/CiscoStpExtensions.pm
|
file: lib/SNMP/Info/CiscoStpExtensions.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::CiscoVTP:
|
SNMP::Info::CiscoVTP:
|
||||||
file: lib/SNMP/Info/CiscoVTP.pm
|
file: lib/SNMP/Info/CiscoVTP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
|
SNMP::Info::DocsisCM:
|
||||||
|
file: lib/SNMP/Info/DocsisCM.pm
|
||||||
|
version: '3.70'
|
||||||
|
SNMP::Info::DocsisHE:
|
||||||
|
file: lib/SNMP/Info/DocsisHE.pm
|
||||||
|
version: '3.70'
|
||||||
SNMP::Info::EDP:
|
SNMP::Info::EDP:
|
||||||
file: lib/SNMP/Info/EDP.pm
|
file: lib/SNMP/Info/EDP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Entity:
|
SNMP::Info::Entity:
|
||||||
file: lib/SNMP/Info/Entity.pm
|
file: lib/SNMP/Info/Entity.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::EtherLike:
|
SNMP::Info::EtherLike:
|
||||||
file: lib/SNMP/Info/EtherLike.pm
|
file: lib/SNMP/Info/EtherLike.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::FDP:
|
SNMP::Info::FDP:
|
||||||
file: lib/SNMP/Info/FDP.pm
|
file: lib/SNMP/Info/FDP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::IEEE802dot11:
|
SNMP::Info::IEEE802dot11:
|
||||||
file: lib/SNMP/Info/IEEE802dot11.pm
|
file: lib/SNMP/Info/IEEE802dot11.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::IEEE802dot3ad:
|
SNMP::Info::IEEE802dot3ad:
|
||||||
file: lib/SNMP/Info/IEEE802dot3ad.pm
|
file: lib/SNMP/Info/IEEE802dot3ad.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::IPv6:
|
SNMP::Info::IPv6:
|
||||||
file: lib/SNMP/Info/IPv6.pm
|
file: lib/SNMP/Info/IPv6.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::LLDP:
|
SNMP::Info::LLDP:
|
||||||
file: lib/SNMP/Info/LLDP.pm
|
file: lib/SNMP/Info/LLDP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer1:
|
SNMP::Info::Layer1:
|
||||||
file: lib/SNMP/Info/Layer1.pm
|
file: lib/SNMP/Info/Layer1.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer1::Allied:
|
SNMP::Info::Layer1::Allied:
|
||||||
file: lib/SNMP/Info/Layer1/Allied.pm
|
file: lib/SNMP/Info/Layer1/Allied.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer1::Asante:
|
SNMP::Info::Layer1::Asante:
|
||||||
file: lib/SNMP/Info/Layer1/Asante.pm
|
file: lib/SNMP/Info/Layer1/Asante.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer1::Bayhub:
|
SNMP::Info::Layer1::Bayhub:
|
||||||
file: lib/SNMP/Info/Layer1/Bayhub.pm
|
file: lib/SNMP/Info/Layer1/Bayhub.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer1::Cyclades:
|
SNMP::Info::Layer1::Cyclades:
|
||||||
file: lib/SNMP/Info/Layer1/Cyclades.pm
|
file: lib/SNMP/Info/Layer1/Cyclades.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer1::S3000:
|
SNMP::Info::Layer1::S3000:
|
||||||
file: lib/SNMP/Info/Layer1/S3000.pm
|
file: lib/SNMP/Info/Layer1/S3000.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2:
|
SNMP::Info::Layer2:
|
||||||
file: lib/SNMP/Info/Layer2.pm
|
file: lib/SNMP/Info/Layer2.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::3Com:
|
SNMP::Info::Layer2::3Com:
|
||||||
file: lib/SNMP/Info/Layer2/3Com.pm
|
file: lib/SNMP/Info/Layer2/3Com.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Adtran:
|
SNMP::Info::Layer2::Adtran:
|
||||||
file: lib/SNMP/Info/Layer2/Adtran.pm
|
file: lib/SNMP/Info/Layer2/Adtran.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Aerohive:
|
SNMP::Info::Layer2::Aerohive:
|
||||||
file: lib/SNMP/Info/Layer2/Aerohive.pm
|
file: lib/SNMP/Info/Layer2/Aerohive.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Airespace:
|
SNMP::Info::Layer2::Airespace:
|
||||||
file: lib/SNMP/Info/Layer2/Airespace.pm
|
file: lib/SNMP/Info/Layer2/Airespace.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Aironet:
|
SNMP::Info::Layer2::Aironet:
|
||||||
file: lib/SNMP/Info/Layer2/Aironet.pm
|
file: lib/SNMP/Info/Layer2/Aironet.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Allied:
|
SNMP::Info::Layer2::Allied:
|
||||||
file: lib/SNMP/Info/Layer2/Allied.pm
|
file: lib/SNMP/Info/Layer2/Allied.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Atmedia:
|
SNMP::Info::Layer2::Atmedia:
|
||||||
file: lib/SNMP/Info/Layer2/Atmedia.pm
|
file: lib/SNMP/Info/Layer2/Atmedia.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Baystack:
|
SNMP::Info::Layer2::Baystack:
|
||||||
file: lib/SNMP/Info/Layer2/Baystack.pm
|
file: lib/SNMP/Info/Layer2/Baystack.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::C1900:
|
SNMP::Info::Layer2::C1900:
|
||||||
file: lib/SNMP/Info/Layer2/C1900.pm
|
file: lib/SNMP/Info/Layer2/C1900.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::C2900:
|
SNMP::Info::Layer2::C2900:
|
||||||
file: lib/SNMP/Info/Layer2/C2900.pm
|
file: lib/SNMP/Info/Layer2/C2900.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Catalyst:
|
SNMP::Info::Layer2::Catalyst:
|
||||||
file: lib/SNMP/Info/Layer2/Catalyst.pm
|
file: lib/SNMP/Info/Layer2/Catalyst.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Centillion:
|
SNMP::Info::Layer2::Centillion:
|
||||||
file: lib/SNMP/Info/Layer2/Centillion.pm
|
file: lib/SNMP/Info/Layer2/Centillion.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Cisco:
|
SNMP::Info::Layer2::Cisco:
|
||||||
file: lib/SNMP/Info/Layer2/Cisco.pm
|
file: lib/SNMP/Info/Layer2/Cisco.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::CiscoSB:
|
SNMP::Info::Layer2::CiscoSB:
|
||||||
file: lib/SNMP/Info/Layer2/CiscoSB.pm
|
file: lib/SNMP/Info/Layer2/CiscoSB.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Exinda:
|
SNMP::Info::Layer2::Exinda:
|
||||||
file: lib/SNMP/Info/Layer2/Exinda.pm
|
file: lib/SNMP/Info/Layer2/Exinda.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::HP:
|
SNMP::Info::Layer2::HP:
|
||||||
file: lib/SNMP/Info/Layer2/HP.pm
|
file: lib/SNMP/Info/Layer2/HP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::HP4000:
|
SNMP::Info::Layer2::HP4000:
|
||||||
file: lib/SNMP/Info/Layer2/HP4000.pm
|
file: lib/SNMP/Info/Layer2/HP4000.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::HPVC:
|
SNMP::Info::Layer2::HPVC:
|
||||||
file: lib/SNMP/Info/Layer2/HPVC.pm
|
file: lib/SNMP/Info/Layer2/HPVC.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Kentrox:
|
SNMP::Info::Layer2::Kentrox:
|
||||||
file: lib/SNMP/Info/Layer2/Kentrox.pm
|
file: lib/SNMP/Info/Layer2/Kentrox.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::N2270:
|
SNMP::Info::Layer2::N2270:
|
||||||
file: lib/SNMP/Info/Layer2/N2270.pm
|
file: lib/SNMP/Info/Layer2/N2270.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::NAP222x:
|
SNMP::Info::Layer2::NAP222x:
|
||||||
file: lib/SNMP/Info/Layer2/NAP222x.pm
|
file: lib/SNMP/Info/Layer2/NAP222x.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::NWSS2300:
|
SNMP::Info::Layer2::NWSS2300:
|
||||||
file: lib/SNMP/Info/Layer2/NWSS2300.pm
|
file: lib/SNMP/Info/Layer2/NWSS2300.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Netgear:
|
SNMP::Info::Layer2::Netgear:
|
||||||
file: lib/SNMP/Info/Layer2/Netgear.pm
|
file: lib/SNMP/Info/Layer2/Netgear.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Nexans:
|
SNMP::Info::Layer2::Nexans:
|
||||||
file: lib/SNMP/Info/Layer2/Nexans.pm
|
file: lib/SNMP/Info/Layer2/Nexans.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Orinoco:
|
SNMP::Info::Layer2::Orinoco:
|
||||||
file: lib/SNMP/Info/Layer2/Orinoco.pm
|
file: lib/SNMP/Info/Layer2/Orinoco.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Sixnet:
|
SNMP::Info::Layer2::Sixnet:
|
||||||
file: lib/SNMP/Info/Layer2/Sixnet.pm
|
file: lib/SNMP/Info/Layer2/Sixnet.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Trapeze:
|
SNMP::Info::Layer2::Trapeze:
|
||||||
file: lib/SNMP/Info/Layer2/Trapeze.pm
|
file: lib/SNMP/Info/Layer2/Trapeze.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::Ubiquiti:
|
SNMP::Info::Layer2::Ubiquiti:
|
||||||
file: lib/SNMP/Info/Layer2/Ubiquiti.pm
|
file: lib/SNMP/Info/Layer2/Ubiquiti.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer2::ZyXEL_DSLAM:
|
SNMP::Info::Layer2::ZyXEL_DSLAM:
|
||||||
file: lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm
|
file: lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3:
|
SNMP::Info::Layer3:
|
||||||
file: lib/SNMP/Info/Layer3.pm
|
file: lib/SNMP/Info/Layer3.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Aironet:
|
SNMP::Info::Layer3::Aironet:
|
||||||
file: lib/SNMP/Info/Layer3/Aironet.pm
|
file: lib/SNMP/Info/Layer3/Aironet.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::AlcatelLucent:
|
SNMP::Info::Layer3::AlcatelLucent:
|
||||||
file: lib/SNMP/Info/Layer3/AlcatelLucent.pm
|
file: lib/SNMP/Info/Layer3/AlcatelLucent.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::AlteonAD:
|
SNMP::Info::Layer3::AlteonAD:
|
||||||
file: lib/SNMP/Info/Layer3/AlteonAD.pm
|
file: lib/SNMP/Info/Layer3/AlteonAD.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Altiga:
|
SNMP::Info::Layer3::Altiga:
|
||||||
file: lib/SNMP/Info/Layer3/Altiga.pm
|
file: lib/SNMP/Info/Layer3/Altiga.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Arista:
|
SNMP::Info::Layer3::Arista:
|
||||||
file: lib/SNMP/Info/Layer3/Arista.pm
|
file: lib/SNMP/Info/Layer3/Arista.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Aruba:
|
SNMP::Info::Layer3::Aruba:
|
||||||
file: lib/SNMP/Info/Layer3/Aruba.pm
|
file: lib/SNMP/Info/Layer3/Aruba.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::BayRS:
|
SNMP::Info::Layer3::BayRS:
|
||||||
file: lib/SNMP/Info/Layer3/BayRS.pm
|
file: lib/SNMP/Info/Layer3/BayRS.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::BlueCoatSG:
|
SNMP::Info::Layer3::BlueCoatSG:
|
||||||
file: lib/SNMP/Info/Layer3/BlueCoatSG.pm
|
file: lib/SNMP/Info/Layer3/BlueCoatSG.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::C3550:
|
SNMP::Info::Layer3::C3550:
|
||||||
file: lib/SNMP/Info/Layer3/C3550.pm
|
file: lib/SNMP/Info/Layer3/C3550.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::C4000:
|
SNMP::Info::Layer3::C4000:
|
||||||
file: lib/SNMP/Info/Layer3/C4000.pm
|
file: lib/SNMP/Info/Layer3/C4000.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::C6500:
|
SNMP::Info::Layer3::C6500:
|
||||||
file: lib/SNMP/Info/Layer3/C6500.pm
|
file: lib/SNMP/Info/Layer3/C6500.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::CheckPoint:
|
SNMP::Info::Layer3::CheckPoint:
|
||||||
file: lib/SNMP/Info/Layer3/CheckPoint.pm
|
file: lib/SNMP/Info/Layer3/CheckPoint.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
|
SNMP::Info::Layer3::Ciena:
|
||||||
|
file: lib/SNMP/Info/Layer3/Ciena.pm
|
||||||
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Cisco:
|
SNMP::Info::Layer3::Cisco:
|
||||||
file: lib/SNMP/Info/Layer3/Cisco.pm
|
file: lib/SNMP/Info/Layer3/Cisco.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::CiscoASA:
|
SNMP::Info::Layer3::CiscoASA:
|
||||||
file: lib/SNMP/Info/Layer3/CiscoASA.pm
|
file: lib/SNMP/Info/Layer3/CiscoASA.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::CiscoFWSM:
|
SNMP::Info::Layer3::CiscoFWSM:
|
||||||
file: lib/SNMP/Info/Layer3/CiscoFWSM.pm
|
file: lib/SNMP/Info/Layer3/CiscoFWSM.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::CiscoSwitch:
|
SNMP::Info::Layer3::CiscoSwitch:
|
||||||
file: lib/SNMP/Info/Layer3/CiscoSwitch.pm
|
file: lib/SNMP/Info/Layer3/CiscoSwitch.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Contivity:
|
SNMP::Info::Layer3::Contivity:
|
||||||
file: lib/SNMP/Info/Layer3/Contivity.pm
|
file: lib/SNMP/Info/Layer3/Contivity.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Cumulus:
|
SNMP::Info::Layer3::Cumulus:
|
||||||
file: lib/SNMP/Info/Layer3/Cumulus.pm
|
file: lib/SNMP/Info/Layer3/Cumulus.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::DLink:
|
SNMP::Info::Layer3::DLink:
|
||||||
file: lib/SNMP/Info/Layer3/DLink.pm
|
file: lib/SNMP/Info/Layer3/DLink.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Dell:
|
SNMP::Info::Layer3::Dell:
|
||||||
file: lib/SNMP/Info/Layer3/Dell.pm
|
file: lib/SNMP/Info/Layer3/Dell.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::ERX:
|
SNMP::Info::Layer3::ERX:
|
||||||
file: lib/SNMP/Info/Layer3/ERX.pm
|
file: lib/SNMP/Info/Layer3/ERX.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Enterasys:
|
SNMP::Info::Layer3::Enterasys:
|
||||||
file: lib/SNMP/Info/Layer3/Enterasys.pm
|
file: lib/SNMP/Info/Layer3/Enterasys.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Extreme:
|
SNMP::Info::Layer3::Extreme:
|
||||||
file: lib/SNMP/Info/Layer3/Extreme.pm
|
file: lib/SNMP/Info/Layer3/Extreme.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::F5:
|
SNMP::Info::Layer3::F5:
|
||||||
file: lib/SNMP/Info/Layer3/F5.pm
|
file: lib/SNMP/Info/Layer3/F5.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Force10:
|
SNMP::Info::Layer3::Force10:
|
||||||
file: lib/SNMP/Info/Layer3/Force10.pm
|
file: lib/SNMP/Info/Layer3/Force10.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Fortinet:
|
SNMP::Info::Layer3::Fortinet:
|
||||||
file: lib/SNMP/Info/Layer3/Fortinet.pm
|
file: lib/SNMP/Info/Layer3/Fortinet.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Foundry:
|
SNMP::Info::Layer3::Foundry:
|
||||||
file: lib/SNMP/Info/Layer3/Foundry.pm
|
file: lib/SNMP/Info/Layer3/Foundry.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Genua:
|
SNMP::Info::Layer3::Genua:
|
||||||
file: lib/SNMP/Info/Layer3/Genua.pm
|
file: lib/SNMP/Info/Layer3/Genua.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::H3C:
|
SNMP::Info::Layer3::H3C:
|
||||||
file: lib/SNMP/Info/Layer3/H3C.pm
|
file: lib/SNMP/Info/Layer3/H3C.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::HP9300:
|
SNMP::Info::Layer3::HP9300:
|
||||||
file: lib/SNMP/Info/Layer3/HP9300.pm
|
file: lib/SNMP/Info/Layer3/HP9300.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Huawei:
|
SNMP::Info::Layer3::Huawei:
|
||||||
file: lib/SNMP/Info/Layer3/Huawei.pm
|
file: lib/SNMP/Info/Layer3/Huawei.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::IBMGbTor:
|
SNMP::Info::Layer3::IBMGbTor:
|
||||||
file: lib/SNMP/Info/Layer3/IBMGbTor.pm
|
file: lib/SNMP/Info/Layer3/IBMGbTor.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Juniper:
|
SNMP::Info::Layer3::Juniper:
|
||||||
file: lib/SNMP/Info/Layer3/Juniper.pm
|
file: lib/SNMP/Info/Layer3/Juniper.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Lantronix:
|
SNMP::Info::Layer3::Lantronix:
|
||||||
file: lib/SNMP/Info/Layer3/Lantronix.pm
|
file: lib/SNMP/Info/Layer3/Lantronix.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
|
SNMP::Info::Layer3::Lenovo:
|
||||||
|
file: lib/SNMP/Info/Layer3/Lenovo.pm
|
||||||
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Microsoft:
|
SNMP::Info::Layer3::Microsoft:
|
||||||
file: lib/SNMP/Info/Layer3/Microsoft.pm
|
file: lib/SNMP/Info/Layer3/Microsoft.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Mikrotik:
|
SNMP::Info::Layer3::Mikrotik:
|
||||||
file: lib/SNMP/Info/Layer3/Mikrotik.pm
|
file: lib/SNMP/Info/Layer3/Mikrotik.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::N1600:
|
SNMP::Info::Layer3::N1600:
|
||||||
file: lib/SNMP/Info/Layer3/N1600.pm
|
file: lib/SNMP/Info/Layer3/N1600.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::NetSNMP:
|
SNMP::Info::Layer3::NetSNMP:
|
||||||
file: lib/SNMP/Info/Layer3/NetSNMP.pm
|
file: lib/SNMP/Info/Layer3/NetSNMP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Netscreen:
|
SNMP::Info::Layer3::Netscreen:
|
||||||
file: lib/SNMP/Info/Layer3/Netscreen.pm
|
file: lib/SNMP/Info/Layer3/Netscreen.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Nexus:
|
SNMP::Info::Layer3::Nexus:
|
||||||
file: lib/SNMP/Info/Layer3/Nexus.pm
|
file: lib/SNMP/Info/Layer3/Nexus.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::OneAccess:
|
SNMP::Info::Layer3::OneAccess:
|
||||||
file: lib/SNMP/Info/Layer3/OneAccess.pm
|
file: lib/SNMP/Info/Layer3/OneAccess.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::PacketFront:
|
SNMP::Info::Layer3::PacketFront:
|
||||||
file: lib/SNMP/Info/Layer3/PacketFront.pm
|
file: lib/SNMP/Info/Layer3/PacketFront.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::PaloAlto:
|
SNMP::Info::Layer3::PaloAlto:
|
||||||
file: lib/SNMP/Info/Layer3/PaloAlto.pm
|
file: lib/SNMP/Info/Layer3/PaloAlto.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Passport:
|
SNMP::Info::Layer3::Passport:
|
||||||
file: lib/SNMP/Info/Layer3/Passport.pm
|
file: lib/SNMP/Info/Layer3/Passport.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Pf:
|
SNMP::Info::Layer3::Pf:
|
||||||
file: lib/SNMP/Info/Layer3/Pf.pm
|
file: lib/SNMP/Info/Layer3/Pf.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Pica8:
|
SNMP::Info::Layer3::Pica8:
|
||||||
file: lib/SNMP/Info/Layer3/Pica8.pm
|
file: lib/SNMP/Info/Layer3/Pica8.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
|
SNMP::Info::Layer3::Redlion:
|
||||||
|
file: lib/SNMP/Info/Layer3/Redlion.pm
|
||||||
|
version: '3.70'
|
||||||
|
SNMP::Info::Layer3::Scalance:
|
||||||
|
file: lib/SNMP/Info/Layer3/Scalance.pm
|
||||||
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::SonicWALL:
|
SNMP::Info::Layer3::SonicWALL:
|
||||||
file: lib/SNMP/Info/Layer3/SonicWALL.pm
|
file: lib/SNMP/Info/Layer3/SonicWALL.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Steelhead:
|
SNMP::Info::Layer3::Steelhead:
|
||||||
file: lib/SNMP/Info/Layer3/Steelhead.pm
|
file: lib/SNMP/Info/Layer3/Steelhead.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Sun:
|
SNMP::Info::Layer3::Sun:
|
||||||
file: lib/SNMP/Info/Layer3/Sun.pm
|
file: lib/SNMP/Info/Layer3/Sun.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Tasman:
|
SNMP::Info::Layer3::Tasman:
|
||||||
file: lib/SNMP/Info/Layer3/Tasman.pm
|
file: lib/SNMP/Info/Layer3/Tasman.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::Timetra:
|
SNMP::Info::Layer3::Timetra:
|
||||||
file: lib/SNMP/Info/Layer3/Timetra.pm
|
file: lib/SNMP/Info/Layer3/Timetra.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::VMware:
|
SNMP::Info::Layer3::VMware:
|
||||||
file: lib/SNMP/Info/Layer3/VMware.pm
|
file: lib/SNMP/Info/Layer3/VMware.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer3::VyOS:
|
SNMP::Info::Layer3::VyOS:
|
||||||
file: lib/SNMP/Info/Layer3/VyOS.pm
|
file: lib/SNMP/Info/Layer3/VyOS.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7:
|
SNMP::Info::Layer7:
|
||||||
file: lib/SNMP/Info/Layer7.pm
|
file: lib/SNMP/Info/Layer7.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7::APC:
|
SNMP::Info::Layer7::APC:
|
||||||
file: lib/SNMP/Info/Layer7/APC.pm
|
file: lib/SNMP/Info/Layer7/APC.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7::Arbor:
|
SNMP::Info::Layer7::Arbor:
|
||||||
file: lib/SNMP/Info/Layer7/Arbor.pm
|
file: lib/SNMP/Info/Layer7/Arbor.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7::CiscoIPS:
|
SNMP::Info::Layer7::CiscoIPS:
|
||||||
file: lib/SNMP/Info/Layer7/CiscoIPS.pm
|
file: lib/SNMP/Info/Layer7/CiscoIPS.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7::Gigamon:
|
SNMP::Info::Layer7::Gigamon:
|
||||||
file: lib/SNMP/Info/Layer7/Gigamon.pm
|
file: lib/SNMP/Info/Layer7/Gigamon.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7::Liebert:
|
SNMP::Info::Layer7::Liebert:
|
||||||
file: lib/SNMP/Info/Layer7/Liebert.pm
|
file: lib/SNMP/Info/Layer7/Liebert.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7::Neoteris:
|
SNMP::Info::Layer7::Neoteris:
|
||||||
file: lib/SNMP/Info/Layer7/Neoteris.pm
|
file: lib/SNMP/Info/Layer7/Neoteris.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::Layer7::Netscaler:
|
SNMP::Info::Layer7::Netscaler:
|
||||||
file: lib/SNMP/Info/Layer7/Netscaler.pm
|
file: lib/SNMP/Info/Layer7/Netscaler.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::MAU:
|
SNMP::Info::MAU:
|
||||||
file: lib/SNMP/Info/MAU.pm
|
file: lib/SNMP/Info/MAU.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::MRO:
|
SNMP::Info::MRO:
|
||||||
file: lib/SNMP/Info/MRO.pm
|
file: lib/SNMP/Info/MRO.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::NortelStack:
|
SNMP::Info::NortelStack:
|
||||||
file: lib/SNMP/Info/NortelStack.pm
|
file: lib/SNMP/Info/NortelStack.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::PowerEthernet:
|
SNMP::Info::PowerEthernet:
|
||||||
file: lib/SNMP/Info/PowerEthernet.pm
|
file: lib/SNMP/Info/PowerEthernet.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::RapidCity:
|
SNMP::Info::RapidCity:
|
||||||
file: lib/SNMP/Info/RapidCity.pm
|
file: lib/SNMP/Info/RapidCity.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
SNMP::Info::SONMP:
|
SNMP::Info::SONMP:
|
||||||
file: lib/SNMP/Info/SONMP.pm
|
file: lib/SNMP/Info/SONMP.pm
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
recommends:
|
recommends:
|
||||||
Class::ISA: '0'
|
Class::ISA: '0'
|
||||||
File::Slurp: '0'
|
File::Slurp: '0'
|
||||||
@@ -426,7 +445,7 @@ resources:
|
|||||||
MailingList: https://lists.sourceforge.net/lists/listinfo/snmp-info-users
|
MailingList: https://lists.sourceforge.net/lists/listinfo/snmp-info-users
|
||||||
bugtracker: https://github.com/netdisco/snmp-info/issues
|
bugtracker: https://github.com/netdisco/snmp-info/issues
|
||||||
homepage: http://netdisco.org/
|
homepage: http://netdisco.org/
|
||||||
license: http://opensource.org/licenses/BSD-3-Clause
|
license: http://opensource.org/licenses/bsd-license.php
|
||||||
repository: https://github.com/netdisco/snmp-info
|
repository: https://github.com/netdisco/snmp-info
|
||||||
version: '3.66'
|
version: '3.70'
|
||||||
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
|
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
|
||||||
|
|||||||
85
README
85
README
@@ -2,7 +2,7 @@ NAME
|
|||||||
SNMP::Info - OO Interface to Network devices and MIBs through SNMP
|
SNMP::Info - OO Interface to Network devices and MIBs through SNMP
|
||||||
|
|
||||||
VERSION
|
VERSION
|
||||||
SNMP::Info - Version 3.66
|
SNMP::Info - Version 3.70
|
||||||
|
|
||||||
AUTHOR
|
AUTHOR
|
||||||
SNMP::Info is maintained by team of Open Source authors headed by Eric
|
SNMP::Info is maintained by team of Open Source authors headed by Eric
|
||||||
@@ -275,6 +275,16 @@ SUBCLASSES
|
|||||||
|
|
||||||
See documentation in SNMP::Info::CiscoVTP for details.
|
See documentation in SNMP::Info::CiscoVTP for details.
|
||||||
|
|
||||||
|
SNMP::Info::DocsisHE
|
||||||
|
SNMP Interface for DOCSIS CMTS
|
||||||
|
|
||||||
|
See documentation in SNMP::Info::DocsisHE for details.
|
||||||
|
|
||||||
|
SNMP::Info::DocsisCM
|
||||||
|
SNMP Interface for DOCSIS Cable Modems
|
||||||
|
|
||||||
|
See documentation in SNMP::Info::DocsisCM for details.
|
||||||
|
|
||||||
SNMP::Info::EDP
|
SNMP::Info::EDP
|
||||||
Extreme Discovery Protocol. EXTREME-EDP-MIB
|
Extreme Discovery Protocol. EXTREME-EDP-MIB
|
||||||
|
|
||||||
@@ -296,13 +306,6 @@ SUBCLASSES
|
|||||||
|
|
||||||
See documentation in SNMP::Info::FDP for details.
|
See documentation in SNMP::Info::FDP for details.
|
||||||
|
|
||||||
SNMP::Info::IPv6
|
|
||||||
SNMP Interface for obtaining configured IPv6 addresses and mapping
|
|
||||||
IPv6 addresses to MAC addresses and interfaces, using information
|
|
||||||
from IP-MIB, IPV6-MIB and/or CISCO-IETF-IP-MIB.
|
|
||||||
|
|
||||||
See documentation in SNMP::Info::IPv6 for details.
|
|
||||||
|
|
||||||
SNMP::Info::IEEE802dot11
|
SNMP::Info::IEEE802dot11
|
||||||
IEEE802dot11-MIB. A collection of OIDs providing information about
|
IEEE802dot11-MIB. A collection of OIDs providing information about
|
||||||
standards based 802.11 wireless devices.
|
standards based 802.11 wireless devices.
|
||||||
@@ -314,6 +317,13 @@ SUBCLASSES
|
|||||||
|
|
||||||
See documentation in SNMP::Info::IEEE802dot3ad for details.
|
See documentation in SNMP::Info::IEEE802dot3ad for details.
|
||||||
|
|
||||||
|
SNMP::Info::IPv6
|
||||||
|
SNMP Interface for obtaining configured IPv6 addresses and mapping
|
||||||
|
IPv6 addresses to MAC addresses and interfaces, using information
|
||||||
|
from IP-MIB, IPV6-MIB and/or CISCO-IETF-IP-MIB.
|
||||||
|
|
||||||
|
See documentation in SNMP::Info::IPv6 for details.
|
||||||
|
|
||||||
SNMP::Info::LLDP
|
SNMP::Info::LLDP
|
||||||
LLDP-MIB, LLDP-EXT-DOT1-MIB, and LLDP-EXT-DOT3-MIB. Link Layer
|
LLDP-MIB, LLDP-EXT-DOT1-MIB, and LLDP-EXT-DOT3-MIB. Link Layer
|
||||||
Discovery Protocol (LLDP) Support.
|
Discovery Protocol (LLDP) Support.
|
||||||
@@ -475,7 +485,7 @@ SUBCLASSES
|
|||||||
|
|
||||||
SNMP::Info::Layer2::Cisco
|
SNMP::Info::Layer2::Cisco
|
||||||
Generic Cisco subclass for layer 2 devices that are not yet
|
Generic Cisco subclass for layer 2 devices that are not yet
|
||||||
supported in more specific subclassesand the base layer 2 Cisco
|
supported in more specific subclasses and the base layer 2 Cisco
|
||||||
class for other device specific layer 2 Cisco classes.
|
class for other device specific layer 2 Cisco classes.
|
||||||
|
|
||||||
See documentation in SNMP::Info::Layer2::Cisco for details.
|
See documentation in SNMP::Info::Layer2::Cisco for details.
|
||||||
@@ -534,7 +544,7 @@ SUBCLASSES
|
|||||||
SNMP::Info::Layer2::Nexans
|
SNMP::Info::Layer2::Nexans
|
||||||
Subclass for Nexans switches
|
Subclass for Nexans switches
|
||||||
|
|
||||||
See documetion in SNMP::Info::Layer2::Nexans for details.
|
See documentation in SNMP::Info::Layer2::Nexans for details.
|
||||||
|
|
||||||
SNMP::Info::Layer2::NWSS2300
|
SNMP::Info::Layer2::NWSS2300
|
||||||
SNMP Interface to Avaya (Trapeze) Wireless Controllers
|
SNMP Interface to Avaya (Trapeze) Wireless Controllers
|
||||||
@@ -576,9 +586,6 @@ SUBCLASSES
|
|||||||
Subclass for Cisco Aironet wireless access points (AP) not
|
Subclass for Cisco Aironet wireless access points (AP) not
|
||||||
running IOS. These are usually older devices.
|
running IOS. These are usually older devices.
|
||||||
|
|
||||||
MIBs for these devices now included in v2.tar.gz available from
|
|
||||||
ftp.cisco.com.
|
|
||||||
|
|
||||||
Note SNMP::Info::Layer2::Aironet
|
Note SNMP::Info::Layer2::Aironet
|
||||||
|
|
||||||
See documentation in SNMP::Info::Layer3::Aironet for details.
|
See documentation in SNMP::Info::Layer3::Aironet for details.
|
||||||
@@ -629,8 +636,9 @@ SUBCLASSES
|
|||||||
See documentation in SNMP::Info::Layer3::C4000 for details.
|
See documentation in SNMP::Info::Layer3::C4000 for details.
|
||||||
|
|
||||||
SNMP::Info::Layer3::C6500
|
SNMP::Info::Layer3::C6500
|
||||||
This class covers Catalyst 6500s in native mode, hybrid mode.
|
This class covers Catalyst 6500 series running CatOS or IOS, as
|
||||||
Catalyst 3750's, 2970's and probably others.
|
well as Catalyst 2960, 2970, 3750 and 3850 series, including
|
||||||
|
blade switches CBS30x0 and CBS31x0 series, all running IOS.
|
||||||
|
|
||||||
See documentation in SNMP::Info::Layer3::C6500 for details.
|
See documentation in SNMP::Info::Layer3::C6500 for details.
|
||||||
|
|
||||||
@@ -639,6 +647,11 @@ SUBCLASSES
|
|||||||
|
|
||||||
See documentation in SNMP::Info::Layer3::CheckPoint for details.
|
See documentation in SNMP::Info::Layer3::CheckPoint for details.
|
||||||
|
|
||||||
|
SNMP::Info::Layer3::Ciena
|
||||||
|
Subclass for Ciena devices.
|
||||||
|
|
||||||
|
See documentation in SNMP::Info::Layer3::Ciena for details.
|
||||||
|
|
||||||
SNMP::Info::Layer3::Cisco
|
SNMP::Info::Layer3::Cisco
|
||||||
This is a simple wrapper around layer 3 for IOS devices and the
|
This is a simple wrapper around layer 3 for IOS devices and the
|
||||||
base layer 3 Cisco class for other device specific layer 3 Cisco
|
base layer 3 Cisco class for other device specific layer 3 Cisco
|
||||||
@@ -756,6 +769,11 @@ SUBCLASSES
|
|||||||
|
|
||||||
See documentation in SNMP::Info::Layer3::Lantronix for details.
|
See documentation in SNMP::Info::Layer3::Lantronix for details.
|
||||||
|
|
||||||
|
SNMP::Info::Layer3::Lenovo
|
||||||
|
Subclass for Lenovo switches running CNOS.
|
||||||
|
|
||||||
|
See documentation in SNMP::Info::Layer3::Lenovo for details.
|
||||||
|
|
||||||
SNMP::Info::Layer3::Microsoft
|
SNMP::Info::Layer3::Microsoft
|
||||||
Subclass for Generic Microsoft Routers running Microsoft Windows
|
Subclass for Generic Microsoft Routers running Microsoft Windows
|
||||||
OS.
|
OS.
|
||||||
@@ -819,6 +837,16 @@ SUBCLASSES
|
|||||||
|
|
||||||
See documentation in SNMP::Info::Layer3::Pica8 for details.
|
See documentation in SNMP::Info::Layer3::Pica8 for details.
|
||||||
|
|
||||||
|
SNMP::Info::Layer3::Redlion
|
||||||
|
Subclass for redlion routers.
|
||||||
|
|
||||||
|
See documentation in SNMP::Info::Layer3::Redlion for details.
|
||||||
|
|
||||||
|
SNMP::Info::Layer3::Scalance
|
||||||
|
Subclass for Siemens Scalance devices.
|
||||||
|
|
||||||
|
See documentation in SNMP::Info::Layer3::Scalance for details.
|
||||||
|
|
||||||
SNMP::Info::Layer3::SonicWALL
|
SNMP::Info::Layer3::SonicWALL
|
||||||
Subclass for generic SonicWALL devices.
|
Subclass for generic SonicWALL devices.
|
||||||
|
|
||||||
@@ -885,7 +913,7 @@ SUBCLASSES
|
|||||||
See documentation in SNMP::Info::Layer7::Liebert for details.
|
See documentation in SNMP::Info::Layer7::Liebert for details.
|
||||||
|
|
||||||
SNMP::Info::Layer7::Neoteris
|
SNMP::Info::Layer7::Neoteris
|
||||||
Subclass for Juniper SSL VPN appliances.
|
Subclass for Pulse Secure / Juniper SSL VPN appliances.
|
||||||
|
|
||||||
See documentation in SNMP::Info::Layer7::Neoteris for details.
|
See documentation in SNMP::Info::Layer7::Neoteris for details.
|
||||||
|
|
||||||
@@ -1036,7 +1064,7 @@ USAGE
|
|||||||
anything when a connection under Version 2 is attempted.
|
anything when a connection under Version 2 is attempted.
|
||||||
|
|
||||||
Some newer devices will support Version 1, but will not return all
|
Some newer devices will support Version 1, but will not return all
|
||||||
the data they might have if you had connected under Version 1
|
the data they might have if you had connected under Version 1.
|
||||||
|
|
||||||
When trying to get info from a new device, you may have to try
|
When trying to get info from a new device, you may have to try
|
||||||
version 2 and then fallback to version 1.
|
version 2 and then fallback to version 1.
|
||||||
@@ -1136,7 +1164,7 @@ USAGE
|
|||||||
|
|
||||||
my $info = new SNMP::Info(...);
|
my $info = new SNMP::Info(...);
|
||||||
# Returns more specific object type
|
# Returns more specific object type
|
||||||
$info = $info->specific();
|
my $specific = $info->specify();
|
||||||
|
|
||||||
Usually this method is called internally from new(AutoSpecify => 1)
|
Usually this method is called internally from new(AutoSpecify => 1)
|
||||||
|
|
||||||
@@ -1150,7 +1178,7 @@ USAGE
|
|||||||
<ftp://ftp.cisco.com/pub/mibs/supportlists/wsc5000/wsc5000-community
|
<ftp://ftp.cisco.com/pub/mibs/supportlists/wsc5000/wsc5000-community
|
||||||
Indexing.html>
|
Indexing.html>
|
||||||
|
|
||||||
Globals (Scalar Methods)
|
GLOBALS (Scalar Methods)
|
||||||
These are methods to return scalar data from RFC1213.
|
These are methods to return scalar data from RFC1213.
|
||||||
|
|
||||||
Some subset of these is probably available for any network device that
|
Some subset of these is probably available for any network device that
|
||||||
@@ -1791,6 +1819,7 @@ EXTENDING SNMP::INFO
|
|||||||
$VERSION = 0.1;
|
$VERSION = 0.1;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
@@ -1800,18 +1829,18 @@ EXTENDING SNMP::INFO
|
|||||||
SNMP::Info::CiscoVTP Exporter/;
|
SNMP::Info::CiscoVTP Exporter/;
|
||||||
@SNMP::Info::Layer2::Sample::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Sample::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
|
||||||
|
|
||||||
%MIBS = (%SNMP::Info::Layer2::MIBS,
|
%MIBS = (%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::CiscoVTP::MIBS,
|
%SNMP::Info::CiscoVTP::MIBS,
|
||||||
'SUPER-DOOPER-MIB' => 'supermibobject'
|
'SUPER-DOOPER-MIB' => 'supermibobject',
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (%SNMP::Info::Layer2::GLOBALS,
|
%GLOBALS = (%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::CiscoVTP::GLOBALS,
|
%SNMP::Info::CiscoVTP::GLOBALS,
|
||||||
'name' => 'supermib_supername',
|
'name' => 'supermib_supername',
|
||||||
'favorite_color' => 'supermib_fav_color_object',
|
'favorite_color' => 'supermib_fav_color_object',
|
||||||
'favorite_movie' => 'supermib_fav_movie_val'
|
'favorite_movie' => 'supermib_fav_movie_val',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (%SNMP::Info::Layer2::FUNCS,
|
%FUNCS = (%SNMP::Info::Layer2::FUNCS,
|
||||||
@@ -1819,16 +1848,16 @@ EXTENDING SNMP::INFO
|
|||||||
# Super Dooper MIB - Super Hero Table
|
# Super Dooper MIB - Super Hero Table
|
||||||
'super_hero_index' => 'SuperHeroIfIndex',
|
'super_hero_index' => 'SuperHeroIfIndex',
|
||||||
'super_hero_name' => 'SuperHeroIfName',
|
'super_hero_name' => 'SuperHeroIfName',
|
||||||
'super_hero_powers' => 'SuperHeroIfPowers'
|
'super_hero_powers' => 'SuperHeroIfPowers',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
%MUNGE = (%SNMP::Info::Layer2::MUNGE,
|
%MUNGE = (%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::CiscoVTP::MUNGE,
|
%SNMP::Info::CiscoVTP::MUNGE,
|
||||||
'super_hero_powers' => \&munge_powers
|
'super_hero_powers' => \&munge_powers,
|
||||||
);
|
);
|
||||||
|
|
||||||
# OverRide uptime() method from %SNMP::Info::GLOBALS
|
# Override uptime() method from %SNMP::Info::GLOBALS
|
||||||
sub uptime {
|
sub uptime {
|
||||||
my $sample = shift;
|
my $sample = shift;
|
||||||
|
|
||||||
@@ -1895,7 +1924,7 @@ SNMP::INFO INTERNALS
|
|||||||
|
|
||||||
$REPEATERS
|
$REPEATERS
|
||||||
Default 20. MaxRepeaters for BULKWALK operations. See "perldoc SNMP"
|
Default 20. MaxRepeaters for BULKWALK operations. See "perldoc SNMP"
|
||||||
for more info. Can change by passing BulkRepeaters option in new()
|
for more info. Can change by passing "BulkRepeaters" option in new()
|
||||||
|
|
||||||
Data Munging Callback Subroutines
|
Data Munging Callback Subroutines
|
||||||
munge_speed()
|
munge_speed()
|
||||||
@@ -1984,7 +2013,7 @@ SNMP::INFO INTERNALS
|
|||||||
handles the "newer" definitions for the enumeration in IF-MIB.
|
handles the "newer" definitions for the enumeration in IF-MIB.
|
||||||
|
|
||||||
TODO: Get the precedence of MIBs and overriding of MIB data in
|
TODO: Get the precedence of MIBs and overriding of MIB data in
|
||||||
Net-SNMP figured out. Heirarchy/precendence of MIBS in SNMP::Info.
|
Net-SNMP figured out. Hierarchy/precedence of MIBS in SNMP::Info.
|
||||||
|
|
||||||
munge_port_list()
|
munge_port_list()
|
||||||
Takes an octet string representing a set of ports and returns a
|
Takes an octet string representing a set of ports and returns a
|
||||||
@@ -2004,7 +2033,7 @@ SNMP::INFO INTERNALS
|
|||||||
resolve_desthost()
|
resolve_desthost()
|
||||||
Takes the SNMP::Session "DestHost" argument and determines if it is
|
Takes the SNMP::Session "DestHost" argument and determines if it is
|
||||||
an 'IPv4' or 'IPv6' host. 'IPv6' hosts are prefixed with the "udp6:"
|
an 'IPv4' or 'IPv6' host. 'IPv6' hosts are prefixed with the "udp6:"
|
||||||
"transport-specifier" as required by the undelying "Net-SNMP"
|
"transport-specifier" as required by the underlying "Net-SNMP"
|
||||||
library. If unable to determine the type of address or resolve a DNS
|
library. If unable to determine the type of address or resolve a DNS
|
||||||
name, dies with "croak".
|
name, dies with "croak".
|
||||||
|
|
||||||
|
|||||||
289
lib/SNMP/Info.pm
289
lib/SNMP/Info.pm
@@ -21,11 +21,11 @@ use NetAddr::IP::Lite ':lower';
|
|||||||
@SNMP::Info::ISA = qw/Exporter/;
|
@SNMP::Info::ISA = qw/Exporter/;
|
||||||
@SNMP::Info::EXPORT_OK = qw//;
|
@SNMP::Info::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars
|
our
|
||||||
qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG %SPEED_MAP
|
($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG, %SPEED_MAP,
|
||||||
$NOSUCH $BIGINT $REPEATERS/;
|
$NOSUCH, $BIGINT, $REPEATERS);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135-20.5.7';
|
||||||
|
|
||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ SNMP::Info - OO Interface to Network devices and MIBs through SNMP
|
|||||||
|
|
||||||
=head1 VERSION
|
=head1 VERSION
|
||||||
|
|
||||||
SNMP::Info - Version 3.66
|
SNMP::Info - Version 3.70-135
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
@@ -338,6 +338,18 @@ F<CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB>
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoVTP> for details.
|
See documentation in L<SNMP::Info::CiscoVTP> for details.
|
||||||
|
|
||||||
|
=item SNMP::Info::DocsisHE
|
||||||
|
|
||||||
|
SNMP Interface for DOCSIS CMTS
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::DocsisHE> for details.
|
||||||
|
|
||||||
|
=item SNMP::Info::DocsisCM
|
||||||
|
|
||||||
|
SNMP Interface for DOCSIS Cable Modems
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::DocsisCM> for details.
|
||||||
|
|
||||||
=item SNMP::Info::EDP
|
=item SNMP::Info::EDP
|
||||||
|
|
||||||
Extreme Discovery Protocol. F<EXTREME-EDP-MIB>
|
Extreme Discovery Protocol. F<EXTREME-EDP-MIB>
|
||||||
@@ -363,14 +375,6 @@ Foundry (Brocade) Discovery Protocol. F<FOUNDRY-SN-SWITCH-GROUP-MIB>
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::FDP> for details.
|
See documentation in L<SNMP::Info::FDP> for details.
|
||||||
|
|
||||||
=item SNMP::Info::IPv6
|
|
||||||
|
|
||||||
SNMP Interface for obtaining configured IPv6 addresses and mapping IPv6
|
|
||||||
addresses to MAC addresses and interfaces, using information from F<IP-MIB>,
|
|
||||||
F<IPV6-MIB> and/or F<CISCO-IETF-IP-MIB>.
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::IPv6> for details.
|
|
||||||
|
|
||||||
=item SNMP::Info::IEEE802dot11
|
=item SNMP::Info::IEEE802dot11
|
||||||
|
|
||||||
F<IEEE802dot11-MIB>. A collection of OIDs providing information about
|
F<IEEE802dot11-MIB>. A collection of OIDs providing information about
|
||||||
@@ -384,6 +388,14 @@ SNMP Interface to IEEE Aggregated Links. F<IEEE8023-LAG-MIB>
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::IEEE802dot3ad> for details.
|
See documentation in L<SNMP::Info::IEEE802dot3ad> for details.
|
||||||
|
|
||||||
|
=item SNMP::Info::IPv6
|
||||||
|
|
||||||
|
SNMP Interface for obtaining configured IPv6 addresses and mapping IPv6
|
||||||
|
addresses to MAC addresses and interfaces, using information from F<IP-MIB>,
|
||||||
|
F<IPV6-MIB> and/or F<CISCO-IETF-IP-MIB>.
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::IPv6> for details.
|
||||||
|
|
||||||
=item SNMP::Info::LLDP
|
=item SNMP::Info::LLDP
|
||||||
|
|
||||||
F<LLDP-MIB>, F<LLDP-EXT-DOT1-MIB>, and F<LLDP-EXT-DOT3-MIB>. Link Layer
|
F<LLDP-MIB>, F<LLDP-EXT-DOT1-MIB>, and F<LLDP-EXT-DOT3-MIB>. Link Layer
|
||||||
@@ -577,7 +589,7 @@ See documentation in L<SNMP::Info::Layer2::Centillion> for details.
|
|||||||
=item SNMP::Info::Layer2::Cisco
|
=item SNMP::Info::Layer2::Cisco
|
||||||
|
|
||||||
Generic Cisco subclass for layer 2 devices that are not yet supported
|
Generic Cisco subclass for layer 2 devices that are not yet supported
|
||||||
in more specific subclassesand the base layer 2 Cisco class for
|
in more specific subclasses and the base layer 2 Cisco class for
|
||||||
other device specific layer 2 Cisco classes.
|
other device specific layer 2 Cisco classes.
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2::Cisco> for details.
|
See documentation in L<SNMP::Info::Layer2::Cisco> for details.
|
||||||
@@ -645,7 +657,7 @@ See documentation in L<SNMP::Info::Layer2::Netgear> for details.
|
|||||||
|
|
||||||
Subclass for Nexans switches
|
Subclass for Nexans switches
|
||||||
|
|
||||||
See documetion in L<SNMP::Info::Layer2::Nexans> for details.
|
See documentation in L<SNMP::Info::Layer2::Nexans> for details.
|
||||||
|
|
||||||
=item SNMP::Info::Layer2::NWSS2300
|
=item SNMP::Info::Layer2::NWSS2300
|
||||||
|
|
||||||
@@ -698,8 +710,6 @@ See documentation in L<SNMP::Info::Layer3> for details.
|
|||||||
Subclass for Cisco Aironet wireless access points (AP) not running IOS. These
|
Subclass for Cisco Aironet wireless access points (AP) not running IOS. These
|
||||||
are usually older devices.
|
are usually older devices.
|
||||||
|
|
||||||
MIBs for these devices now included in v2.tar.gz available from ftp.cisco.com.
|
|
||||||
|
|
||||||
Note L<SNMP::Info::Layer2::Aironet>
|
Note L<SNMP::Info::Layer2::Aironet>
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3::Aironet> for details.
|
See documentation in L<SNMP::Info::Layer3::Aironet> for details.
|
||||||
@@ -758,8 +768,9 @@ See documentation in L<SNMP::Info::Layer3::C4000> for details.
|
|||||||
|
|
||||||
=item SNMP::Info::Layer3::C6500
|
=item SNMP::Info::Layer3::C6500
|
||||||
|
|
||||||
This class covers Catalyst 6500s in native mode, hybrid mode. Catalyst
|
This class covers Catalyst 6500 series running CatOS or IOS, as well as
|
||||||
3750's, 2970's and probably others.
|
Catalyst 2960, 2970, 3750 and 3850 series, including blade switches
|
||||||
|
CBS30x0 and CBS31x0 series, all running IOS.
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3::C6500> for details.
|
See documentation in L<SNMP::Info::Layer3::C6500> for details.
|
||||||
|
|
||||||
@@ -769,6 +780,12 @@ Subclass for CheckPoint devices.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3::CheckPoint> for details.
|
See documentation in L<SNMP::Info::Layer3::CheckPoint> for details.
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer3::Ciena
|
||||||
|
|
||||||
|
Subclass for Ciena devices.
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::Layer3::Ciena> for details.
|
||||||
|
|
||||||
=item SNMP::Info::Layer3::Cisco
|
=item SNMP::Info::Layer3::Cisco
|
||||||
|
|
||||||
This is a simple wrapper around layer 3 for IOS devices and the base layer 3
|
This is a simple wrapper around layer 3 for IOS devices and the base layer 3
|
||||||
@@ -906,6 +923,12 @@ Subclass for Lantronix devices.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3::Lantronix> for details.
|
See documentation in L<SNMP::Info::Layer3::Lantronix> for details.
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer3::Lenovo
|
||||||
|
|
||||||
|
Subclass for Lenovo switches running CNOS.
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::Layer3::Lenovo> for details.
|
||||||
|
|
||||||
=item SNMP::Info::Layer3::Microsoft
|
=item SNMP::Info::Layer3::Microsoft
|
||||||
|
|
||||||
Subclass for Generic Microsoft Routers running Microsoft Windows OS.
|
Subclass for Generic Microsoft Routers running Microsoft Windows OS.
|
||||||
@@ -979,6 +1002,18 @@ Subclass for Pica8 devices.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3::Pica8> for details.
|
See documentation in L<SNMP::Info::Layer3::Pica8> for details.
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer3::Redlion
|
||||||
|
|
||||||
|
Subclass for redlion routers.
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::Layer3::Redlion> for details.
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer3::Scalance
|
||||||
|
|
||||||
|
Subclass for Siemens Scalance devices.
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::Layer3::Scalance> for details.
|
||||||
|
|
||||||
=item SNMP::Info::Layer3::SonicWALL
|
=item SNMP::Info::Layer3::SonicWALL
|
||||||
|
|
||||||
Subclass for generic SonicWALL devices.
|
Subclass for generic SonicWALL devices.
|
||||||
@@ -987,7 +1022,7 @@ See documentation in L<SNMP::Info::Layer3::SonicWALL> for details.
|
|||||||
|
|
||||||
=item SNMP::Info::Layer3::Steelhead
|
=item SNMP::Info::Layer3::Steelhead
|
||||||
|
|
||||||
Subclass for Riverbed Steelhead WAN optimization appliances.
|
Subclass for Riverbed Steelhead WAN optimization appliances.
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3::Steelhead> for details.
|
See documentation in L<SNMP::Info::Layer3::Steelhead> for details.
|
||||||
|
|
||||||
@@ -1067,7 +1102,7 @@ See documentation in L<SNMP::Info::Layer7::Liebert> for details.
|
|||||||
|
|
||||||
=item SNMP::Info::Layer7::Neoteris
|
=item SNMP::Info::Layer7::Neoteris
|
||||||
|
|
||||||
Subclass for Juniper SSL VPN appliances.
|
Subclass for Pulse Secure / Juniper SSL VPN appliances.
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer7::Neoteris> for details.
|
See documentation in L<SNMP::Info::Layer7::Neoteris> for details.
|
||||||
|
|
||||||
@@ -1243,7 +1278,7 @@ Some older devices don't support SNMP version 2, and will not return anything
|
|||||||
when a connection under Version 2 is attempted.
|
when a connection under Version 2 is attempted.
|
||||||
|
|
||||||
Some newer devices will support Version 1, but will not return all the data
|
Some newer devices will support Version 1, but will not return all the data
|
||||||
they might have if you had connected under Version 1
|
they might have if you had connected under Version 1.
|
||||||
|
|
||||||
When trying to get info from a new device, you may have to try version 2 and
|
When trying to get info from a new device, you may have to try version 2 and
|
||||||
then fallback to version 1.
|
then fallback to version 1.
|
||||||
@@ -1315,7 +1350,7 @@ sub new {
|
|||||||
delete $sess_args{Offline};
|
delete $sess_args{Offline};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( defined $args{Cache} and ref {} eq ref $args{Cache} ) {
|
if ( defined $args{Cache} and ref({}) eq ref $args{Cache} ) {
|
||||||
$new_obj->{$_} = $args{Cache}->{$_} for keys %{$args{Cache}};
|
$new_obj->{$_} = $args{Cache}->{$_} for keys %{$args{Cache}};
|
||||||
delete $sess_args{Cache};
|
delete $sess_args{Cache};
|
||||||
}
|
}
|
||||||
@@ -1376,7 +1411,15 @@ sub new {
|
|||||||
$new_obj->{snmp_comm} = $sess->{Community} || $args{Community} || 'public';
|
$new_obj->{snmp_comm} = $sess->{Community} || $args{Community} || 'public';
|
||||||
$new_obj->{snmp_user} = $sess->{SecName} || $args{SecName} || 'initial';
|
$new_obj->{snmp_user} = $sess->{SecName} || $args{SecName} || 'initial';
|
||||||
|
|
||||||
return $auto_specific ? $new_obj->specify() : $new_obj;
|
my $info = $auto_specific ? $new_obj->specify() : $new_obj;
|
||||||
|
|
||||||
|
if (defined $info and ($info->debug() > 1)) {
|
||||||
|
require mro;
|
||||||
|
print STDERR (ref $info) ." has resolution order: \n";
|
||||||
|
print STDERR " $_\n" foreach @{ mro::get_linear_isa( ref $info ) };
|
||||||
|
}
|
||||||
|
|
||||||
|
return $info;
|
||||||
}
|
}
|
||||||
|
|
||||||
=item update()
|
=item update()
|
||||||
@@ -1528,7 +1571,7 @@ sub cache {
|
|||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $data = shift;
|
my $data = shift;
|
||||||
|
|
||||||
if ( defined $data and ref {} eq ref $data ) {
|
if ( defined $data and ref({}) eq ref $data ) {
|
||||||
$self->{$_} = $data->{$_} for keys %$data;
|
$self->{$_} = $data->{$_} for keys %$data;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1620,41 +1663,54 @@ sub device_type {
|
|||||||
# Hash for generic fallback to a device class if unable to determine using
|
# Hash for generic fallback to a device class if unable to determine using
|
||||||
# the sysDescr regex.
|
# the sysDescr regex.
|
||||||
my %l3sysoidmap = (
|
my %l3sysoidmap = (
|
||||||
9 => 'SNMP::Info::Layer3::Cisco',
|
9 => 'SNMP::Info::Layer3::Cisco',
|
||||||
11 => 'SNMP::Info::Layer2::HP',
|
11 => 'SNMP::Info::Layer2::HP',
|
||||||
18 => 'SNMP::Info::Layer3::BayRS',
|
18 => 'SNMP::Info::Layer3::BayRS',
|
||||||
42 => 'SNMP::Info::Layer3::Sun',
|
42 => 'SNMP::Info::Layer3::Sun',
|
||||||
43 => 'SNMP::Info::Layer2::3Com',
|
43 => 'SNMP::Info::Layer2::3Com',
|
||||||
45 => 'SNMP::Info::Layer2::Baystack',
|
45 => 'SNMP::Info::Layer2::Baystack',
|
||||||
171 => 'SNMP::Info::Layer3::DLink',
|
171 => 'SNMP::Info::Layer3::DLink',
|
||||||
244 => 'SNMP::Info::Layer3::Lantronix',
|
244 => 'SNMP::Info::Layer3::Lantronix',
|
||||||
311 => 'SNMP::Info::Layer3::Microsoft',
|
259 => 'SNMP::Info::Layer3::Accton',
|
||||||
|
311 => 'SNMP::Info::Layer3::Microsoft',
|
||||||
|
637 => 'SNMP::Info::Layer3::AlcatelLucent',
|
||||||
|
655 => 'SNMP::Info::Layer2::Carelink',
|
||||||
664 => 'SNMP::Info::Layer2::Adtran',
|
664 => 'SNMP::Info::Layer2::Adtran',
|
||||||
674 => 'SNMP::Info::Layer3::Dell',
|
674 => 'SNMP::Info::Layer3::Dell',
|
||||||
1588 => 'SNMP::Info::Layer3::Foundry',
|
776 => 'SNMP::Info::Layer2::Telindus',
|
||||||
1872 => 'SNMP::Info::Layer3::AlteonAD',
|
890 => 'SNMP::Info::Layer2::Zyxel',
|
||||||
1916 => 'SNMP::Info::Layer3::Extreme',
|
1286 => 'SNMP::Info::Layer2::ECI',
|
||||||
1991 => 'SNMP::Info::Layer3::Foundry',
|
1588 => 'SNMP::Info::Layer3::Foundry',
|
||||||
2011 => 'SNMP::Info::Layer3::Huawei',
|
1795 => 'SNMP::Info::Layer2::Paradyne',
|
||||||
2021 => 'SNMP::Info::Layer3::NetSNMP',
|
1872 => 'SNMP::Info::Layer3::AlteonAD',
|
||||||
2272 => 'SNMP::Info::Layer3::Passport',
|
1890 => 'SNMP::Info::Layer3::Redlion',
|
||||||
2620 => 'SNMP::Info::Layer3::CheckPoint',
|
1916 => 'SNMP::Info::Layer3::Extreme',
|
||||||
2636 => 'SNMP::Info::Layer3::Juniper',
|
1991 => 'SNMP::Info::Layer3::Foundry',
|
||||||
2925 => 'SNMP::Info::Layer1::Cyclades',
|
2011 => 'SNMP::Info::Layer3::Huawei',
|
||||||
3076 => 'SNMP::Info::Layer3::Altiga',
|
2021 => 'SNMP::Info::Layer3::NetSNMP',
|
||||||
3224 => 'SNMP::Info::Layer3::Netscreen',
|
2272 => 'SNMP::Info::Layer3::Passport',
|
||||||
3375 => 'SNMP::Info::Layer3::F5',
|
2620 => 'SNMP::Info::Layer3::CheckPoint',
|
||||||
3417 => 'SNMP::Info::Layer3::BlueCoatSG',
|
2636 => 'SNMP::Info::Layer3::Juniper',
|
||||||
3717 => 'SNMP::Info::Layer3::Genua',
|
2925 => 'SNMP::Info::Layer1::Cyclades',
|
||||||
4526 => 'SNMP::Info::Layer2::Netgear',
|
3076 => 'SNMP::Info::Layer3::Altiga',
|
||||||
4874 => 'SNMP::Info::Layer3::ERX',
|
3224 => 'SNMP::Info::Layer3::Netscreen',
|
||||||
5624 => 'SNMP::Info::Layer3::Enterasys',
|
3375 => 'SNMP::Info::Layer3::F5',
|
||||||
6027 => 'SNMP::Info::Layer3::Force10',
|
3417 => 'SNMP::Info::Layer3::BlueCoatSG',
|
||||||
6486 => 'SNMP::Info::Layer3::AlcatelLucent',
|
3717 => 'SNMP::Info::Layer3::Genua',
|
||||||
6527 => 'SNMP::Info::Layer3::Timetra',
|
4413 => 'SNMP::Info::Layer2::Ubiquiti',
|
||||||
6876 => 'SNMP::Info::Layer3::VMware',
|
4526 => 'SNMP::Info::Layer2::Netgear',
|
||||||
8072 => 'SNMP::Info::Layer3::NetSNMP',
|
4874 => 'SNMP::Info::Layer3::ERX',
|
||||||
9303 => 'SNMP::Info::Layer3::PacketFront',
|
5624 => 'SNMP::Info::Layer3::Enterasys',
|
||||||
|
6027 => 'SNMP::Info::Layer3::Force10',
|
||||||
|
6141 => 'SNMP::Info::Layer3::Ciena',
|
||||||
|
6339 => 'SNMP::Info::Layer3::DigitalChina',
|
||||||
|
6486 => 'SNMP::Info::Layer3::AlcatelLucent',
|
||||||
|
6527 => 'SNMP::Info::Layer3::Timetra',
|
||||||
|
6672 => 'SNMP::Info::Layer2::Proscend',
|
||||||
|
6876 => 'SNMP::Info::Layer3::VMware',
|
||||||
|
8072 => 'SNMP::Info::Layer3::NetSNMP',
|
||||||
|
8886 => 'SNMP::Info::Layer3::Raisecom',
|
||||||
|
9303 => 'SNMP::Info::Layer3::PacketFront',
|
||||||
10002 => 'SNMP::Info::Layer2::Ubiquiti',
|
10002 => 'SNMP::Info::Layer2::Ubiquiti',
|
||||||
10418 => 'SNMP::Info::Layer1::Cyclades',
|
10418 => 'SNMP::Info::Layer1::Cyclades',
|
||||||
12325 => 'SNMP::Info::Layer3::Pf',
|
12325 => 'SNMP::Info::Layer3::Pf',
|
||||||
@@ -1665,18 +1721,25 @@ sub device_type {
|
|||||||
14823 => 'SNMP::Info::Layer3::Aruba',
|
14823 => 'SNMP::Info::Layer3::Aruba',
|
||||||
14988 => 'SNMP::Info::Layer3::Mikrotik',
|
14988 => 'SNMP::Info::Layer3::Mikrotik',
|
||||||
17163 => 'SNMP::Info::Layer3::Steelhead',
|
17163 => 'SNMP::Info::Layer3::Steelhead',
|
||||||
|
19046 => 'SNMP::Info::Layer3::Lenovo',
|
||||||
21091 => 'SNMP::Info::Layer2::Exinda',
|
21091 => 'SNMP::Info::Layer2::Exinda',
|
||||||
25506 => 'SNMP::Info::Layer3::H3C',
|
|
||||||
25461 => 'SNMP::Info::Layer3::PaloAlto',
|
25461 => 'SNMP::Info::Layer3::PaloAlto',
|
||||||
|
25506 => 'SNMP::Info::Layer3::H3C',
|
||||||
26543 => 'SNMP::Info::Layer3::IBMGbTor',
|
26543 => 'SNMP::Info::Layer3::IBMGbTor',
|
||||||
30065 => 'SNMP::Info::Layer3::Arista',
|
|
||||||
35098 => 'SNMP::Info::Layer3::Pica8',
|
|
||||||
41112 => 'SNMP::Info::Layer2::Ubiquiti',
|
|
||||||
4413 => 'SNMP::Info::Layer2::Ubiquiti',
|
|
||||||
26928 => 'SNMP::Info::Layer2::Aerohive',
|
26928 => 'SNMP::Info::Layer2::Aerohive',
|
||||||
|
27514 => 'SNMP::Info::Layer3::Qtech',
|
||||||
|
30065 => 'SNMP::Info::Layer3::Arista',
|
||||||
30803 => 'SNMP::Info::Layer3::VyOS',
|
30803 => 'SNMP::Info::Layer3::VyOS',
|
||||||
44641 => 'SNMP::Info::Layer3::VyOS',
|
32761 => 'SNMP::Info::Layer3::Deliberant',
|
||||||
|
34300 => 'SNMP::Info::Layer3::Eltex',
|
||||||
|
35098 => 'SNMP::Info::Layer3::Pica8',
|
||||||
|
35265 => 'SNMP::Info::Layer3::Eltex',
|
||||||
40310 => 'SNMP::Info::Layer3::Cumulus',
|
40310 => 'SNMP::Info::Layer3::Cumulus',
|
||||||
|
40418 => 'SNMP::Info::Layer3::Nag',
|
||||||
|
41112 => 'SNMP::Info::Layer2::Ubiquiti',
|
||||||
|
44641 => 'SNMP::Info::Layer3::VyOS',
|
||||||
|
41752 => 'SNMP::Info::Layer3::Rotek',
|
||||||
|
42926 => 'SNMP::Info::Layer2::NSC',
|
||||||
);
|
);
|
||||||
|
|
||||||
my %l2sysoidmap = (
|
my %l2sysoidmap = (
|
||||||
@@ -1686,10 +1749,18 @@ sub device_type {
|
|||||||
45 => 'SNMP::Info::Layer2::Baystack',
|
45 => 'SNMP::Info::Layer2::Baystack',
|
||||||
171 => 'SNMP::Info::Layer3::DLink',
|
171 => 'SNMP::Info::Layer3::DLink',
|
||||||
207 => 'SNMP::Info::Layer2::Allied',
|
207 => 'SNMP::Info::Layer2::Allied',
|
||||||
|
259 => 'SNMP::Info::Layer3::Accton',
|
||||||
266 => 'SNMP::Info::Layer2::Nexans',
|
266 => 'SNMP::Info::Layer2::Nexans',
|
||||||
|
637 => 'SNMP::Info::Layer3::AlcatelLucent',
|
||||||
|
655 => 'SNMP::Info::Layer2::Carelink',
|
||||||
664 => 'SNMP::Info::Layer2::Adtran',
|
664 => 'SNMP::Info::Layer2::Adtran',
|
||||||
674 => 'SNMP::Info::Layer3::Dell',
|
674 => 'SNMP::Info::Layer3::Dell',
|
||||||
|
776 => 'SNMP::Info::Layer2::Telindus',
|
||||||
|
890 => 'SNMP::Info::Layer2::Zyxel',
|
||||||
|
1286 => 'SNMP::Info::Layer2::ECI',
|
||||||
|
1795 => 'SNMP::Info::Layer2::Paradyne',
|
||||||
1872 => 'SNMP::Info::Layer3::AlteonAD',
|
1872 => 'SNMP::Info::Layer3::AlteonAD',
|
||||||
|
1890 => 'SNMP::Info::Layer3::Redlion',
|
||||||
1916 => 'SNMP::Info::Layer3::Extreme',
|
1916 => 'SNMP::Info::Layer3::Extreme',
|
||||||
1991 => 'SNMP::Info::Layer3::Foundry',
|
1991 => 'SNMP::Info::Layer3::Foundry',
|
||||||
2011 => 'SNMP::Info::Layer3::Huawei',
|
2011 => 'SNMP::Info::Layer3::Huawei',
|
||||||
@@ -1699,7 +1770,11 @@ sub device_type {
|
|||||||
3375 => 'SNMP::Info::Layer3::F5',
|
3375 => 'SNMP::Info::Layer3::F5',
|
||||||
4526 => 'SNMP::Info::Layer2::Netgear',
|
4526 => 'SNMP::Info::Layer2::Netgear',
|
||||||
5624 => 'SNMP::Info::Layer3::Enterasys',
|
5624 => 'SNMP::Info::Layer3::Enterasys',
|
||||||
|
6141 => 'SNMP::Info::Layer3::Ciena',
|
||||||
|
6339 => 'SNMP::Info::Layer3::DigitalChina',
|
||||||
6486 => 'SNMP::Info::Layer3::AlcatelLucent',
|
6486 => 'SNMP::Info::Layer3::AlcatelLucent',
|
||||||
|
6672 => 'SNMP::Info::Layer2::Proscend',
|
||||||
|
8886 => 'SNMP::Info::Layer3::Raisecom',
|
||||||
9303 => 'SNMP::Info::Layer3::PacketFront',
|
9303 => 'SNMP::Info::Layer3::PacketFront',
|
||||||
10418 => 'SNMP::Info::Layer1::Cyclades',
|
10418 => 'SNMP::Info::Layer1::Cyclades',
|
||||||
11898 => 'SNMP::Info::Layer2::Orinoco',
|
11898 => 'SNMP::Info::Layer2::Orinoco',
|
||||||
@@ -1712,6 +1787,13 @@ sub device_type {
|
|||||||
21091 => 'SNMP::Info::Layer2::Exinda',
|
21091 => 'SNMP::Info::Layer2::Exinda',
|
||||||
26543 => 'SNMP::Info::Layer3::IBMGbTor',
|
26543 => 'SNMP::Info::Layer3::IBMGbTor',
|
||||||
26928 => 'SNMP::Info::Layer2::Aerohive',
|
26928 => 'SNMP::Info::Layer2::Aerohive',
|
||||||
|
27514 => 'SNMP::Info::Layer3::Qtech',
|
||||||
|
32761 => 'SNMP::Info::Layer3::Deliberant',
|
||||||
|
34300 => 'SNMP::Info::Layer3::Eltex',
|
||||||
|
35265 => 'SNMP::Info::Layer3::Eltex',
|
||||||
|
40418 => 'SNMP::Info::Layer3::Nag',
|
||||||
|
41752 => 'SNMP::Info::Layer3::Rotek',
|
||||||
|
42926 => 'SNMP::Info::Layer2::NSC',
|
||||||
);
|
);
|
||||||
|
|
||||||
my %l1sysoidmap = (
|
my %l1sysoidmap = (
|
||||||
@@ -1724,9 +1806,10 @@ sub device_type {
|
|||||||
476 => 'SNMP::Info::Layer7::Liebert',
|
476 => 'SNMP::Info::Layer7::Liebert',
|
||||||
5951 => 'SNMP::Info::Layer7::Netscaler',
|
5951 => 'SNMP::Info::Layer7::Netscaler',
|
||||||
9694 => 'SNMP::Info::Layer7::Arbor',
|
9694 => 'SNMP::Info::Layer7::Arbor',
|
||||||
14525 => 'SNMP::Info::Layer2::Trapeze',
|
|
||||||
12532 => 'SNMP::Info::Layer7::Neoteris',
|
12532 => 'SNMP::Info::Layer7::Neoteris',
|
||||||
|
14525 => 'SNMP::Info::Layer2::Trapeze',
|
||||||
26866 => 'SNMP::Info::Layer7::Gigamon',
|
26866 => 'SNMP::Info::Layer7::Gigamon',
|
||||||
|
41752 => 'SNMP::Info::Layer3::Rotek', #Rotek and Raisecom fucking crap -(
|
||||||
);
|
);
|
||||||
|
|
||||||
# Get just the enterprise number for generic mapping
|
# Get just the enterprise number for generic mapping
|
||||||
@@ -1758,7 +1841,7 @@ sub device_type {
|
|||||||
$objtype = 'SNMP::Info::Layer3::Aironet'
|
$objtype = 'SNMP::Info::Layer3::Aironet'
|
||||||
if ( $desc =~ /Aironet/ and $desc =~ /\D(AP4800)\D/ );
|
if ( $desc =~ /Aironet/ and $desc =~ /\D(AP4800)\D/ );
|
||||||
|
|
||||||
# Override voice gateway device (VG350) showing up as Aironet
|
# Override voice gateway device (VG350) showing up as Aironet
|
||||||
$objtype = 'SNMP::Info::Layer3::Cisco' if $desc =~ /VG350/;
|
$objtype = 'SNMP::Info::Layer3::Cisco' if $desc =~ /VG350/;
|
||||||
|
|
||||||
# Cat6k with older SUPs (hybrid CatOS/IOS?)
|
# Cat6k with older SUPs (hybrid CatOS/IOS?)
|
||||||
@@ -1867,6 +1950,14 @@ sub device_type {
|
|||||||
$objtype = 'SNMP::Info::Layer2::NWSS2300'
|
$objtype = 'SNMP::Info::Layer2::NWSS2300'
|
||||||
if (
|
if (
|
||||||
$desc =~ /^(Nortel\s)??Wireless\sSecurity\sSwitch\s23[568][012]\b/);
|
$desc =~ /^(Nortel\s)??Wireless\sSecurity\sSwitch\s23[568][012]\b/);
|
||||||
|
|
||||||
|
# Siemens Simatic Scalance
|
||||||
|
# Scalance overwrites layers later,
|
||||||
|
# so if we don't add it here (layer3) and at other
|
||||||
|
# it would flip/flop between those
|
||||||
|
$objtype = 'SNMP::Info::Layer3::Scalance'
|
||||||
|
if ( $soid =~ /\.1\.3\.6\.1\.4\.1\.4329\.6\.1\.2/i );
|
||||||
|
|
||||||
|
|
||||||
# Generic device classification based upon sysObjectID
|
# Generic device classification based upon sysObjectID
|
||||||
if ( ( $objtype eq 'SNMP::Info::Layer3' )
|
if ( ( $objtype eq 'SNMP::Info::Layer3' )
|
||||||
@@ -1875,7 +1966,6 @@ sub device_type {
|
|||||||
{
|
{
|
||||||
$objtype = $l3sysoidmap{$id};
|
$objtype = $l3sysoidmap{$id};
|
||||||
}
|
}
|
||||||
|
|
||||||
# Layer 2 Supported
|
# Layer 2 Supported
|
||||||
}
|
}
|
||||||
elsif ( $info->has_layer(2) ) {
|
elsif ( $info->has_layer(2) ) {
|
||||||
@@ -1997,6 +2087,11 @@ sub device_type {
|
|||||||
$objtype = 'SNMP::Info::Layer2::ZyXEL_DSLAM'
|
$objtype = 'SNMP::Info::Layer2::ZyXEL_DSLAM'
|
||||||
if ( $desc =~ /8-port .DSL Module\(Annex .\)/i );
|
if ( $desc =~ /8-port .DSL Module\(Annex .\)/i );
|
||||||
|
|
||||||
|
# Generic DOCSIS Cable Modem override
|
||||||
|
# If sysDesc follows the DOCSIS standard
|
||||||
|
$objtype = 'SNMP::Info::DocsisCM'
|
||||||
|
if ( $desc =~ /<<HW_REV: .*; VENDOR: .*; BOOTR: .*; SW_REV: .*; MODEL: .*>>/i);
|
||||||
|
|
||||||
# Generic device classification based upon sysObjectID
|
# Generic device classification based upon sysObjectID
|
||||||
if ( ( $objtype eq 'SNMP::Info::Layer2' )
|
if ( ( $objtype eq 'SNMP::Info::Layer2' )
|
||||||
and ( defined($id) )
|
and ( defined($id) )
|
||||||
@@ -2067,6 +2162,13 @@ sub device_type {
|
|||||||
$objtype = 'SNMP::Info::Layer7::CiscoIPS'
|
$objtype = 'SNMP::Info::Layer7::CiscoIPS'
|
||||||
if ( $soid =~ /\.1\.3\.6\.1\.4\.1\.9\.1\.1545/i );
|
if ( $soid =~ /\.1\.3\.6\.1\.4\.1\.9\.1\.1545/i );
|
||||||
|
|
||||||
|
# Siemens Simatic Scalance
|
||||||
|
# Scalance overwrites layers later,
|
||||||
|
# so if we don't add it here (layer3) and at other
|
||||||
|
# it would flip/flop between those
|
||||||
|
$objtype = 'SNMP::Info::Layer3::Scalance'
|
||||||
|
if ( $soid =~ /\.1\.3\.6\.1\.4\.1\.4329\.6\.1\.2/i );
|
||||||
|
|
||||||
# Generic device classification based upon sysObjectID
|
# Generic device classification based upon sysObjectID
|
||||||
if ( defined($id) and $objtype eq 'SNMP::Info') {
|
if ( defined($id) and $objtype eq 'SNMP::Info') {
|
||||||
if ( defined $l3sysoidmap{$id} ) {
|
if ( defined $l3sysoidmap{$id} ) {
|
||||||
@@ -2152,7 +2254,7 @@ Returns an object of a more-specific subclass.
|
|||||||
|
|
||||||
my $info = new SNMP::Info(...);
|
my $info = new SNMP::Info(...);
|
||||||
# Returns more specific object type
|
# Returns more specific object type
|
||||||
$info = $info->specific();
|
my $specific = $info->specify();
|
||||||
|
|
||||||
Usually this method is called internally from new(AutoSpecify => 1)
|
Usually this method is called internally from new(AutoSpecify => 1)
|
||||||
|
|
||||||
@@ -2195,6 +2297,7 @@ sub specify {
|
|||||||
|
|
||||||
$self->debug()
|
$self->debug()
|
||||||
and print "SNMP::Info::specify() - Changed Class to $device_type.\n";
|
and print "SNMP::Info::specify() - Changed Class to $device_type.\n";
|
||||||
|
|
||||||
return $sub_obj;
|
return $sub_obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2213,7 +2316,7 @@ sub cisco_comm_indexing {
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Globals (Scalar Methods)
|
=head2 GLOBALS (Scalar Methods)
|
||||||
|
|
||||||
These are methods to return scalar data from RFC1213.
|
These are methods to return scalar data from RFC1213.
|
||||||
|
|
||||||
@@ -2803,7 +2906,7 @@ sub ip_index {
|
|||||||
|
|
||||||
my $o_ip_idx = $self->old_ip_index();
|
my $o_ip_idx = $self->old_ip_index();
|
||||||
return $o_ip_idx
|
return $o_ip_idx
|
||||||
if ( ref {} eq ref $o_ip_idx and scalar keys %$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
|
# Since callers may be using the old iid to get the IP, strip protocol
|
||||||
# and length from the index
|
# and length from the index
|
||||||
@@ -2829,7 +2932,7 @@ sub ip_table {
|
|||||||
|
|
||||||
my $o_ip_table = $self->old_ip_table();
|
my $o_ip_table = $self->old_ip_table();
|
||||||
return $o_ip_table
|
return $o_ip_table
|
||||||
if ( ref {} eq ref $o_ip_table and scalar keys %$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_idx = $self->new_ip_index() || {};
|
||||||
my $n_ip_type = $self->new_ip_type() || {};
|
my $n_ip_type = $self->new_ip_type() || {};
|
||||||
@@ -2853,7 +2956,7 @@ sub ip_netmask {
|
|||||||
|
|
||||||
my $o_ip_mask = $self->old_ip_netmask();
|
my $o_ip_mask = $self->old_ip_netmask();
|
||||||
return $o_ip_mask
|
return $o_ip_mask
|
||||||
if ( ref {} eq ref $o_ip_mask and scalar keys %$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_pfx = $self->new_ip_prefix() || {};
|
||||||
my $n_ip_type = $self->new_ip_type() || {};
|
my $n_ip_type = $self->new_ip_type() || {};
|
||||||
@@ -3204,7 +3307,7 @@ A class inheriting this class must implement these data structures :
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item $INIT
|
=item $INIT
|
||||||
|
|
||||||
Used to flag if the MIBs have been loaded yet.
|
Used to flag if the MIBs have been loaded yet.
|
||||||
|
|
||||||
@@ -3351,10 +3454,10 @@ $info->init() will throw an exception if a MIB does not load.
|
|||||||
%MIBS = (
|
%MIBS = (
|
||||||
|
|
||||||
# Include these here for cases where the Net-SNMP default MIB list has
|
# Include these here for cases where the Net-SNMP default MIB list has
|
||||||
# been overridden during the compliation of the local Net-SNMP library.
|
# been overridden during the compilation of the local Net-SNMP library.
|
||||||
# These cover the globals and funcs defined in this file.
|
# These cover the globals and funcs defined in this file.
|
||||||
'SNMPv2-MIB' => 'sysObjectID',
|
'SNMPv2-MIB' => 'sysObjectID',
|
||||||
'RFC1213-MIB' => 'ipRouteIfIndex',
|
# (#325) 'RFC1213-MIB' => 'ipRouteIfIndex',
|
||||||
'IP-MIB' => 'ipAdEntAddr',
|
'IP-MIB' => 'ipAdEntAddr',
|
||||||
'IF-MIB' => 'ifIndex',
|
'IF-MIB' => 'ifIndex',
|
||||||
);
|
);
|
||||||
@@ -3408,6 +3511,7 @@ will inherit the Cisco Vlan module as an example.
|
|||||||
$VERSION = 0.1;
|
$VERSION = 0.1;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
@@ -3417,18 +3521,18 @@ will inherit the Cisco Vlan module as an example.
|
|||||||
SNMP::Info::CiscoVTP Exporter/;
|
SNMP::Info::CiscoVTP Exporter/;
|
||||||
@SNMP::Info::Layer2::Sample::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Sample::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
|
||||||
|
|
||||||
%MIBS = (%SNMP::Info::Layer2::MIBS,
|
%MIBS = (%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::CiscoVTP::MIBS,
|
%SNMP::Info::CiscoVTP::MIBS,
|
||||||
'SUPER-DOOPER-MIB' => 'supermibobject'
|
'SUPER-DOOPER-MIB' => 'supermibobject',
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (%SNMP::Info::Layer2::GLOBALS,
|
%GLOBALS = (%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::CiscoVTP::GLOBALS,
|
%SNMP::Info::CiscoVTP::GLOBALS,
|
||||||
'name' => 'supermib_supername',
|
'name' => 'supermib_supername',
|
||||||
'favorite_color' => 'supermib_fav_color_object',
|
'favorite_color' => 'supermib_fav_color_object',
|
||||||
'favorite_movie' => 'supermib_fav_movie_val'
|
'favorite_movie' => 'supermib_fav_movie_val',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (%SNMP::Info::Layer2::FUNCS,
|
%FUNCS = (%SNMP::Info::Layer2::FUNCS,
|
||||||
@@ -3436,16 +3540,16 @@ will inherit the Cisco Vlan module as an example.
|
|||||||
# Super Dooper MIB - Super Hero Table
|
# Super Dooper MIB - Super Hero Table
|
||||||
'super_hero_index' => 'SuperHeroIfIndex',
|
'super_hero_index' => 'SuperHeroIfIndex',
|
||||||
'super_hero_name' => 'SuperHeroIfName',
|
'super_hero_name' => 'SuperHeroIfName',
|
||||||
'super_hero_powers' => 'SuperHeroIfPowers'
|
'super_hero_powers' => 'SuperHeroIfPowers',
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
%MUNGE = (%SNMP::Info::Layer2::MUNGE,
|
%MUNGE = (%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::CiscoVTP::MUNGE,
|
%SNMP::Info::CiscoVTP::MUNGE,
|
||||||
'super_hero_powers' => \&munge_powers
|
'super_hero_powers' => \&munge_powers,
|
||||||
);
|
);
|
||||||
|
|
||||||
# OverRide uptime() method from %SNMP::Info::GLOBALS
|
# Override uptime() method from %SNMP::Info::GLOBALS
|
||||||
sub uptime {
|
sub uptime {
|
||||||
my $sample = shift;
|
my $sample = shift;
|
||||||
|
|
||||||
@@ -3533,7 +3637,7 @@ $NOSUCH = 1;
|
|||||||
=item $REPEATERS
|
=item $REPEATERS
|
||||||
|
|
||||||
Default 20. MaxRepeaters for BULKWALK operations. See C<perldoc SNMP> for
|
Default 20. MaxRepeaters for BULKWALK operations. See C<perldoc SNMP> for
|
||||||
more info. Can change by passing L<BulkRepeaters> option in new()
|
more info. Can change by passing L</BulkRepeaters> option in new()
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
@@ -3796,7 +3900,7 @@ updated enumeration for C<ifOperStatus> in C<IF-MIB>. This munge
|
|||||||
handles the "newer" definitions for the enumeration in IF-MIB.
|
handles the "newer" definitions for the enumeration in IF-MIB.
|
||||||
|
|
||||||
TODO: Get the precedence of MIBs and overriding of MIB data in Net-SNMP
|
TODO: Get the precedence of MIBs and overriding of MIB data in Net-SNMP
|
||||||
figured out. Heirarchy/precendence of MIBS in SNMP::Info.
|
figured out. Hierarchy/precedence of MIBS in SNMP::Info.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
@@ -3868,7 +3972,7 @@ sub munge_e_type {
|
|||||||
|
|
||||||
Takes the SNMP::Session C<DestHost> argument and determines if it is an
|
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:>
|
'IPv4' or 'IPv6' host. 'IPv6' hosts are prefixed with the C<udp6:>
|
||||||
C<transport-specifier> as required by the undelying C<Net-SNMP> library.
|
C<transport-specifier> as required by the underlying C<Net-SNMP> library.
|
||||||
If unable to determine the type of address or resolve a DNS name, dies with
|
If unable to determine the type of address or resolve a DNS name, dies with
|
||||||
C<croak>.
|
C<croak>.
|
||||||
|
|
||||||
@@ -4581,7 +4685,7 @@ sub _load_attr {
|
|||||||
|
|
||||||
# Another check for SNMPv1 - noSuchName return may results in an $iid
|
# Another check for SNMPv1 - noSuchName return may results in an $iid
|
||||||
# we've already seen and $val an empty string. If we don't catch
|
# we've already seen and $val an empty string. If we don't catch
|
||||||
# this here we erronously report a loop below.
|
# this here we erroneously report a loop below.
|
||||||
if ( defined $seen{$iid} and $seen{$iid} and $val eq '' ) {
|
if ( defined $seen{$iid} and $seen{$iid} and $val eq '' ) {
|
||||||
last;
|
last;
|
||||||
}
|
}
|
||||||
@@ -4733,7 +4837,7 @@ sub _cache {
|
|||||||
my ($attr, $data) = @_;
|
my ($attr, $data) = @_;
|
||||||
my $store = $self->store();
|
my $store = $self->store();
|
||||||
|
|
||||||
if (ref {} eq ref $data) {
|
if (ref({}) eq ref $data) {
|
||||||
$self->{"_${attr}"}++;
|
$self->{"_${attr}"}++;
|
||||||
$store->{$attr} = $data;
|
$store->{$attr} = $data;
|
||||||
}
|
}
|
||||||
@@ -4761,7 +4865,7 @@ sub _munge {
|
|||||||
|
|
||||||
return $data unless defined $munge->{$attr};
|
return $data unless defined $munge->{$attr};
|
||||||
|
|
||||||
if (ref {} eq ref $data) {
|
if (ref({}) eq ref $data) {
|
||||||
my $subref = $munge->{$attr};
|
my $subref = $munge->{$attr};
|
||||||
my %munged;
|
my %munged;
|
||||||
foreach my $key ( keys %$data ) {
|
foreach my $key ( keys %$data ) {
|
||||||
@@ -4822,6 +4926,11 @@ sub _validate_autoload_method {
|
|||||||
return [1,(exists $self->{store}->{$method} ? 1: 0)];
|
return [1,(exists $self->{store}->{$method} ? 1: 0)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# (#325) lazy load legacy RFC1213-MIB only if needed
|
||||||
|
SNMP::loadModules('RFC1213-MIB')
|
||||||
|
if $leaf_name =~ m/^(?:RFC1213-MIB::|ipr_|ipRoute)/
|
||||||
|
and not SNMP::translateObj($leaf_name);
|
||||||
|
|
||||||
# Translate MIB leaf node name to OID
|
# Translate MIB leaf node name to OID
|
||||||
my $oid = SNMP::translateObj($leaf_name);
|
my $oid = SNMP::translateObj($leaf_name);
|
||||||
|
|
||||||
@@ -4851,7 +4960,7 @@ sub _validate_autoload_method {
|
|||||||
|| ($method !~ /^set/ && $access eq 'NoAccess')) {
|
|| ($method !~ /^set/ && $access eq 'NoAccess')) {
|
||||||
|
|
||||||
print
|
print
|
||||||
"SNMP::Info::_validate_autoload_method($attr : $oid) Not accessable for requested operation.\n"
|
"SNMP::Info::_validate_autoload_method($attr : $oid) Not accessible for requested operation.\n"
|
||||||
if $self->debug();
|
if $self->debug();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -4984,8 +5093,6 @@ subclass.
|
|||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|
||||||
our $AUTOLOAD;
|
|
||||||
|
|
||||||
sub AUTOLOAD {
|
sub AUTOLOAD {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my ($sub_name) = $AUTOLOAD =~ /::(\w+)$/;
|
my ($sub_name) = $AUTOLOAD =~ /::(\w+)$/;
|
||||||
|
|||||||
@@ -30,26 +30,27 @@
|
|||||||
package SNMP::Info::AMAP;
|
package SNMP::Info::AMAP;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::AMAP::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::AMAP::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::AMAP::EXPORT_OK = qw//;
|
@SNMP::Info::AMAP::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS
|
%MIBS = (
|
||||||
= ( 'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType', );
|
'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType',
|
||||||
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
|
# ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB::aipAMAPRemHostname
|
||||||
# EXTREME-EDP-MIB::extremeEdpTable
|
|
||||||
'amap_rem_sysname' => 'aipAMAPRemHostname',
|
'amap_rem_sysname' => 'aipAMAPRemHostname',
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -91,7 +92,7 @@ sub _conn_table_mac {
|
|||||||
# address since they should all originate from the same device, but we don't
|
# address since they should all originate from the same device, but we don't
|
||||||
# know if they would all be reachable from the network management application.
|
# know if they would all be reachable from the network management application.
|
||||||
#
|
#
|
||||||
# We don't inplement partials since this is private index function
|
# We don't implement partials since this is private index function
|
||||||
sub _amap_index {
|
sub _amap_index {
|
||||||
my $amap = shift;
|
my $amap = shift;
|
||||||
|
|
||||||
@@ -253,7 +254,7 @@ Eric Miller
|
|||||||
|
|
||||||
$hasamap = $amap->hasAMAP() ? 'yes' : 'no';
|
$hasamap = $amap->hasAMAP() ? 'yes' : 'no';
|
||||||
|
|
||||||
# Print out a map of device ports with LLDP neighbors:
|
# Print out a map of device ports with AMAP neighbors:
|
||||||
my $interfaces = $amap->interfaces();
|
my $interfaces = $amap->interfaces();
|
||||||
my $amap_if = $amap->amap_if();
|
my $amap_if = $amap->amap_if();
|
||||||
my $amap_ip = $amap->amap_ip();
|
my $amap_ip = $amap->amap_ip();
|
||||||
@@ -291,7 +292,7 @@ None.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBAL METHODS
|
=head1 GLOBALS
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|
||||||
|
|||||||
@@ -30,15 +30,16 @@
|
|||||||
package SNMP::Info::AdslLine;
|
package SNMP::Info::AdslLine;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::AdslLine::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::AdslLine::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::AdslLine::EXPORT_OK = qw//;
|
@SNMP::Info::AdslLine::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'ADSL-LINE-MIB' => 'adslLineType' );
|
%MIBS = ( 'ADSL-LINE-MIB' => 'adslLineType' );
|
||||||
|
|
||||||
@@ -105,8 +106,6 @@ none.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -30,15 +30,16 @@
|
|||||||
package SNMP::Info::Aggregate;
|
package SNMP::Info::Aggregate;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::Aggregate::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::Aggregate::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::Aggregate::EXPORT_OK = qw/agg_ports_ifstack/;
|
@SNMP::Info::Aggregate::EXPORT_OK = qw/agg_ports_ifstack/;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# Load MIB for leafs referenced within class
|
# Load MIB for leafs referenced within class
|
||||||
%MIBS = ('IF-MIB' => 'ifIndex',);
|
%MIBS = ('IF-MIB' => 'ifIndex',);
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Airespace
|
# SNMP::Info::Airespace
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::Airespace;
|
package SNMP::Info::Airespace;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::Airespace::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::Airespace::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::Airespace::EXPORT_OK = qw//;
|
@SNMP::Info::Airespace::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS,
|
%SNMP::Info::MIBS,
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Bridge
|
# SNMP::Info::Bridge
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Changes since Version 0.7 Copyright (c) 2004 Max Baker
|
# Changes since Version 0.7 Copyright (c) 2004 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -34,15 +33,16 @@
|
|||||||
package SNMP::Info::Bridge;
|
package SNMP::Info::Bridge;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::Bridge::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::Bridge::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::Bridge::EXPORT_OK = qw//;
|
@SNMP::Info::Bridge::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION $DEBUG %MIBS %FUNCS %GLOBALS %MUNGE $INIT/;
|
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, $INIT);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
'BRIDGE-MIB' => 'dot1dBaseBridgeAddress',
|
'BRIDGE-MIB' => 'dot1dBaseBridgeAddress',
|
||||||
@@ -242,8 +242,10 @@ sub qb_fdb_index {
|
|||||||
sub fw_mac {
|
sub fw_mac {
|
||||||
my $bridge = shift;
|
my $bridge = shift;
|
||||||
|
|
||||||
my $qb = $bridge->qb_fw_mac();
|
unless ($bridge->can('cisco_comm_indexing') && $bridge->cisco_comm_indexing()){
|
||||||
return $qb if (ref {} eq ref $qb and scalar keys %$qb);
|
my $qb = $bridge->qb_fw_mac();
|
||||||
|
return $qb if (ref {} eq ref $qb and scalar keys %$qb);
|
||||||
|
}
|
||||||
|
|
||||||
return $bridge->SUPER::fw_mac();
|
return $bridge->SUPER::fw_mac();
|
||||||
}
|
}
|
||||||
@@ -251,8 +253,10 @@ sub fw_mac {
|
|||||||
sub fw_port {
|
sub fw_port {
|
||||||
my $bridge = shift;
|
my $bridge = shift;
|
||||||
|
|
||||||
my $qb = $bridge->qb_fw_port();
|
unless ($bridge->can('cisco_comm_indexing') && $bridge->cisco_comm_indexing()){
|
||||||
return $qb if (ref {} eq ref $qb and scalar keys %$qb);
|
my $qb = $bridge->qb_fw_port();
|
||||||
|
return $qb if (ref {} eq ref $qb and scalar keys %$qb);
|
||||||
|
}
|
||||||
|
|
||||||
return $bridge->SUPER::fw_port();
|
return $bridge->SUPER::fw_port();
|
||||||
}
|
}
|
||||||
@@ -260,8 +264,10 @@ sub fw_port {
|
|||||||
sub fw_status {
|
sub fw_status {
|
||||||
my $bridge = shift;
|
my $bridge = shift;
|
||||||
|
|
||||||
my $qb = $bridge->qb_fw_status();
|
unless ($bridge->can('cisco_comm_indexing') && $bridge->cisco_comm_indexing()){
|
||||||
return $qb if (ref {} eq ref $qb and scalar keys %$qb);
|
my $qb = $bridge->qb_fw_status();
|
||||||
|
return $qb if (ref {} eq ref $qb and scalar keys %$qb);
|
||||||
|
}
|
||||||
|
|
||||||
return $bridge->SUPER::fw_status();
|
return $bridge->SUPER::fw_status();
|
||||||
}
|
}
|
||||||
@@ -296,11 +302,11 @@ sub i_stp_port {
|
|||||||
my %i_stp_port;
|
my %i_stp_port;
|
||||||
|
|
||||||
foreach my $index ( keys %$stp_p_port ) {
|
foreach my $index ( keys %$stp_p_port ) {
|
||||||
my $bridge = $stp_p_port->{$index};
|
my $bport = $stp_p_port->{$index};
|
||||||
my $iid = $bp_index->{$index};
|
my $iid = $bp_index->{$index};
|
||||||
next unless defined $iid;
|
next unless defined $iid;
|
||||||
next unless defined $bridge;
|
next unless defined $bport;
|
||||||
$i_stp_port{$iid} = $bridge;
|
$i_stp_port{$iid} = $bport;
|
||||||
}
|
}
|
||||||
return \%i_stp_port;
|
return \%i_stp_port;
|
||||||
}
|
}
|
||||||
@@ -315,11 +321,11 @@ sub i_stp_id {
|
|||||||
my %i_stp_id;
|
my %i_stp_id;
|
||||||
|
|
||||||
foreach my $index ( keys %$stp_p_id ) {
|
foreach my $index ( keys %$stp_p_id ) {
|
||||||
my $bridge = $stp_p_id->{$index};
|
my $bport = $stp_p_id->{$index};
|
||||||
my $iid = $bp_index->{$index};
|
my $iid = $bp_index->{$index};
|
||||||
next unless defined $iid;
|
next unless defined $iid;
|
||||||
next unless defined $bridge;
|
next unless defined $bport;
|
||||||
$i_stp_id{$iid} = $bridge;
|
$i_stp_id{$iid} = $bport;
|
||||||
}
|
}
|
||||||
return \%i_stp_id;
|
return \%i_stp_id;
|
||||||
}
|
}
|
||||||
@@ -334,11 +340,11 @@ sub i_stp_bridge {
|
|||||||
my %i_stp_bridge;
|
my %i_stp_bridge;
|
||||||
|
|
||||||
foreach my $index ( keys %$stp_p_bridge ) {
|
foreach my $index ( keys %$stp_p_bridge ) {
|
||||||
my $bridge = $stp_p_bridge->{$index};
|
my $bport = $stp_p_bridge->{$index};
|
||||||
my $iid = $bp_index->{$index};
|
my $iid = $bp_index->{$index};
|
||||||
next unless defined $iid;
|
next unless defined $iid;
|
||||||
next unless defined $bridge;
|
next unless defined $bport;
|
||||||
$i_stp_bridge{$iid} = $bridge;
|
$i_stp_bridge{$iid} = $bport;
|
||||||
}
|
}
|
||||||
return \%i_stp_bridge;
|
return \%i_stp_bridge;
|
||||||
}
|
}
|
||||||
@@ -609,12 +615,11 @@ None.
|
|||||||
|
|
||||||
=item F<Q-BRIDGE-MIB>
|
=item F<Q-BRIDGE-MIB>
|
||||||
|
|
||||||
|
=item F<RSTP-MIB>
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
F<BRIDGE-MIB> needs to be extracted from
|
=head1 GLOBALS
|
||||||
ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBAL METHODS
|
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CDP
|
# SNMP::Info::CDP
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Changes since Version 0.7 Copyright (c) 2004 Max Baker
|
# Changes since Version 0.7 Copyright (c) 2004 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -34,16 +33,17 @@
|
|||||||
package SNMP::Info::CDP;
|
package SNMP::Info::CDP;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CDP::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CDP::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CDP::EXPORT_OK = qw//;
|
@SNMP::Info::CDP::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars
|
our
|
||||||
qw/$VERSION $DEBUG %FUNCS %GLOBALS %MIBS %MUNGE $INIT %CDP_CAPABILITIES/;
|
($VERSION, $DEBUG, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $INIT, %CDP_CAPABILITIES);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# Five data structures required by SNMP::Info
|
# Five data structures required by SNMP::Info
|
||||||
%MIBS = ( 'CISCO-CDP-MIB' => 'cdpGlobalRun' );
|
%MIBS = ( 'CISCO-CDP-MIB' => 'cdpGlobalRun' );
|
||||||
@@ -82,7 +82,6 @@ $VERSION = '3.66';
|
|||||||
'cdp_ver' => \&SNMP::Info::munge_null,
|
'cdp_ver' => \&SNMP::Info::munge_null,
|
||||||
'cdp_ip' => \&SNMP::Info::munge_ip,
|
'cdp_ip' => \&SNMP::Info::munge_ip,
|
||||||
'cdp_power' => \&munge_power,
|
'cdp_power' => \&munge_power,
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%CDP_CAPABILITIES = (
|
%CDP_CAPABILITIES = (
|
||||||
@@ -222,11 +221,17 @@ sub cdp_port {
|
|||||||
|
|
||||||
my $ch = $cdp->cdp_dev_port($partial) || {};
|
my $ch = $cdp->cdp_dev_port($partial) || {};
|
||||||
|
|
||||||
|
# most devices return a string with the interface name here (Port-ID TLV)
|
||||||
|
# see https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/cdp/command/cdp-cr-book/cdp-cr-a1.html
|
||||||
|
# it seems however that some devices report hex encoded mac addresses for this, see
|
||||||
|
# https://github.com/netdisco/snmp-info/issues/252
|
||||||
|
# once these bad devices get known we can figure out workarounds for them
|
||||||
|
|
||||||
my %cdp_port;
|
my %cdp_port;
|
||||||
foreach my $key ( sort keys %$ch ) {
|
foreach my $key ( sort keys %$ch ) {
|
||||||
my $port = $ch->{$key};
|
my $port = $ch->{$key};
|
||||||
next unless $port;
|
next unless $port;
|
||||||
$port = SNMP::Info::munge_mac($port) || SNMP::Info::munge_null($port);
|
$port = SNMP::Info::munge_null($port);
|
||||||
$cdp_port{$key} = $port;
|
$cdp_port{$key} = $port;
|
||||||
}
|
}
|
||||||
return \%cdp_port;
|
return \%cdp_port;
|
||||||
@@ -259,7 +264,7 @@ Max Baker
|
|||||||
$hascdp = $cdp->hasCDP() ? 'yes' : 'no';
|
$hascdp = $cdp->hasCDP() ? 'yes' : 'no';
|
||||||
|
|
||||||
# Print out a map of device ports with CDP neighbors:
|
# Print out a map of device ports with CDP neighbors:
|
||||||
my $interfaces = $cdp->interfaces();
|
my $interfaces = $cdp->interfaces();
|
||||||
my $cdp_if = $cdp->cdp_if();
|
my $cdp_if = $cdp->cdp_if();
|
||||||
my $cdp_ip = $cdp->cdp_ip();
|
my $cdp_ip = $cdp->cdp_ip();
|
||||||
my $cdp_port = $cdp->cdp_port();
|
my $cdp_port = $cdp->cdp_port();
|
||||||
@@ -278,8 +283,8 @@ SNMP::Info::CDP is a subclass of SNMP::Info that provides an object oriented
|
|||||||
interface to CDP information through SNMP.
|
interface to CDP information through SNMP.
|
||||||
|
|
||||||
CDP is a Layer 2 protocol that supplies topology information of devices that
|
CDP is a Layer 2 protocol that supplies topology information of devices that
|
||||||
also speak CDP, mostly switches and routers. CDP is implemented in Cisco and
|
also speak CDP, mostly switches and routers. CDP is implemented by Cisco and
|
||||||
some HP devices.
|
several other vendors.
|
||||||
|
|
||||||
Create or use a device subclass that inherits this class. Do not use
|
Create or use a device subclass that inherits this class. Do not use
|
||||||
directly.
|
directly.
|
||||||
@@ -299,9 +304,7 @@ None.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
=head1 GLOBALS
|
||||||
|
|
||||||
=head1 GLOBAL METHODS
|
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|
||||||
@@ -479,9 +482,10 @@ Returns remote platform id
|
|||||||
|
|
||||||
=item $cdp->cdp_port()
|
=item $cdp->cdp_port()
|
||||||
|
|
||||||
Returns remote port ID
|
Returns remote Port-ID. Most of the time this is a string with the port name, but this
|
||||||
|
is not guaranteed to be so.
|
||||||
|
|
||||||
(C<cdpDevicePort>)
|
(C<cdpCacheDevicePort>)
|
||||||
|
|
||||||
=item $cdp->cdp_proto()
|
=item $cdp->cdp_proto()
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
package SNMP::Info::CiscoAgg;
|
package SNMP::Info::CiscoAgg;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
#use warnings;
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::IEEE802dot3ad;
|
use SNMP::Info::IEEE802dot3ad;
|
||||||
|
|
||||||
@@ -46,9 +46,9 @@ use SNMP::Info::IEEE802dot3ad;
|
|||||||
agg_ports_pagp
|
agg_ports_pagp
|
||||||
/;
|
/;
|
||||||
|
|
||||||
use vars qw/$DEBUG $VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($DEBUG, $VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::IEEE802dot3ad::MIBS,
|
%SNMP::Info::IEEE802dot3ad::MIBS,
|
||||||
@@ -191,9 +191,7 @@ L<SNMP::Info::IEEE802dot3ad>
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
=head1 METHODS
|
|
||||||
|
|
||||||
=over 4
|
=over 4
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoConfig
|
# SNMP::Info::CiscoConfig
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::CiscoConfig;
|
package SNMP::Info::CiscoConfig;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CiscoConfig::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CiscoConfig::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoConfig::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoConfig::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
'CISCO-CONFIG-COPY-MIB' => 'ccCopyTable',
|
'CISCO-CONFIG-COPY-MIB' => 'ccCopyTable',
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoPortSecurity
|
# SNMP::Info::CiscoPortSecurity
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::CiscoPortSecurity;
|
package SNMP::Info::CiscoPortSecurity;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CiscoPortSecurity::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CiscoPortSecurity::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoPortSecurity::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoPortSecurity::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE %PAECAPABILITIES/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PAECAPABILITIES);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
'CISCO-PORT-SECURITY-MIB' => 'ciscoPortSecurityMIB',
|
'CISCO-PORT-SECURITY-MIB' => 'ciscoPortSecurityMIB',
|
||||||
@@ -110,7 +110,7 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%PAECAPABILITIES = (
|
%PAECAPABILITIES = (
|
||||||
0 => 'dot1xPaePortAuthCapable',
|
0 => 'dot1xPaePortAuthCapable',
|
||||||
1 => 'dot1xPaePortSuppCapable'
|
1 => 'dot1xPaePortSuppCapable',
|
||||||
);
|
);
|
||||||
|
|
||||||
sub munge_pae_capabilities {
|
sub munge_pae_capabilities {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoPower
|
# SNMP::Info::CiscoPower
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Bill Fenner
|
# Copyright (c) 2008 Bill Fenner
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,18 +30,20 @@
|
|||||||
package SNMP::Info::CiscoPower;
|
package SNMP::Info::CiscoPower;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CiscoPower::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CiscoPower::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoPower::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoPower::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
|
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
|
||||||
'CISCO-CDP-MIB' => 'cdpCachePowerConsumption' );
|
'CISCO-CDP-MIB' => 'cdpCachePowerConsumption',
|
||||||
|
);
|
||||||
|
|
||||||
%GLOBALS = ();
|
%GLOBALS = ();
|
||||||
|
|
||||||
@@ -153,6 +154,8 @@ Note that it requires that the device inherits from Info::Entity.
|
|||||||
|
|
||||||
=item F<CISCO-POWER-ETHERNET-EXT-MIB>
|
=item F<CISCO-POWER-ETHERNET-EXT-MIB>
|
||||||
|
|
||||||
|
=item F<CISCO-CDP-MIB>
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoQOS
|
# SNMP::Info::CiscoQOS
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2005 Alexander Hartmaier
|
# Copyright (c) 2005 Alexander Hartmaier
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::CiscoQOS;
|
package SNMP::Info::CiscoQOS;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CiscoQOS::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CiscoQOS::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoQOS::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoQOS::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'CISCO-CLASS-BASED-QOS-MIB' => 'cbQosIfIndex', );
|
%MIBS = ( 'CISCO-CLASS-BASED-QOS-MIB' => 'cbQosIfIndex', );
|
||||||
|
|
||||||
@@ -118,8 +118,6 @@ none.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoRTT
|
# SNMP::Info::CiscoRTT
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2005 Alexander Hartmaier
|
# Copyright (c) 2005 Alexander Hartmaier
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::CiscoRTT;
|
package SNMP::Info::CiscoRTT;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CiscoRTT::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CiscoRTT::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoRTT::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoRTT::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'CISCO-RTTMON-MIB' => 'rttMonCtrlAdminOwner', );
|
%MIBS = ( 'CISCO-RTTMON-MIB' => 'rttMonCtrlAdminOwner', );
|
||||||
|
|
||||||
@@ -99,8 +99,6 @@ none.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -113,7 +111,7 @@ None
|
|||||||
|
|
||||||
=head2 Overall Control Group Table
|
=head2 Overall Control Group Table
|
||||||
|
|
||||||
This table is from C<CISCO-RTTMAN-MIB::rttMonCtrlAdminTable>
|
This table is from C<CISCO-RTTMON-MIB::rttMonCtrlAdminTable>
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoStack
|
# SNMP::Info::CiscoStack
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker
|
# Copyright (c) 2008 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,14 +30,15 @@
|
|||||||
package SNMP::Info::CiscoStack;
|
package SNMP::Info::CiscoStack;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
|
|
||||||
@SNMP::Info::CiscoStack::ISA = qw/Exporter/;
|
@SNMP::Info::CiscoStack::ISA = qw/Exporter/;
|
||||||
@SNMP::Info::CiscoStack::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoStack::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE %PORTSTAT/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'CISCO-STACK-MIB' => 'ciscoStackMIB', );
|
%MIBS = ( 'CISCO-STACK-MIB' => 'ciscoStackMIB', );
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ $VERSION = '3.66';
|
|||||||
1 => 'other',
|
1 => 'other',
|
||||||
2 => 'ok',
|
2 => 'ok',
|
||||||
3 => 'minorFault',
|
3 => 'minorFault',
|
||||||
4 => 'majorFault'
|
4 => 'majorFault',
|
||||||
);
|
);
|
||||||
|
|
||||||
# Changes binary byte describing each port into ascii, and returns
|
# Changes binary byte describing each port into ascii, and returns
|
||||||
@@ -286,8 +286,7 @@ __END__
|
|||||||
|
|
||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
SNMP::Info::CiscoStack - SNMP Interface to data from F<CISCO-STACK-MIB> and
|
SNMP::Info::CiscoStack - SNMP Interface to data from F<CISCO-STACK-MIB>
|
||||||
F<CISCO-PORT-SECURITY-MIB>
|
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
@@ -296,7 +295,7 @@ Max Baker
|
|||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
# Let SNMP::Info determine the correct subclass for you.
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
my $ciscostats = new SNMP::Info(
|
my $ciscostack = new SNMP::Info(
|
||||||
AutoSpecify => 1,
|
AutoSpecify => 1,
|
||||||
Debug => 1,
|
Debug => 1,
|
||||||
DestHost => 'myswitch',
|
DestHost => 'myswitch',
|
||||||
@@ -305,7 +304,7 @@ Max Baker
|
|||||||
)
|
)
|
||||||
or die "Can't connect to DestHost.\n";
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
my $class = $ciscostats->class();
|
my $class = $ciscostack->class();
|
||||||
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoStats
|
# SNMP::Info::CiscoStats
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Changes since Version 0.7 Copyright (c) 2008-2009 Max Baker and SNMP::Info Developers
|
# Changes since Version 0.7 Copyright (c) 2008-2009 Max Baker and SNMP::Info Developers
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -34,15 +33,16 @@
|
|||||||
package SNMP::Info::CiscoStats;
|
package SNMP::Info::CiscoStats;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CiscoStats::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CiscoStats::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoStats::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoStats::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
'SNMPv2-MIB' => 'sysDescr',
|
'SNMPv2-MIB' => 'sysDescr',
|
||||||
@@ -105,6 +105,10 @@ sub os {
|
|||||||
|
|
||||||
# order here matters - there are Catalysts that run IOS and have catalyst
|
# order here matters - there are Catalysts that run IOS and have catalyst
|
||||||
# in their description field, as well as Catalysts that run IOS-XE.
|
# in their description field, as well as Catalysts that run IOS-XE.
|
||||||
|
return 'ios-xe' if ( $descr =~ /Denali/ );
|
||||||
|
return 'ios-xe' if ( $descr =~ /Fuji/ );
|
||||||
|
return 'ios-xe' if ( $descr =~ /Everest/ );
|
||||||
|
return 'ios-xe' if ( $descr =~ /Gibraltar/ );
|
||||||
return 'ios-xe' if ( $descr =~ /IOS-XE/ );
|
return 'ios-xe' if ( $descr =~ /IOS-XE/ );
|
||||||
return 'ios-xr' if ( $descr =~ /IOS XR/ );
|
return 'ios-xr' if ( $descr =~ /IOS XR/ );
|
||||||
return 'ios' if ( $descr =~ /IOS/ );
|
return 'ios' if ( $descr =~ /IOS/ );
|
||||||
@@ -385,8 +389,6 @@ None.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -29,14 +29,14 @@
|
|||||||
package SNMP::Info::CiscoStpExtensions;
|
package SNMP::Info::CiscoStpExtensions;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
use SNMP::Info::Bridge;
|
use SNMP::Info::Bridge;
|
||||||
|
|
||||||
use vars qw/$VERSION $DEBUG %MIBS %FUNCS %GLOBALS %MUNGE %PORTSTAT $INIT/;
|
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT, $INIT);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
@SNMP::Info::CiscoStpExtensions::ISA = qw/SNMP::Info::Bridge SNMP::Info Exporter/;
|
@SNMP::Info::CiscoStpExtensions::ISA = qw/SNMP::Info::Bridge SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoStpExtensions::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoStpExtensions::EXPORT_OK = qw//;
|
||||||
@@ -317,9 +317,7 @@ For debugging you can call new() directly as you would in SNMP::Info
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
=head1 GLOBALS
|
||||||
|
|
||||||
=head1 GLOBAL METHODS
|
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::CiscoVTP
|
# SNMP::Info::CiscoVTP
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::CiscoVTP;
|
package SNMP::Info::CiscoVTP;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::CiscoVTP::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::CiscoVTP::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::CiscoVTP::EXPORT_OK = qw//;
|
@SNMP::Info::CiscoVTP::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
'CISCO-VTP-MIB' => 'vtpVlanName',
|
'CISCO-VTP-MIB' => 'vtpVlanName',
|
||||||
@@ -565,8 +565,6 @@ None.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
126
lib/SNMP/Info/DocsisCM.pm
Normal file
126
lib/SNMP/Info/DocsisCM.pm
Normal file
@@ -0,0 +1,126 @@
|
|||||||
|
# SNMP::Info::DocsisCM - SNMP Interface to DOCSIS Cable Modems
|
||||||
|
#
|
||||||
|
# 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::DocsisCM;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
|
@SNMP::Info::DocsisCM::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::DocsisCM::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = (
|
||||||
|
%SNMP::Info::Layer2::MIBS
|
||||||
|
);
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = (
|
||||||
|
%SNMP::Info::Layer2::FUNCS
|
||||||
|
);
|
||||||
|
|
||||||
|
%MUNGE = (
|
||||||
|
%SNMP::Info::Layer2::MUNGE
|
||||||
|
);
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
my $cm = shift;
|
||||||
|
my $descr = $cm->description();
|
||||||
|
return $1 if $descr =~ /VENDOR: (.*?);/;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub model {
|
||||||
|
my $cm = shift;
|
||||||
|
my $descr = $cm->description();
|
||||||
|
return $1 if $descr =~ /MODEL: (.*?)>>/;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return "CM";
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $cm = shift;
|
||||||
|
my $descr = $cm->description();
|
||||||
|
return $1 if $descr =~ /SW_REV: (.*?);/;
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::DocsisCM - SNMP Interface for DOCSIS Cable Modems
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
SNMP::Info::DocsisCM is a subclass of SNMP::Info that provides info
|
||||||
|
about a given cable modem. Extracts data from the sysDescr, which is
|
||||||
|
mandated in the DOCSIS specification to match
|
||||||
|
"HW_REV: <value>; VENDOR: <value>; BOOTR: <value>; SW_REV: <value>; MODEL: <value>"
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=head2 Required MIBs
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $cm->vendor()
|
||||||
|
|
||||||
|
Returns the vendor of the cable modem.
|
||||||
|
|
||||||
|
=item $cm->model()
|
||||||
|
|
||||||
|
Returns the model of the cable modem.
|
||||||
|
|
||||||
|
=item $cm->os()
|
||||||
|
|
||||||
|
Returns 'cm', as the actual os is vendor and model dependent.
|
||||||
|
|
||||||
|
=item $cm->os_ver()
|
||||||
|
|
||||||
|
Returns the version of the software, extracted from the SW_REV field.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
124
lib/SNMP/Info/DocsisHE.pm
Normal file
124
lib/SNMP/Info/DocsisHE.pm
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
package SNMP::Info::DocsisHE;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
|
||||||
|
use SNMP::Info;
|
||||||
|
|
||||||
|
@SNMP::Info::DocsisHE::ISA = qw/SNMP::Info Exporter/;
|
||||||
|
@SNMP::Info::DocsisHE::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = (
|
||||||
|
'DOCS-IF3-MIB' => 'docsIf3Mib',
|
||||||
|
'DOCS-IF-MIB' => 'docsIfMib',
|
||||||
|
);
|
||||||
|
|
||||||
|
%GLOBALS = ();
|
||||||
|
|
||||||
|
%FUNCS = (
|
||||||
|
# DOCSIS 3.0 (DOCS-IF3-MIB) from CableLabs
|
||||||
|
'docs_if3_cmts_cm_status_md_if_index'=> 'docsIf3CmtsCmRegStatusMdIfIndex',
|
||||||
|
# DOCSIS (1.1, etc) from IETF
|
||||||
|
'docs_if_cmts_cm_status_inet_address_type' => 'docsIfCmtsCmStatusInetAddressType',
|
||||||
|
'docs_if_cmts_cm_status_inet_address' => 'docsIfCmtsCmStatusInetAddress',
|
||||||
|
'docs_cmts_cm_down_channel_if_index' => 'docsIfCmtsCmStatusDownChannelIfIndex',
|
||||||
|
'docs_cmts_cm_up_channel_if_index' => 'docsIfCmtsCmStatusUpChannelIfIndex',
|
||||||
|
);
|
||||||
|
|
||||||
|
%MUNGE = ();
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::DocsisHE - SNMP Interface for F<DOCS-IF-MIB> and F<DOCS-IF3-MIB>
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Ryan Gasik
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
my $cmts = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'cmts',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
);
|
||||||
|
# Get a list of modems off the DOCSIS CMTS
|
||||||
|
my $modems = $cmts->docs_if_cmts_cm_status_inet_address()
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
SNMP::Info::DocsisHE is a subclass of SNMP::Info that provides information
|
||||||
|
about the cable modems of a DOCSIS CMTS.
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=head2 Required MIBs
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item F<DOCS-IF-MIB>
|
||||||
|
Standard IETF MIBs for DOCSIS 1.1
|
||||||
|
|
||||||
|
=item F<DOCS-IF3-MIB>
|
||||||
|
CableLabs MIBs for DOCSIS 3
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
None.
|
||||||
|
|
||||||
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $info->docs_if3_cmts_cm_status_md_if_index()
|
||||||
|
|
||||||
|
Returns reference to hash of the IfIndex associated with each cable modem.
|
||||||
|
|
||||||
|
(C<docsIf3CmtsCmRegStatusMdIfIndex>)
|
||||||
|
|
||||||
|
=item $info->docs_if_cmts_cm_status_inet_address_type()
|
||||||
|
|
||||||
|
Returns reference to hash of the type of IP address (ie, IPv4, IPv6)
|
||||||
|
associated with each cable modem
|
||||||
|
|
||||||
|
(C<docsIfCmtsCmStatusInetAddressType>)
|
||||||
|
|
||||||
|
=item $info->docs_if_cmts_cm_status_inet_address()
|
||||||
|
|
||||||
|
Returns reference to hash of the IP address associated with each
|
||||||
|
cable modem.
|
||||||
|
|
||||||
|
(C<docsIfCmtsCmStatusInetAddress>)
|
||||||
|
|
||||||
|
=item $info->docs_cmts_cm_down_channel_if_index()
|
||||||
|
|
||||||
|
Returns reference to hash of the IfIndex of the down channel
|
||||||
|
(for DOCSIS 1.1) or a down channel (DOCSIS 3+) associated with each
|
||||||
|
cable modem.
|
||||||
|
|
||||||
|
(C<docsIfCmtsCmStatusDownChannelIfIndex>)
|
||||||
|
|
||||||
|
=item $info->docs_cmts_cm_up_channel_if_index()
|
||||||
|
|
||||||
|
Returns reference to hash of the IfIndex of the up channel
|
||||||
|
(for DOCSIS 1.1) or a up channel (DOCSIS 3+) associated with each
|
||||||
|
cable modem.
|
||||||
|
|
||||||
|
(C<docsIfCmtsCmStatusUpChannelIfIndex>)
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=cut
|
||||||
@@ -31,15 +31,16 @@
|
|||||||
package SNMP::Info::EDP;
|
package SNMP::Info::EDP;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::EDP::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::EDP::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::EDP::EXPORT_OK = qw//;
|
@SNMP::Info::EDP::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
'EXTREME-EDP-MIB' => 'extremeEdpPortIfIndex',
|
'EXTREME-EDP-MIB' => 'extremeEdpPortIfIndex',
|
||||||
@@ -75,7 +76,7 @@ sub hasEDP {
|
|||||||
# address since they should all originate from the same device, but we don't
|
# address since they should all originate from the same device, but we don't
|
||||||
# know if they would all be reachable from the network management application.
|
# know if they would all be reachable from the network management application.
|
||||||
#
|
#
|
||||||
# We don't inplement partials since this is private index function
|
# We don't implement partials since this is private index function
|
||||||
sub _edp_index {
|
sub _edp_index {
|
||||||
my $edp = shift;
|
my $edp = shift;
|
||||||
|
|
||||||
@@ -204,10 +205,10 @@ Eric Miller
|
|||||||
my $class = $edp->class();
|
my $class = $edp->class();
|
||||||
print " Using device sub class : $class\n";
|
print " Using device sub class : $class\n";
|
||||||
|
|
||||||
$haslldp = $edp->hasLLDP() ? 'yes' : 'no';
|
$hasedp = $edp->hasEDP() ? 'yes' : 'no';
|
||||||
|
|
||||||
# Print out a map of device ports with LLDP neighbors:
|
# Print out a map of device ports with EDP neighbors:
|
||||||
my $interfaces = $edp->interfaces();
|
my $interfaces = $edp->interfaces();
|
||||||
my $edp_if = $edp->edp_if();
|
my $edp_if = $edp->edp_if();
|
||||||
my $edp_ip = $edp->edp_ip();
|
my $edp_ip = $edp->edp_ip();
|
||||||
my $edp_port = $edp->edp_port();
|
my $edp_port = $edp->edp_port();
|
||||||
@@ -243,7 +244,7 @@ None.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBAL METHODS
|
=head1 GLOBALS
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|
||||||
@@ -251,7 +252,7 @@ These are methods that return scalar values from SNMP
|
|||||||
|
|
||||||
=item $edp->hasEDP()
|
=item $edp->hasEDP()
|
||||||
|
|
||||||
Is EDP is active in this device?
|
Is EDP active on this device?
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Entity
|
# SNMP::Info::Entity
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::Entity;
|
package SNMP::Info::Entity;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::Entity::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::Entity::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::Entity::EXPORT_OK = qw//;
|
@SNMP::Info::Entity::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'ENTITY-MIB' => 'entPhysicalSerialNum' );
|
%MIBS = ( 'ENTITY-MIB' => 'entPhysicalSerialNum' );
|
||||||
|
|
||||||
@@ -75,7 +75,7 @@ sub e_index {
|
|||||||
my $entity = shift;
|
my $entity = shift;
|
||||||
my $partial = shift;
|
my $partial = shift;
|
||||||
|
|
||||||
# Force use of MIB leaf to avoid inheritance issues in psuedo classes
|
# Force use of MIB leaf to avoid inheritance issues in pseudo classes
|
||||||
my $e_descr = $entity->entPhysicalDescr($partial);
|
my $e_descr = $entity->entPhysicalDescr($partial);
|
||||||
|
|
||||||
return unless ($e_descr);
|
return unless ($e_descr);
|
||||||
@@ -213,8 +213,6 @@ none.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
none.
|
none.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::EtherLike
|
# SNMP::Info::EtherLike
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::EtherLike;
|
package SNMP::Info::EtherLike;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::EtherLike::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::EtherLike::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::EtherLike::EXPORT_OK = qw//;
|
@SNMP::Info::EtherLike::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'EtherLike-MIB' => 'etherMIB' );
|
%MIBS = ( 'EtherLike-MIB' => 'etherMIB' );
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ $VERSION = '3.66';
|
|||||||
'el_xmit_defer' => 'dot3StatsDeferredTransmissions',
|
'el_xmit_defer' => 'dot3StatsDeferredTransmissions',
|
||||||
|
|
||||||
# Ethernet-like Collision Statistics Group
|
# Ethernet-like Collision Statistics Group
|
||||||
'el_coll_freq' => 'dot3CollFrequencies'
|
'el_coll_freq' => 'dot3CollFrequencies',
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = ( %SNMP::Info::MUNGE, 'el_duplex' => \&munge_el_duplex, );
|
%MUNGE = ( %SNMP::Info::MUNGE, 'el_duplex' => \&munge_el_duplex, );
|
||||||
@@ -103,7 +103,7 @@ Max Baker
|
|||||||
Version => 2
|
Version => 2
|
||||||
);
|
);
|
||||||
|
|
||||||
my $class = $cdp->class();
|
my $class = $el->class();
|
||||||
print " Using device sub class : $class\n";
|
print " Using device sub class : $class\n";
|
||||||
|
|
||||||
# Find the duplex setting for a port on a device that implements
|
# Find the duplex setting for a port on a device that implements
|
||||||
@@ -143,8 +143,6 @@ None.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs can be found at ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::FDP
|
# SNMP::Info::FDP
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Bruce Rodger, Max Baker
|
# Copyright (c) 2008 Bruce Rodger, Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -34,15 +33,16 @@
|
|||||||
package SNMP::Info::FDP;
|
package SNMP::Info::FDP;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::FDP::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::FDP::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::FDP::EXPORT_OK = qw//;
|
@SNMP::Info::FDP::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' );
|
%MIBS = ( 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' );
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
'fdp_capabilities' => \&SNMP::Info::munge_bits,
|
'fdp_capabilities' => \&SNMP::Info::munge_bits,
|
||||||
'fdp_ip' => \&SNMP::Info::munge_ip
|
'fdp_ip' => \&SNMP::Info::munge_ip,
|
||||||
);
|
);
|
||||||
|
|
||||||
sub fdp_run {
|
sub fdp_run {
|
||||||
@@ -146,7 +146,7 @@ Bruce Rodger, Max Baker
|
|||||||
$hasfdp = $fdp->hasFDP() ? 'yes' : 'no';
|
$hasfdp = $fdp->hasFDP() ? 'yes' : 'no';
|
||||||
|
|
||||||
# Print out a map of device ports with FDP neighbors:
|
# Print out a map of device ports with FDP neighbors:
|
||||||
my $interfaces = $fdp->interfaces();
|
my $interfaces = $fdp->interfaces();
|
||||||
my $fdp_if = $fdp->fdp_if();
|
my $fdp_if = $fdp->fdp_if();
|
||||||
my $fdp_ip = $fdp->fdp_ip();
|
my $fdp_ip = $fdp->fdp_ip();
|
||||||
my $fdp_port = $fdp->fdp_port();
|
my $fdp_port = $fdp->fdp_port();
|
||||||
@@ -190,7 +190,7 @@ work with B2R07600C.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBAL METHODS
|
=head1 GLOBALS
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::IEEE802dot11
|
# SNMP::Info::IEEE802dot11
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::IEEE802dot11;
|
package SNMP::Info::IEEE802dot11;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::IEEE802dot11::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::IEEE802dot11::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::IEEE802dot11::EXPORT_OK = qw//;
|
@SNMP::Info::IEEE802dot11::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( 'IEEE802dot11-MIB' => 'dot11DesiredSSID', );
|
%MIBS = ( 'IEEE802dot11-MIB' => 'dot11DesiredSSID', );
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
package SNMP::Info::IEEE802dot3ad;
|
package SNMP::Info::IEEE802dot3ad;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Aggregate;
|
use SNMP::Info::Aggregate;
|
||||||
|
|
||||||
@@ -41,9 +42,9 @@ use SNMP::Info::Aggregate;
|
|||||||
agg_ports_lag
|
agg_ports_lag
|
||||||
/;
|
/;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Aggregate::MIBS,
|
%SNMP::Info::Aggregate::MIBS,
|
||||||
|
|||||||
@@ -30,13 +30,14 @@
|
|||||||
package SNMP::Info::IPv6;
|
package SNMP::Info::IPv6;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::IPv6::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::IPv6::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::IPv6::EXPORT_OK = qw//;
|
@SNMP::Info::IPv6::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE $METHOD/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, $METHOD);
|
||||||
|
|
||||||
use constant {
|
use constant {
|
||||||
IPMIB => 1,
|
IPMIB => 1,
|
||||||
@@ -44,7 +45,7 @@ use constant {
|
|||||||
IPV6MIB => 3,
|
IPV6MIB => 3,
|
||||||
};
|
};
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -479,7 +480,9 @@ none.
|
|||||||
=over
|
=over
|
||||||
|
|
||||||
=item F<IP-MIB>
|
=item F<IP-MIB>
|
||||||
|
|
||||||
=item F<IPV6-MIB>
|
=item F<IPV6-MIB>
|
||||||
|
|
||||||
=item F<CISCO-IETF-IP-MIB>
|
=item F<CISCO-IETF-IP-MIB>
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::LLDP
|
# SNMP::Info::LLDP
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 Eric Miller
|
# Copyright (c) 2018 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::LLDP;
|
package SNMP::Info::LLDP;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::LLDP::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::LLDP::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::LLDP::EXPORT_OK = qw//;
|
@SNMP::Info::LLDP::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
'LLDP-MIB' => 'lldpLocSysCapEnabled',
|
'LLDP-MIB' => 'lldpLocSysCapEnabled',
|
||||||
@@ -512,7 +512,7 @@ None.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBAL METHODS
|
=head1 GLOBALS
|
||||||
|
|
||||||
These are methods that return scalar values from SNMP
|
These are methods that return scalar values from SNMP
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer1 - SNMP Interface to Layer1 Devices
|
# SNMP::Info::Layer1 - SNMP Interface to Layer1 Devices
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::Layer1;
|
package SNMP::Info::Layer1;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
|
|
||||||
@SNMP::Info::Layer1::ISA = qw/SNMP::Info Exporter/;
|
@SNMP::Info::Layer1::ISA = qw/SNMP::Info Exporter/;
|
||||||
@SNMP::Info::Layer1::EXPORT_OK = qw//;
|
@SNMP::Info::Layer1::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( %SNMP::Info::MIBS, 'SNMP-REPEATER-MIB' => 'rptrPortGroupIndex' );
|
%MIBS = ( %SNMP::Info::MIBS, 'SNMP-REPEATER-MIB' => 'rptrPortGroupIndex' );
|
||||||
|
|
||||||
@@ -49,7 +49,7 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::GLOBALS,
|
%SNMP::Info::GLOBALS,
|
||||||
'ports_managed' => 'ifNumber',
|
'ports_managed' => 'ifNumber',
|
||||||
'rptr_slots' => 'rptrGroupCapacity',
|
'rptr_slots' => 'rptrGroupCapacity',
|
||||||
'slots' => 'rptrGroupCapacity'
|
'slots' => 'rptrGroupCapacity',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
@@ -86,7 +86,7 @@ sub ports {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# $l1->model() - Looks at sysObjectID which gives the oid of the system
|
# $l1->model() - Looks at sysObjectID which gives the oid of the system
|
||||||
# name, contained in a propriatry MIB.
|
# name, contained in a proprietary MIB.
|
||||||
sub model {
|
sub model {
|
||||||
my $l1 = shift;
|
my $l1 = shift;
|
||||||
my $id = $l1->id();
|
my $id = $l1->id();
|
||||||
@@ -178,7 +178,7 @@ Max Baker
|
|||||||
Debug => 1,
|
Debug => 1,
|
||||||
DestHost => 'myswitch',
|
DestHost => 'myswitch',
|
||||||
Community => 'public',
|
Community => 'public',
|
||||||
Version => 1
|
Version => 2
|
||||||
)
|
)
|
||||||
or die "Can't connect to DestHost.\n";
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
@@ -227,12 +227,9 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
MIBs required for L<SNMP::Info/"Required MIBs">
|
MIBs required for L<SNMP::Info/"REQUIREMENTS">
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its MIB requirements.
|
See L<SNMP::Info/"REQUIREMENTS"> for its MIB requirements.
|
||||||
|
|
||||||
F<SNMP-REPEATER-MIB> needs to be extracted from
|
|
||||||
ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
@@ -278,7 +275,7 @@ Number of 'groups' in the Repeater MIB
|
|||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info
|
=head2 Global Methods imported from SNMP::Info
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
@@ -341,6 +338,6 @@ Group (slot) Number for given port.
|
|||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
=head2 Table Methods imported from SNMP::Info
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer1::Allied
|
# SNMP::Info::Layer1::Allied
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::Layer1::Allied;
|
package SNMP::Info::Layer1::Allied;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer1;
|
use SNMP::Info::Layer1;
|
||||||
|
|
||||||
@SNMP::Info::Layer1::Allied::ISA = qw/SNMP::Info::Layer1 Exporter/;
|
@SNMP::Info::Layer1::Allied::ISA = qw/SNMP::Info::Layer1 Exporter/;
|
||||||
@SNMP::Info::Layer1::Allied::EXPORT_OK = qw//;
|
@SNMP::Info::Layer1::Allied::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# Set for No CDP
|
# Set for No CDP
|
||||||
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, 'root_ip' => 'actualIPAddr', );
|
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, 'root_ip' => 'actualIPAddr', );
|
||||||
@@ -52,9 +52,14 @@ $VERSION = '3.66';
|
|||||||
'ati_up' => 'linkTestLED',
|
'ati_up' => 'linkTestLED',
|
||||||
);
|
);
|
||||||
|
|
||||||
%MIBS = ( %SNMP::Info::Layer1::MIBS, 'ATI-MIB' => 'atiPortGroupIndex' );
|
%MIBS = (
|
||||||
|
%SNMP::Info::Layer1::MIBS,
|
||||||
|
'ATI-MIB' => 'atiPortGroupIndex',
|
||||||
|
);
|
||||||
|
|
||||||
%MUNGE = ( %SNMP::Info::Layer1::MUNGE, );
|
%MUNGE = (
|
||||||
|
%SNMP::Info::Layer1::MUNGE,
|
||||||
|
);
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'allied';
|
return 'allied';
|
||||||
@@ -68,7 +73,7 @@ sub os_ver {
|
|||||||
my $allied = shift;
|
my $allied = shift;
|
||||||
my $descr = $allied->description();
|
my $descr = $allied->description();
|
||||||
|
|
||||||
if ( $descr =~ m/version (\d+\.\d+)/ ) {
|
if ( defined ($descr) && $descr =~ m/version (\d+\.\d+)/ ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -79,7 +84,7 @@ sub model {
|
|||||||
|
|
||||||
my $desc = $allied->description();
|
my $desc = $allied->description();
|
||||||
|
|
||||||
if ( $desc =~ /(AT-\d{4}\S{1})/ ) {
|
if ( defined ($desc) && $desc =~ /(AT-\d{4}\S{1})/ ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer1::Asante
|
# SNMP::Info::Layer1::Asante
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::Layer1::Asante;
|
package SNMP::Info::Layer1::Asante;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer1;
|
use SNMP::Info::Layer1;
|
||||||
|
|
||||||
@SNMP::Info::Layer1::Asante::ISA = qw/SNMP::Info::Layer1 Exporter/;
|
@SNMP::Info::Layer1::Asante::ISA = qw/SNMP::Info::Layer1 Exporter/;
|
||||||
@SNMP::Info::Layer1::Asante::EXPORT_OK = qw//;
|
@SNMP::Info::Layer1::Asante::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# Set for No CDP
|
# Set for No CDP
|
||||||
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, );
|
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, );
|
||||||
@@ -81,7 +81,7 @@ sub os_ver {
|
|||||||
my $asante = shift;
|
my $asante = shift;
|
||||||
my $descr = $asante->description();
|
my $descr = $asante->description();
|
||||||
|
|
||||||
if ( $descr =~ /software v(\d+\.\d+)/ ) {
|
if ( defined ($descr) && $descr =~ /software v(\d+\.\d+)/ ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -188,7 +188,7 @@ Max Baker
|
|||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
Provides abstraction to the configuration information obtainable from a
|
Provides abstraction to the configuration information obtainable from an
|
||||||
Asante device through SNMP.
|
Asante device through SNMP.
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
@@ -227,7 +227,7 @@ Culls software version from description()
|
|||||||
|
|
||||||
=item $asante->vendor()
|
=item $asante->vendor()
|
||||||
|
|
||||||
Returns 'asante' :)
|
Returns 'asante'
|
||||||
|
|
||||||
=item $asante->model()
|
=item $asante->model()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer1::Bayhub
|
# SNMP::Info::Layer1::Bayhub
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller, Max Baker
|
# Copyright (c) 2008 Eric Miller, Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,18 +30,19 @@
|
|||||||
package SNMP::Info::Layer1::Bayhub;
|
package SNMP::Info::Layer1::Bayhub;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::SONMP;
|
use SNMP::Info::SONMP;
|
||||||
use SNMP::Info::NortelStack;
|
use SNMP::Info::NortelStack;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer1::Bayhub::ISA
|
@SNMP::Info::Layer1::Bayhub::ISA
|
||||||
= qw/SNMP::Info::SONMP SNMP::Info::NortelStack SNMP::Info::Layer2 Exporter/;
|
= qw/SNMP::Info::SONMP SNMP::Info::NortelStack SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer1::Bayhub::EXPORT_OK = qw//;
|
@SNMP::Info::Layer1::Bayhub::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -505,11 +505,6 @@ Provides abstraction to the configuration information obtainable from a
|
|||||||
Bay hub device through SNMP. Also provides device MAC to port mapping through
|
Bay hub device through SNMP. Also provides device MAC to port mapping through
|
||||||
the proprietary MIB.
|
the proprietary MIB.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $bayhub = new SNMP::Info::Layer1::Bayhub(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer1::Cyclades
|
# SNMP::Info::Layer1::Cyclades
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 Eric Miller
|
# Copyright (c) 2018 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer1::Cyclades;
|
package SNMP::Info::Layer1::Cyclades;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer1;
|
use SNMP::Info::Layer1;
|
||||||
|
|
||||||
@SNMP::Info::Layer1::Cyclades::ISA = qw/SNMP::Info::Layer1 Exporter/;
|
@SNMP::Info::Layer1::Cyclades::ISA = qw/SNMP::Info::Layer1 Exporter/;
|
||||||
@SNMP::Info::Layer1::Cyclades::EXPORT_OK = qw//;
|
@SNMP::Info::Layer1::Cyclades::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer1::MIBS,
|
%SNMP::Info::Layer1::MIBS,
|
||||||
@@ -498,11 +498,6 @@ Eric Miller
|
|||||||
Provides abstraction to the configuration information obtainable from a
|
Provides abstraction to the configuration information obtainable from a
|
||||||
Cyclades/Avocent device through SNMP.
|
Cyclades/Avocent device through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $cyclades = new SNMP::Info::Layer1::Cyclades(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -515,6 +510,10 @@ my $cyclades = new SNMP::Info::Layer1::Cyclades(...);
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item F<ACS-MIB>
|
||||||
|
|
||||||
|
=item F<ACS6000-MIB>
|
||||||
|
|
||||||
=item F<CYCLADES-ACS-SYS-MIB>
|
=item F<CYCLADES-ACS-SYS-MIB>
|
||||||
|
|
||||||
=item F<CYCLADES-ACS-CONF-MIB>
|
=item F<CYCLADES-ACS-CONF-MIB>
|
||||||
@@ -527,8 +526,6 @@ my $cyclades = new SNMP::Info::Layer1::Cyclades(...);
|
|||||||
|
|
||||||
=item F<CYCLADES-ACS5K-INFO-MIB>
|
=item F<CYCLADES-ACS5K-INFO-MIB>
|
||||||
|
|
||||||
=item F<ACS6000-MIB>
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Inherited MIBs
|
=head2 Inherited MIBs
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer1::S3000
|
# SNMP::Info::Layer1::S3000
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer1::S3000;
|
package SNMP::Info::Layer1::S3000;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer1::S3000::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer1::S3000::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer1::S3000::EXPORT_OK = qw//;
|
@SNMP::Info::Layer1::S3000::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -386,11 +386,6 @@ Provides abstraction to the configuration information obtainable from a
|
|||||||
Bay hub device through SNMP. Also provides device MAC to port mapping through
|
Bay hub device through SNMP. Also provides device MAC to port mapping through
|
||||||
the proprietary MIB.
|
the proprietary MIB.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $s3000 = new SNMP::Info::Layer1::S3000(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2 - SNMP Interface to Layer2 Devices
|
# SNMP::Info::Layer2 - SNMP Interface to Layer2 Devices
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
|
# Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
|
||||||
#
|
#
|
||||||
@@ -33,30 +32,33 @@
|
|||||||
package SNMP::Info::Layer2;
|
package SNMP::Info::Layer2;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
use SNMP::Info::Bridge;
|
use SNMP::Info::Bridge;
|
||||||
use SNMP::Info::Entity;
|
use SNMP::Info::Entity;
|
||||||
use SNMP::Info::PowerEthernet;
|
use SNMP::Info::PowerEthernet;
|
||||||
use SNMP::Info::LLDP;
|
use SNMP::Info::LLDP;
|
||||||
|
use SNMP::Info::DocsisHE;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::ISA
|
@SNMP::Info::Layer2::ISA
|
||||||
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::Entity SNMP::Info::PowerEthernet SNMP::Info::LLDP Exporter/;
|
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::Entity SNMP::Info::PowerEthernet SNMP::Info::LLDP SNMP::Info::DocsisHE Exporter/;
|
||||||
@SNMP::Info::Layer2::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,
|
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,
|
||||||
%SNMP::Info::Entity::MIBS, %SNMP::Info::PowerEthernet::MIBS,
|
%SNMP::Info::Entity::MIBS, %SNMP::Info::PowerEthernet::MIBS,
|
||||||
%SNMP::Info::LLDP::MIBS,
|
%SNMP::Info::LLDP::MIBS, %SNMP::Info::DocsisHE::MIBS,
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::GLOBALS,
|
%SNMP::Info::GLOBALS,
|
||||||
%SNMP::Info::Bridge::GLOBALS,
|
%SNMP::Info::Bridge::GLOBALS,
|
||||||
|
%SNMP::Info::DocsisHE::GLOBALS,
|
||||||
%SNMP::Info::Entity::GLOBALS,
|
%SNMP::Info::Entity::GLOBALS,
|
||||||
%SNMP::Info::PowerEthernet::GLOBALS,
|
%SNMP::Info::PowerEthernet::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
%SNMP::Info::LLDP::GLOBALS,
|
||||||
@@ -67,7 +69,7 @@ $VERSION = '3.66';
|
|||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::FUNCS, %SNMP::Info::Bridge::FUNCS,
|
%SNMP::Info::FUNCS, %SNMP::Info::Bridge::FUNCS,
|
||||||
%SNMP::Info::Entity::FUNCS, %SNMP::Info::PowerEthernet::FUNCS,
|
%SNMP::Info::Entity::FUNCS, %SNMP::Info::PowerEthernet::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
%SNMP::Info::LLDP::FUNCS, %SNMP::Info::DocsisHE::FUNCS,
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
@@ -75,6 +77,7 @@ $VERSION = '3.66';
|
|||||||
# Inherit all the built in munging
|
# Inherit all the built in munging
|
||||||
%SNMP::Info::MUNGE,
|
%SNMP::Info::MUNGE,
|
||||||
%SNMP::Info::Bridge::MUNGE,
|
%SNMP::Info::Bridge::MUNGE,
|
||||||
|
%SNMP::Info::DocsisHE::MUNGE,
|
||||||
%SNMP::Info::Entity::MUNGE,
|
%SNMP::Info::Entity::MUNGE,
|
||||||
%SNMP::Info::PowerEthernet::MUNGE,
|
%SNMP::Info::PowerEthernet::MUNGE,
|
||||||
%SNMP::Info::LLDP::MUNGE,
|
%SNMP::Info::LLDP::MUNGE,
|
||||||
@@ -83,7 +86,7 @@ $VERSION = '3.66';
|
|||||||
# Method OverRides
|
# Method OverRides
|
||||||
|
|
||||||
# $l2->model() - Looks at sysObjectID which gives the oid of the system
|
# $l2->model() - Looks at sysObjectID which gives the oid of the system
|
||||||
# name, contained in a propriatry MIB.
|
# name, contained in a proprietary MIB.
|
||||||
sub model {
|
sub model {
|
||||||
my $l2 = shift;
|
my $l2 = shift;
|
||||||
my $id = $l2->id();
|
my $id = $l2->id();
|
||||||
@@ -142,15 +145,25 @@ sub interfaces {
|
|||||||
# Replace the Index with the ifDescr field.
|
# Replace the Index with the ifDescr field.
|
||||||
# Check for duplicates in ifDescr, if so uniquely identify by adding
|
# Check for duplicates in ifDescr, if so uniquely identify by adding
|
||||||
# ifIndex to repeated values
|
# ifIndex to repeated values
|
||||||
my %seen;
|
my (%seen, %first_seen_as);
|
||||||
foreach my $iid ( keys %$i_descr ) {
|
foreach my $iid ( sort keys %$i_descr ) {
|
||||||
my $port = $i_descr->{$iid};
|
my $port = $i_descr->{$iid};
|
||||||
next unless defined $port;
|
next unless defined $port;
|
||||||
|
|
||||||
|
$port = SNMP::Info::munge_null($port);
|
||||||
|
$port =~ s/^\s+//; $port =~ s/\s+$//;
|
||||||
|
next unless length $port;
|
||||||
|
|
||||||
if ( $seen{$port}++ ) {
|
if ( $seen{$port}++ ) {
|
||||||
|
# (#320) also fixup the port this is a duplicate of
|
||||||
|
$interfaces->{ $first_seen_as{$port} }
|
||||||
|
= sprintf( "%s (%d)", $port, $first_seen_as{$port} );
|
||||||
|
|
||||||
$interfaces->{$iid} = sprintf( "%s (%d)", $port, $iid );
|
$interfaces->{$iid} = sprintf( "%s (%d)", $port, $iid );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$interfaces->{$iid} = $port;
|
$interfaces->{$iid} = $port;
|
||||||
|
$first_seen_as{$port} = $iid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $interfaces;
|
return $interfaces;
|
||||||
@@ -215,10 +228,14 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=item SNMP::Info::Bridge
|
=item SNMP::Info::Bridge
|
||||||
|
|
||||||
|
=item SNMP::Info::DocsisHE
|
||||||
|
|
||||||
=item SNMP::Info::Entity
|
=item SNMP::Info::Entity
|
||||||
|
|
||||||
=item SNMP::Info::LLDP
|
=item SNMP::Info::LLDP
|
||||||
|
|
||||||
|
=item SNMP::Info::PowerEthernet
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Required MIBs
|
=head2 Required MIBs
|
||||||
@@ -262,7 +279,7 @@ Returns a serial number if found from F<ENTITY-MIB> and F<OLD-CISCO->... MIB.
|
|||||||
|
|
||||||
=head2 Globals imported from SNMP::Info
|
=head2 Globals imported from SNMP::Info
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Bridge
|
=head2 Globals imported from SNMP::Info::Bridge
|
||||||
|
|
||||||
@@ -296,7 +313,7 @@ Defaults to C<ifDescr> but checks and overrides with C<ifName>
|
|||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
=head2 Table Methods imported from SNMP::Info
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Bridge
|
=head2 Table Methods imported from SNMP::Info::Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -29,40 +29,35 @@
|
|||||||
package SNMP::Info::Layer2::3Com;
|
package SNMP::Info::Layer2::3Com;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
use SNMP::Info::CDP;
|
use SNMP::Info::CDP;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::3Com::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::3Com::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::3Com::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::3Com::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
'A3Com-products-MIB' => 'wlanAP7760',
|
'A3Com-products-MIB' => 'wlanAP7760',
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer2::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::Layer2::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::LLDP::MUNGE,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
sub os {
|
sub os {
|
||||||
return '3Com';
|
return '3Com';
|
||||||
}
|
}
|
||||||
@@ -94,17 +89,19 @@ sub os_ver {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return '3Com';
|
return '3com';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
|
|
||||||
my $dsmodel = shift;
|
my $dsmodel = shift;
|
||||||
my $descr = $dsmodel->description();
|
my $descr = $dsmodel->description();
|
||||||
if ( $descr =~ /^([\S ]+) Software.*/){
|
|
||||||
|
if (defined ($descr)) {
|
||||||
|
if ($descr =~ /^([\S ]+) Software.*/) {
|
||||||
return $1;
|
return $1;
|
||||||
} else {
|
} else {
|
||||||
return $descr;
|
return $descr;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -128,7 +125,7 @@ Max Kosmach
|
|||||||
Debug => 1,
|
Debug => 1,
|
||||||
DestHost => 'myrouter',
|
DestHost => 'myrouter',
|
||||||
Community => 'public',
|
Community => 'public',
|
||||||
Version => 1
|
Version => 2
|
||||||
)
|
)
|
||||||
or die "Can't connect to DestHost.\n";
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
@@ -169,7 +166,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $device->vendor()
|
=item $device->vendor()
|
||||||
|
|
||||||
Returns '3Com'
|
Returns '3com'
|
||||||
|
|
||||||
=item $device->os()
|
=item $device->os()
|
||||||
|
|
||||||
|
|||||||
@@ -29,17 +29,17 @@
|
|||||||
package SNMP::Info::Layer2::Adtran;
|
package SNMP::Info::Layer2::Adtran;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Adtran::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::Adtran::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Adtran::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Adtran::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# This will be filled in with the device's index into the EntPhysicalEntry
|
# This will be filled in with the device's index into the EntPhysicalEntry
|
||||||
# table by the serial() function.
|
# table by the serial() function.
|
||||||
@@ -58,14 +58,12 @@ our $index = undef;
|
|||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::Layer3::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
'serial' => 'adProdSerialNumber',
|
'serial' => 'adProdSerialNumber',
|
||||||
'ad_mgmtevcvid' => 'adGenEVCSysMgmtEVCSTagVID',
|
'ad_mgmtevcvid' => 'adGenEVCSysMgmtEVCSTagVID',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = ( %SNMP::Info::Layer2::FUNCS,
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::Layer3::FUNCS,
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
'ad_evcstag' => 'adGenEVCLookupName',
|
'ad_evcstag' => 'adGenEVCLookupName',
|
||||||
'ad_menport' => 'adGenMenPortRowStatus',
|
'ad_menport' => 'adGenMenPortRowStatus',
|
||||||
'ad_evcnamevid' => 'adGenEVCSTagVID',
|
'ad_evcnamevid' => 'adGenEVCSTagVID',
|
||||||
@@ -75,7 +73,7 @@ our $index = undef;
|
|||||||
'ad_genportcustuse' => 'adGenPortCustomerUse',
|
'ad_genportcustuse' => 'adGenPortCustomerUse',
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::LLDP::MUNGE, %SNMP::Info::Layer3::MUNGE );
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer3::MUNGE );
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'adtran';
|
return 'adtran';
|
||||||
@@ -130,8 +128,8 @@ sub i_name {
|
|||||||
my $adname = $adtran->ad_genportcustuse() || undef;
|
my $adname = $adtran->ad_genportcustuse() || undef;
|
||||||
if (defined $adname) {
|
if (defined $adname) {
|
||||||
foreach my $port (keys %$adname) {
|
foreach my $port (keys %$adname) {
|
||||||
my @split = split(/\./,$port);
|
my @splitout = split(/\./,$port);
|
||||||
$i_name->{@split[1]} = $adname->{$port};
|
$i_name->{$splitout[1]} = $adname->{$port};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $i_name;
|
return $i_name;
|
||||||
@@ -170,9 +168,9 @@ sub i_vlan_membership {
|
|||||||
}
|
}
|
||||||
my $if_vlans = {};
|
my $if_vlans = {};
|
||||||
foreach my $entry (keys %$i_vlan) {
|
foreach my $entry (keys %$i_vlan) {
|
||||||
my @split = split(/(\.0)+\./,$entry);
|
my @splitout = split(/(\.0)+\./,$entry);
|
||||||
my $name = pack("C*", split(/\./,@split[0]));
|
my $name = pack("C*", split(/\./,$splitout[0]));
|
||||||
push @{$if_vlans->{@split[2]}}, $vlans->{$name};
|
push @{$if_vlans->{$splitout[2]}}, $vlans->{$name};
|
||||||
}
|
}
|
||||||
my $mgmtevcports = $adtran->ad_mgmtevcports();
|
my $mgmtevcports = $adtran->ad_mgmtevcports();
|
||||||
my $mgmtevcid = $adtran->ad_mgmtevcvid();
|
my $mgmtevcid = $adtran->ad_mgmtevcvid();
|
||||||
@@ -223,17 +221,17 @@ Subclass for adtran Devices running JUNOS
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item SNMP::Info::Layer3
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
=item SNMP::Info::LLDP
|
=item SNMP::Info::Layer3
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Inherited Classes' MIBs
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
@@ -273,10 +271,6 @@ Returns serial number.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
These are methods that return tables of information in the form of a reference
|
These are methods that return tables of information in the form of a reference
|
||||||
@@ -303,12 +297,12 @@ IDs. These are the VLANs which are members of the egress list for the port.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
|
=head2 Table Methods imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Layer3
|
=head2 Table Methods imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -30,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer2::Aerohive;
|
package SNMP::Info::Layer2::Aerohive;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Aerohive::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::Aerohive::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Aerohive::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Aerohive::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -83,6 +84,7 @@ $VERSION = '3.66';
|
|||||||
%MUNGE
|
%MUNGE
|
||||||
= ( %SNMP::Info::Layer2::MUNGE, 'at_paddr' => \&SNMP::Info::munge_mac, );
|
= ( %SNMP::Info::Layer2::MUNGE, 'at_paddr' => \&SNMP::Info::munge_mac, );
|
||||||
|
|
||||||
|
# hiveos does not have sysServices
|
||||||
sub layers {
|
sub layers {
|
||||||
return '00000111';
|
return '00000111';
|
||||||
}
|
}
|
||||||
@@ -106,13 +108,12 @@ sub os_ver {
|
|||||||
my $aerohive = shift;
|
my $aerohive = shift;
|
||||||
my $descr = $aerohive->description();
|
my $descr = $aerohive->description();
|
||||||
|
|
||||||
if ( $descr =~ m/\bHiveOS\s(\d\.\w+)\b/ix ) {
|
if ( defined ($descr) && $descr =~ m/\bHiveOS\s(\d\.\w+)\b/ix ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub mac {
|
sub mac {
|
||||||
my $aerohive = shift;
|
my $aerohive = shift;
|
||||||
my $ahmac = $aerohive->ah_mac();
|
my $ahmac = $aerohive->ah_mac();
|
||||||
@@ -136,12 +137,11 @@ sub mac {
|
|||||||
return $macs[0];
|
return $macs[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
my $aerohive = shift;
|
my $aerohive = shift;
|
||||||
my $descr = $aerohive->description();
|
my $descr = $aerohive->description();
|
||||||
|
|
||||||
if ( $descr =~ m/\b(?:Hive|)(AP\d+)\b/ix ) {
|
if ( defined ($descr) && $descr =~ m/\b(?:Hive|)(AP\d+)\b/ix ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -221,7 +221,10 @@ sub bp_index {
|
|||||||
my $aerohive = shift;
|
my $aerohive = shift;
|
||||||
my $partial = shift;
|
my $partial = shift;
|
||||||
|
|
||||||
my $i_index = $aerohive->i_index($partial) || {};
|
# somewhere caching is doing something strange, without load_
|
||||||
|
# netdisco can't find bp_index mappings & will not registerer
|
||||||
|
# any clients. netdisco/netdisco#496
|
||||||
|
my $i_index = $aerohive->load_i_index($partial) || {};
|
||||||
|
|
||||||
my %bp_index;
|
my %bp_index;
|
||||||
foreach my $iid ( keys %$i_index ) {
|
foreach my $iid ( keys %$i_index ) {
|
||||||
@@ -341,11 +344,6 @@ Eric Miller
|
|||||||
Provides abstraction to the configuration information obtainable from an
|
Provides abstraction to the configuration information obtainable from an
|
||||||
Aerohive wireless Access Point through SNMP.
|
Aerohive wireless Access Point through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $aerohive = new SNMP::Info::Layer2::Aerohive(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -29,8 +29,8 @@
|
|||||||
package SNMP::Info::Layer2::Airespace;
|
package SNMP::Info::Layer2::Airespace;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Bridge;
|
|
||||||
use SNMP::Info::CDP;
|
use SNMP::Info::CDP;
|
||||||
use SNMP::Info::Airespace;
|
use SNMP::Info::Airespace;
|
||||||
|
|
||||||
@@ -38,9 +38,9 @@ use SNMP::Info::Airespace;
|
|||||||
= qw/SNMP::Info::Airespace SNMP::Info::CDP SNMP::Info::Bridge Exporter/;
|
= qw/SNMP::Info::Airespace SNMP::Info::CDP SNMP::Info::Bridge Exporter/;
|
||||||
@SNMP::Info::Layer2::Airespace::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Airespace::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,
|
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,
|
||||||
@@ -272,11 +272,6 @@ Eric Miller
|
|||||||
Provides abstraction to the configuration information obtainable from
|
Provides abstraction to the configuration information obtainable from
|
||||||
Cisco (Airespace) Wireless Controllers through SNMP.
|
Cisco (Airespace) Wireless Controllers through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $airespace = new SNMP::Info::Layer2::Airespace(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Aironet
|
# SNMP::Info::Layer2::Aironet
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,9 +32,9 @@
|
|||||||
package SNMP::Info::Layer2::Aironet;
|
package SNMP::Info::Layer2::Aironet;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::Entity;
|
|
||||||
use SNMP::Info::EtherLike;
|
use SNMP::Info::EtherLike;
|
||||||
use SNMP::Info::CiscoStats;
|
use SNMP::Info::CiscoStats;
|
||||||
use SNMP::Info::CiscoConfig;
|
use SNMP::Info::CiscoConfig;
|
||||||
@@ -43,30 +42,28 @@ use SNMP::Info::CDP;
|
|||||||
use SNMP::Info::IEEE802dot11;
|
use SNMP::Info::IEEE802dot11;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Aironet::ISA
|
@SNMP::Info::Layer2::Aironet::ISA
|
||||||
= qw/SNMP::Info::Layer2 SNMP::Info::Entity SNMP::Info::EtherLike
|
= qw/SNMP::Info::Layer2 SNMP::Info::EtherLike
|
||||||
SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/;
|
SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/;
|
||||||
@SNMP::Info::Layer2::Aironet::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Aironet::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::IEEE802dot11::GLOBALS,
|
%SNMP::Info::IEEE802dot11::GLOBALS,
|
||||||
%SNMP::Info::Layer2::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::Entity::GLOBALS,
|
|
||||||
%SNMP::Info::EtherLike::GLOBALS,
|
%SNMP::Info::EtherLike::GLOBALS,
|
||||||
%SNMP::Info::CiscoStats::GLOBALS,
|
%SNMP::Info::CiscoStats::GLOBALS,
|
||||||
%SNMP::Info::CiscoConfig::GLOBALS,
|
%SNMP::Info::CiscoConfig::GLOBALS,
|
||||||
%SNMP::Info::CDP::GLOBALS,
|
%SNMP::Info::CDP::GLOBALS,
|
||||||
'serial' => 'entPhysicalSerialNum.1',
|
'serial' => 'entPhysicalSerialNum.1',
|
||||||
'ps1_type' => 'cpoePdCurrentPowerSource'
|
'ps1_type' => 'cpoePdCurrentPowerSource',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::IEEE802dot11::FUNCS,
|
%SNMP::Info::IEEE802dot11::FUNCS,
|
||||||
%SNMP::Info::Layer2::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::Entity::FUNCS,
|
|
||||||
%SNMP::Info::EtherLike::FUNCS,
|
%SNMP::Info::EtherLike::FUNCS,
|
||||||
%SNMP::Info::CiscoStats::FUNCS,
|
%SNMP::Info::CiscoStats::FUNCS,
|
||||||
%SNMP::Info::CiscoConfig::FUNCS,
|
%SNMP::Info::CiscoConfig::FUNCS,
|
||||||
@@ -88,7 +85,6 @@ $VERSION = '3.66';
|
|||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::IEEE802dot11::MIBS,
|
%SNMP::Info::IEEE802dot11::MIBS,
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::Entity::MIBS,
|
|
||||||
%SNMP::Info::EtherLike::MIBS,
|
%SNMP::Info::EtherLike::MIBS,
|
||||||
%SNMP::Info::CiscoStats::MIBS,
|
%SNMP::Info::CiscoStats::MIBS,
|
||||||
%SNMP::Info::CiscoConfig::MIBS,
|
%SNMP::Info::CiscoConfig::MIBS,
|
||||||
@@ -103,7 +99,6 @@ $VERSION = '3.66';
|
|||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::IEEE802dot11::MUNGE,
|
%SNMP::Info::IEEE802dot11::MUNGE,
|
||||||
%SNMP::Info::Layer2::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::Entity::MUNGE,
|
|
||||||
%SNMP::Info::EtherLike::MUNGE,
|
%SNMP::Info::EtherLike::MUNGE,
|
||||||
%SNMP::Info::CiscoStats::MUNGE,
|
%SNMP::Info::CiscoStats::MUNGE,
|
||||||
%SNMP::Info::CiscoConfig::MUNGE,
|
%SNMP::Info::CiscoConfig::MUNGE,
|
||||||
@@ -118,7 +113,6 @@ $VERSION = '3.66';
|
|||||||
= \&SNMP::Info::IEEE802dot11::dot11_cur_tx_pwr_mw;
|
= \&SNMP::Info::IEEE802dot11::dot11_cur_tx_pwr_mw;
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
|
|
||||||
# Sorry, but it's true.
|
# Sorry, but it's true.
|
||||||
return 'cisco';
|
return 'cisco';
|
||||||
}
|
}
|
||||||
@@ -138,8 +132,13 @@ sub description {
|
|||||||
my $descr = $aironet->SUPER::description();
|
my $descr = $aironet->SUPER::description();
|
||||||
my $e_descr = $aironet->e_descr();
|
my $e_descr = $aironet->e_descr();
|
||||||
|
|
||||||
$descr = "$e_descr->{1} $descr" if defined $e_descr->{1};
|
if (defined $e_descr->{1}) {
|
||||||
|
if (defined $descr) {
|
||||||
|
$descr = "$e_descr->{1} $descr"
|
||||||
|
} else {
|
||||||
|
$descr = "$e_descr->{1}"
|
||||||
|
}
|
||||||
|
}
|
||||||
return $descr;
|
return $descr;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -527,8 +526,6 @@ my $aironet = new SNMP::Info::Layer2::Aironet(...);
|
|||||||
|
|
||||||
=item SNMP::Info::Layer2
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
=item SNMP::Info::Entity
|
|
||||||
|
|
||||||
=item SNMP::Info::EtherLike
|
=item SNMP::Info::EtherLike
|
||||||
|
|
||||||
=item SNMP::Info::CiscoStats
|
=item SNMP::Info::CiscoStats
|
||||||
@@ -541,6 +538,16 @@ my $aironet = new SNMP::Info::Layer2::Aironet(...);
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item F<CISCO-DOT11-ASSOCIATION-MIB>
|
||||||
|
|
||||||
|
=item F<CISCO-DOT11-IF-MIB>
|
||||||
|
|
||||||
|
=item F<CISCO-DOT11-SSID-SECURITY-MIB>
|
||||||
|
|
||||||
|
=item F<CISCO-POE-PD-MIB>
|
||||||
|
|
||||||
|
=item F<CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB>
|
||||||
|
|
||||||
=item Inherited Classes
|
=item Inherited Classes
|
||||||
|
|
||||||
MIBs required by the inherited classes listed above.
|
MIBs required by the inherited classes listed above.
|
||||||
@@ -567,10 +574,6 @@ System description. Adds info from method e_descr() from SNMP::Info::Entity
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::EtherLike
|
=head2 Globals imported from SNMP::Info::EtherLike
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details.
|
||||||
@@ -668,10 +671,6 @@ C<cpoePdSupportedPowerMode>.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::EtherLike
|
=head2 Table Methods imported from SNMP::Info::EtherLike
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Allied
|
# SNMP::Info::Layer2::Allied
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker
|
# Copyright (c) 2008 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,6 +30,7 @@
|
|||||||
package SNMP::Info::Layer2::Allied;
|
package SNMP::Info::Layer2::Allied;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::Layer1;
|
use SNMP::Info::Layer1;
|
||||||
@@ -38,9 +38,9 @@ use SNMP::Info::Layer1;
|
|||||||
@SNMP::Info::Layer2::Allied::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::Allied::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Allied::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Allied::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
|
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ sub os_ver {
|
|||||||
my $allied = shift;
|
my $allied = shift;
|
||||||
my $descr = $allied->description();
|
my $descr = $allied->description();
|
||||||
|
|
||||||
if ( $descr =~ m/version (\d+\.\d+)/ ) {
|
if ( defined ($descr) && $descr =~ m/version (\d+\.\d+)/ ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -78,10 +78,9 @@ sub os_ver {
|
|||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
my $allied = shift;
|
my $allied = shift;
|
||||||
|
|
||||||
my $desc = $allied->description();
|
my $desc = $allied->description();
|
||||||
|
|
||||||
if ( $desc =~ /(AT-80\d{2}\S*)/ ) {
|
if ( defined ($desc) && $desc =~ /(AT-80\d{2}\S*)/ ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -191,7 +190,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $allied->vendor()
|
=item $allied->vendor()
|
||||||
|
|
||||||
Returns 'allied' :)
|
Returns 'allied'
|
||||||
|
|
||||||
=item $allied->os()
|
=item $allied->os()
|
||||||
|
|
||||||
|
|||||||
@@ -30,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer2::Atmedia;
|
package SNMP::Info::Layer2::Atmedia;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Atmedia::ISA = qw/SNMP::Info::Layer2/;
|
@SNMP::Info::Layer2::Atmedia::ISA = qw/SNMP::Info::Layer2/;
|
||||||
@SNMP::Info::Layer2::Atmedia::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Atmedia::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( %SNMP::Info::Layer2::MIBS );
|
%MIBS = ( %SNMP::Info::Layer2::MIBS );
|
||||||
|
|
||||||
@@ -68,10 +69,12 @@ sub model {
|
|||||||
my $atmedia = shift;
|
my $atmedia = shift;
|
||||||
|
|
||||||
my $atmedia_model = $atmedia->atm_model();
|
my $atmedia_model = $atmedia->atm_model();
|
||||||
$atmedia_model =~ s/\<|\>//g;
|
if (defined $atmedia_model) {
|
||||||
$atmedia_model =~ s/\//_/g;
|
$atmedia_model =~ s/\<|\>//g;
|
||||||
|
$atmedia_model =~ s/\//_/g;
|
||||||
return $atmedia_model;
|
return $atmedia_model;
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Baystack
|
# SNMP::Info::Layer2::Baystack
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,38 +30,38 @@
|
|||||||
package SNMP::Info::Layer2::Baystack;
|
package SNMP::Info::Layer2::Baystack;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::SONMP;
|
use SNMP::Info::SONMP;
|
||||||
use SNMP::Info::NortelStack;
|
use SNMP::Info::NortelStack;
|
||||||
use SNMP::Info::RapidCity;
|
use SNMP::Info::RapidCity;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Baystack::ISA
|
@SNMP::Info::Layer2::Baystack::ISA
|
||||||
= qw/SNMP::Info::SONMP SNMP::Info::NortelStack
|
= qw/SNMP::Info::SONMP SNMP::Info::NortelStack
|
||||||
SNMP::Info::RapidCity SNMP::Info::LLDP
|
SNMP::Info::RapidCity
|
||||||
SNMP::Info::Layer3 Exporter/;
|
SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer2::Baystack::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Baystack::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS, %SNMP::Info::LLDP::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
%SNMP::Info::RapidCity::MIBS, %SNMP::Info::NortelStack::MIBS,
|
%SNMP::Info::RapidCity::MIBS, %SNMP::Info::NortelStack::MIBS,
|
||||||
%SNMP::Info::SONMP::MIBS,
|
%SNMP::Info::SONMP::MIBS,
|
||||||
'BAY-STACK-PETH-EXT-MIB' => 'bspePethPsePortExtMeasuredPower',
|
'BAY-STACK-PETH-EXT-MIB' => 'bspePethPsePortExtMeasuredPower',
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer3::GLOBALS, %SNMP::Info::LLDP::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
%SNMP::Info::RapidCity::GLOBALS, %SNMP::Info::NortelStack::GLOBALS,
|
%SNMP::Info::RapidCity::GLOBALS, %SNMP::Info::NortelStack::GLOBALS,
|
||||||
%SNMP::Info::SONMP::GLOBALS,
|
%SNMP::Info::SONMP::GLOBALS,
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer3::FUNCS, %SNMP::Info::LLDP::FUNCS,
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
%SNMP::Info::RapidCity::FUNCS, %SNMP::Info::NortelStack::FUNCS,
|
%SNMP::Info::RapidCity::FUNCS, %SNMP::Info::NortelStack::FUNCS,
|
||||||
%SNMP::Info::SONMP::FUNCS,
|
%SNMP::Info::SONMP::FUNCS,
|
||||||
'peth_port_power' => 'bspePethPsePortExtMeasuredPower',
|
'peth_port_power' => 'bspePethPsePortExtMeasuredPower',
|
||||||
@@ -74,7 +73,7 @@ $SNMP::Info::SPEED_MAP{200_000_000} = '100 Mbps';
|
|||||||
$SNMP::Info::SPEED_MAP{2_000_000_000} = '1.0 Gbps';
|
$SNMP::Info::SPEED_MAP{2_000_000_000} = '1.0 Gbps';
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::LLDP::MUNGE,
|
%SNMP::Info::Layer3::MUNGE,
|
||||||
%SNMP::Info::RapidCity::MUNGE, %SNMP::Info::NortelStack::MUNGE,
|
%SNMP::Info::RapidCity::MUNGE, %SNMP::Info::NortelStack::MUNGE,
|
||||||
%SNMP::Info::SONMP::MUNGE,
|
%SNMP::Info::SONMP::MUNGE,
|
||||||
);
|
);
|
||||||
@@ -429,11 +428,6 @@ Provides abstraction to the configuration information obtainable from an
|
|||||||
Avaya Ethernet Switch (formerly Nortel/Bay Baystack) and VSP 7000 series
|
Avaya Ethernet Switch (formerly Nortel/Bay Baystack) and VSP 7000 series
|
||||||
through SNMP.
|
through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $baystack = new SNMP::Info::Layer2::Baystack(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -444,8 +438,6 @@ my $baystack = new SNMP::Info::Layer2::Baystack(...);
|
|||||||
|
|
||||||
=item SNMP::Info::RapidCity
|
=item SNMP::Info::RapidCity
|
||||||
|
|
||||||
=item SNMP::Info::LLDP
|
|
||||||
|
|
||||||
=item SNMP::Info::Layer3
|
=item SNMP::Info::Layer3
|
||||||
|
|
||||||
=back
|
=back
|
||||||
@@ -454,7 +446,7 @@ my $baystack = new SNMP::Info::Layer2::Baystack(...);
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item F<BAY-STACK-PETH-EXT-MIBB>
|
=item F<BAY-STACK-PETH-EXT-MIB>
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -466,8 +458,6 @@ See L<SNMP::Info::NortelStack/"Required MIBs"> for its MIB requirements.
|
|||||||
|
|
||||||
See L<SNMP::Info::RapidCity/"Required MIBs"> for its MIB requirements.
|
See L<SNMP::Info::RapidCity/"Required MIBs"> for its MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
|
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"Required MIBs"> for its MIB requirements.
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its MIB requirements.
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
@@ -537,10 +527,6 @@ See L<SNMP::Info::NortelStack/"GLOBALS"> for details.
|
|||||||
|
|
||||||
See L<SNMP::Info::RapidCity/"GLOBALS"> for details.
|
See L<SNMP::Info::RapidCity/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Layer3
|
=head2 Globals imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
See L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
||||||
@@ -700,10 +686,6 @@ See L<SNMP::Info::NortelStack/"TABLE METHODS"> for details.
|
|||||||
|
|
||||||
See L<SNMP::Info::RapidCity/"TABLE METHODS"> for details.
|
See L<SNMP::Info::RapidCity/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Layer3
|
=head2 Table Methods imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
See L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::C1900
|
# SNMP::Info::Layer2::C1900
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,6 +32,7 @@
|
|||||||
package SNMP::Info::Layer2::C1900;
|
package SNMP::Info::Layer2::C1900;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::CDP;
|
use SNMP::Info::CDP;
|
||||||
use SNMP::Info::CiscoStats;
|
use SNMP::Info::CiscoStats;
|
||||||
@@ -46,9 +46,9 @@ use SNMP::Info::Layer2;
|
|||||||
Exporter/;
|
Exporter/;
|
||||||
@SNMP::Info::Layer2::C1900::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::C1900::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
@@ -311,11 +311,6 @@ Catalyst 1900 device through SNMP. See SNMP::Info for full documentation
|
|||||||
|
|
||||||
Note that most of these devices only talk SNMP version 1, but not all.
|
Note that most of these devices only talk SNMP version 1, but not all.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $c1900 = new SNMP::Info::Layer2::C1900(...);
|
|
||||||
|
|
||||||
=head2 Inherited classes
|
=head2 Inherited classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -342,8 +337,6 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
F<ESSWITCH-MIB> is included in the Version 1 MIBs from Cisco.
|
F<ESSWITCH-MIB> is included in the Version 1 MIBs from Cisco.
|
||||||
|
|
||||||
They can be found at ftp://ftp.cisco.com/pub/mibs/v1/v1.tar.gz
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Inherited MIBs
|
=head2 Inherited MIBs
|
||||||
@@ -386,7 +379,7 @@ the version from there.
|
|||||||
|
|
||||||
=item $c1900->vendor()
|
=item $c1900->vendor()
|
||||||
|
|
||||||
Returns 'cisco' :)
|
Returns 'cisco'
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -420,10 +413,6 @@ See L<SNMP::Info::CiscoConfig/"GLOBALS"> for details.
|
|||||||
|
|
||||||
See L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details.
|
See L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::CiscoAgg
|
|
||||||
|
|
||||||
See L<SNMP::Info::CiscoAgg/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Layer2
|
=head2 Globals imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
See L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
See L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::C2900
|
# SNMP::Info::Layer2::C2900
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::Layer2::C2900;
|
package SNMP::Info::Layer2::C2900;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2::Cisco;
|
use SNMP::Info::Layer2::Cisco;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::C2900::ISA = qw/SNMP::Info::Layer2::Cisco Exporter/;
|
@SNMP::Info::Layer2::C2900::ISA = qw/SNMP::Info::Layer2::Cisco Exporter/;
|
||||||
@SNMP::Info::Layer2::C2900::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::C2900::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::Cisco::GLOBALS,
|
%SNMP::Info::Layer2::Cisco::GLOBALS,
|
||||||
@@ -244,11 +244,6 @@ Max Baker
|
|||||||
Provides abstraction to the configuration information obtainable from a
|
Provides abstraction to the configuration information obtainable from a
|
||||||
C2900 device through SNMP.
|
C2900 device through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $c2900 = new SNMP::Info::Layer2::C2900(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -281,7 +276,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $c2900->vendor()
|
=item $c2900->vendor()
|
||||||
|
|
||||||
Returns 'cisco' :)
|
Returns 'cisco'
|
||||||
|
|
||||||
=item $c2900->cisco_comm_indexing()
|
=item $c2900->cisco_comm_indexing()
|
||||||
|
|
||||||
|
|||||||
133
lib/SNMP/Info/Layer2/Carelink.pm
Executable file
133
lib/SNMP/Info/Layer2/Carelink.pm
Executable file
@@ -0,0 +1,133 @@
|
|||||||
|
# SNMP::Info::Layer2::Carelink - SNMP Interface to Carelink Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer2::Carelink;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer2::Carelink::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::Layer2::Carelink::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
# This will be filled in with the device's index into the EntPhysicalEntry
|
||||||
|
# table by the serial() function.
|
||||||
|
our $index = undef;
|
||||||
|
|
||||||
|
%MIBS = (
|
||||||
|
%SNMP::Info::Layer2::MIBS,
|
||||||
|
);
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
'serial_oid' => 'mib-2.47.1.1.1.1.11.1',
|
||||||
|
'os_ver_oid' => 'mib-2.47.1.1.1.1.9.1',
|
||||||
|
'hw_oid' => 'mib-2.47.1.1.1.1.2.1',
|
||||||
|
'fw_mac_oid' => 'mib-2.47.1.1.1.1.11.1',
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'carelink';
|
||||||
|
}
|
||||||
|
sub os {
|
||||||
|
return 'caos';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $carelink = shift;
|
||||||
|
my $ver = $carelink->os_ver_oid() || undef;
|
||||||
|
return $ver if (defined $ver);
|
||||||
|
return 'Unknown';
|
||||||
|
}
|
||||||
|
sub model {
|
||||||
|
my $carelink = shift;
|
||||||
|
my $id = $carelink->id();
|
||||||
|
my $mod = $carelink->hw_oid() || undef;
|
||||||
|
return $mod if (defined $mod);
|
||||||
|
return 'Unknown';
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer2::Carelink - SNMP Interface to Carelink Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $carelink = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $carelink->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for carelink Devices running IOS-like software
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer3
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
|
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $carelink->vendor()
|
||||||
|
|
||||||
|
Returns 'adtran'
|
||||||
|
|
||||||
|
=item $carelink->os()
|
||||||
|
|
||||||
|
Returns 'caos'
|
||||||
|
|
||||||
|
=item $carelink->layers()
|
||||||
|
|
||||||
|
Ensures that layer two is reported, at least.
|
||||||
|
|
||||||
|
=item $carelink->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $carelink->model()
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=item $carelink->serial()
|
||||||
|
|
||||||
|
Returns serial number.
|
||||||
|
|
||||||
|
=cut
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Catalyst
|
# SNMP::Info::Layer2::Catalyst
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2002,2003 Regents of the University of California
|
# Copyright (c) 2002,2003 Regents of the University of California
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond
|
||||||
@@ -32,6 +31,7 @@
|
|||||||
package SNMP::Info::Layer2::Catalyst;
|
package SNMP::Info::Layer2::Catalyst;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::CiscoStack;
|
use SNMP::Info::CiscoStack;
|
||||||
use SNMP::Info::Layer2::Cisco;
|
use SNMP::Info::Layer2::Cisco;
|
||||||
@@ -40,9 +40,9 @@ use SNMP::Info::Layer2::Cisco;
|
|||||||
= qw/SNMP::Info::CiscoStack SNMP::Info::Layer2::Cisco Exporter/;
|
= qw/SNMP::Info::CiscoStack SNMP::Info::Layer2::Cisco Exporter/;
|
||||||
@SNMP::Info::Layer2::Catalyst::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Catalyst::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::Cisco::MIBS,
|
%SNMP::Info::Layer2::Cisco::MIBS,
|
||||||
@@ -64,7 +64,7 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::CiscoStack::MUNGE,
|
%SNMP::Info::CiscoStack::MUNGE,
|
||||||
);
|
);
|
||||||
|
|
||||||
# Overidden Methods
|
# Overridden Methods
|
||||||
|
|
||||||
# i_physical sets a hash entry as true if the iid is a physical port
|
# i_physical sets a hash entry as true if the iid is a physical port
|
||||||
sub i_physical {
|
sub i_physical {
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Centillion
|
# SNMP::Info::Layer2::Centillion
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,9 +30,9 @@
|
|||||||
package SNMP::Info::Layer2::Centillion;
|
package SNMP::Info::Layer2::Centillion;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
use SNMP::Info::Bridge;
|
|
||||||
use SNMP::Info::NortelStack;
|
use SNMP::Info::NortelStack;
|
||||||
use SNMP::Info::SONMP;
|
use SNMP::Info::SONMP;
|
||||||
|
|
||||||
@@ -41,9 +40,9 @@ use SNMP::Info::SONMP;
|
|||||||
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::NortelStack SNMP::Info::SONMP Exporter/;
|
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::NortelStack SNMP::Info::SONMP Exporter/;
|
||||||
@SNMP::Info::Layer2::Centillion::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Centillion::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS,
|
%SNMP::Info::MIBS,
|
||||||
@@ -292,11 +291,6 @@ Eric Miller
|
|||||||
Provides abstraction to the configuration information obtainable from a
|
Provides abstraction to the configuration information obtainable from a
|
||||||
Centillion device through SNMP.
|
Centillion device through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $centillion = new SNMP::Info::Layer2::centillion(...);
|
|
||||||
|
|
||||||
Note: This class supports version 4.X and 5.X which are VLAN based rather
|
Note: This class supports version 4.X and 5.X which are VLAN based rather
|
||||||
than bridge group based.
|
than bridge group based.
|
||||||
|
|
||||||
@@ -328,7 +322,7 @@ than bridge group based.
|
|||||||
|
|
||||||
=item Inherited Classes' MIBs
|
=item Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info/"REQUIREMENTS"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
@@ -346,7 +340,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $centillion->vendor()
|
=item $centillion->vendor()
|
||||||
|
|
||||||
Returns 'Nortel'
|
Returns 'nortel'
|
||||||
|
|
||||||
=item $centillion->model()
|
=item $centillion->model()
|
||||||
|
|
||||||
@@ -357,7 +351,7 @@ Removes C<sreg-> from the model name
|
|||||||
|
|
||||||
=item $centillion->os()
|
=item $centillion->os()
|
||||||
|
|
||||||
Returns 'Centillion'
|
Returns 'centillion'
|
||||||
|
|
||||||
=item $centillion->tftp_action()
|
=item $centillion->tftp_action()
|
||||||
|
|
||||||
@@ -399,7 +393,7 @@ start at 0. Returns 0.
|
|||||||
|
|
||||||
=head2 Globals imported from SNMP::Info
|
=head2 Globals imported from SNMP::Info
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Bridge
|
=head2 Globals imported from SNMP::Info::Bridge
|
||||||
|
|
||||||
@@ -513,7 +507,7 @@ Returns reference to hash. Key: Table entry, Value: VLAN Type
|
|||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
=head2 Table Methods imported from SNMP::Info
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Bridge
|
=head2 Table Methods imported from SNMP::Info::Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Cisco
|
# SNMP::Info::Layer2::Cisco
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker
|
# Copyright (c) 2008 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,6 +30,7 @@
|
|||||||
package SNMP::Info::Layer2::Cisco;
|
package SNMP::Info::Layer2::Cisco;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::CiscoVTP;
|
use SNMP::Info::CiscoVTP;
|
||||||
use SNMP::Info::CDP;
|
use SNMP::Info::CDP;
|
||||||
@@ -50,9 +50,9 @@ use SNMP::Info::Layer2;
|
|||||||
Exporter/;
|
Exporter/;
|
||||||
@SNMP::Info::Layer2::Cisco::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Cisco::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -194,7 +194,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $cisco->vendor()
|
=item $cisco->vendor()
|
||||||
|
|
||||||
Returns 'cisco'
|
Returns 'cisco'
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -226,10 +226,6 @@ See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::CiscoStpExtensions/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::CiscoAgg
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoAgg/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Layer2
|
=head2 Globals imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|||||||
@@ -34,61 +34,60 @@
|
|||||||
package SNMP::Info::Layer2::CiscoSB;
|
package SNMP::Info::Layer2::CiscoSB;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::Entity;
|
|
||||||
use SNMP::Info::EtherLike;
|
use SNMP::Info::EtherLike;
|
||||||
use SNMP::Info::CiscoStats;
|
use SNMP::Info::CiscoStats;
|
||||||
use SNMP::Info::CiscoConfig;
|
use SNMP::Info::CiscoConfig;
|
||||||
use SNMP::Info::CDP;
|
use SNMP::Info::CDP;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::CiscoSB::ISA
|
@SNMP::Info::Layer2::CiscoSB::ISA
|
||||||
= qw/SNMP::Info::Layer2 SNMP::Info::Entity SNMP::Info::EtherLike
|
= qw/SNMP::Info::Layer2 SNMP::Info::EtherLike
|
||||||
SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/;
|
SNMP::Info::CiscoStats SNMP::Info::CiscoConfig SNMP::Info::CDP Exporter/;
|
||||||
@SNMP::Info::Layer2::CiscoSB::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::CiscoSB::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::Entity::GLOBALS,
|
|
||||||
%SNMP::Info::EtherLike::GLOBALS,
|
%SNMP::Info::EtherLike::GLOBALS,
|
||||||
%SNMP::Info::CiscoStats::GLOBALS,
|
%SNMP::Info::CiscoStats::GLOBALS,
|
||||||
%SNMP::Info::CiscoConfig::GLOBALS,
|
%SNMP::Info::CiscoConfig::GLOBALS,
|
||||||
%SNMP::Info::CDP::GLOBALS,
|
%SNMP::Info::CDP::GLOBALS,
|
||||||
'descr' => 'sysDescr'
|
'descr' => 'sysDescr',
|
||||||
|
'mac' => 'rndBasePhysicalAddress',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer2::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::Entity::FUNCS,
|
|
||||||
%SNMP::Info::EtherLike::FUNCS,
|
%SNMP::Info::EtherLike::FUNCS,
|
||||||
%SNMP::Info::CiscoStats::FUNCS,
|
%SNMP::Info::CiscoStats::FUNCS,
|
||||||
%SNMP::Info::CiscoConfig::FUNCS,
|
%SNMP::Info::CiscoConfig::FUNCS,
|
||||||
%SNMP::Info::CDP::FUNCS,
|
%SNMP::Info::CDP::FUNCS,
|
||||||
|
'peth_port_power' => 'rlPethPsePortOutputPower',
|
||||||
);
|
);
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::Entity::MIBS,
|
|
||||||
%SNMP::Info::EtherLike::MIBS,
|
%SNMP::Info::EtherLike::MIBS,
|
||||||
%SNMP::Info::CiscoStats::MIBS,
|
%SNMP::Info::CiscoStats::MIBS,
|
||||||
%SNMP::Info::CiscoConfig::MIBS,
|
%SNMP::Info::CiscoConfig::MIBS,
|
||||||
%SNMP::Info::CDP::MIBS,
|
%SNMP::Info::CDP::MIBS,
|
||||||
|
'CISCOSB-POE-MIB' => 'rlPethPsePortOutputPower',
|
||||||
|
'CISCOSB-DEVICEPARAMS-MIB' => 'rndBasePhysicalAddress',
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::Layer2::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::Entity::MUNGE,
|
|
||||||
%SNMP::Info::EtherLike::MUNGE,
|
%SNMP::Info::EtherLike::MUNGE,
|
||||||
%SNMP::Info::CiscoStats::MUNGE,
|
%SNMP::Info::CiscoStats::MUNGE,
|
||||||
%SNMP::Info::CiscoConfig::MUNGE,
|
%SNMP::Info::CiscoConfig::MUNGE,
|
||||||
%SNMP::Info::CDP::MUNGE,
|
%SNMP::Info::CDP::MUNGE,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'cisco';
|
return 'cisco';
|
||||||
}
|
}
|
||||||
@@ -137,6 +136,26 @@ sub model {
|
|||||||
return $ciscosb->description();
|
return $ciscosb->description();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# CISCOSBinterfaces.mib also contains duplex info if needed
|
||||||
|
sub i_duplex {
|
||||||
|
my $ciscosb = shift;
|
||||||
|
my $partial = shift;
|
||||||
|
|
||||||
|
my $el_duplex = $ciscosb->el_duplex($partial);
|
||||||
|
|
||||||
|
if ( defined $el_duplex and scalar( keys %$el_duplex ) ) {
|
||||||
|
my %i_duplex;
|
||||||
|
foreach my $el_port ( keys %$el_duplex ) {
|
||||||
|
my $duplex = $el_duplex->{$el_port};
|
||||||
|
next unless defined $duplex;
|
||||||
|
|
||||||
|
$i_duplex{$el_port} = 'half' if $duplex =~ /half/i;
|
||||||
|
$i_duplex{$el_port} = 'full' if $duplex =~ /full/i;
|
||||||
|
}
|
||||||
|
return \%i_duplex;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# ifDescr is the same for all interfaces in a class, but the ifName is
|
# ifDescr is the same for all interfaces in a class, but the ifName is
|
||||||
# unique, so let's use that for port name.
|
# unique, so let's use that for port name.
|
||||||
sub interfaces {
|
sub interfaces {
|
||||||
@@ -189,8 +208,6 @@ managed switches. [i.e. those matching enterprises(1).cisco(9).otherEnterprises(
|
|||||||
|
|
||||||
=item SNMP::Info::CiscoStats
|
=item SNMP::Info::CiscoStats
|
||||||
|
|
||||||
=item SNMP::Info::Entity
|
|
||||||
|
|
||||||
=item SNMP::Info::EtherLike
|
=item SNMP::Info::EtherLike
|
||||||
|
|
||||||
=item SNMP::Info::Layer2
|
=item SNMP::Info::Layer2
|
||||||
@@ -201,6 +218,10 @@ managed switches. [i.e. those matching enterprises(1).cisco(9).otherEnterprises(
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item F<CISCOSB-DEVICEPARAMS-MIB>
|
||||||
|
|
||||||
|
=item F<CISCOSB-POE-MIB>
|
||||||
|
|
||||||
=item Inherited Classes
|
=item Inherited Classes
|
||||||
|
|
||||||
MIBs required by the inherited classes listed above.
|
MIBs required by the inherited classes listed above.
|
||||||
@@ -213,6 +234,10 @@ These are methods that return scalar value from SNMP.
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item $ciscosb->mac()
|
||||||
|
|
||||||
|
Returns mac from (C<rndBasePhysicalAddress>)
|
||||||
|
|
||||||
=item $ciscosb->os_ver()
|
=item $ciscosb->os_ver()
|
||||||
|
|
||||||
Returns software version (C<entPhysicalSoftwareRev>)
|
Returns software version (C<entPhysicalSoftwareRev>)
|
||||||
@@ -246,16 +271,25 @@ Returns 'ros'.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::EtherLike
|
=head2 Globals imported from SNMP::Info::EtherLike
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::EtherLike/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $ciscosb->peth_port_power()
|
||||||
|
|
||||||
|
Power supplied by PoE ports, in milliwatts.
|
||||||
|
(C<rlPethPsePortOutputPower>)
|
||||||
|
|
||||||
|
=item $ciscosb->i_duplex()
|
||||||
|
|
||||||
|
Return duplex based upon the result of EtherLike->el_duplex().
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
=head2 Overrides
|
=head2 Overrides
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -270,10 +304,6 @@ Uses the i_name() field.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::EtherLike
|
=head2 Table Methods imported from SNMP::Info::EtherLike
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::EtherLike/"TABLE METHODS"> for details.
|
||||||
|
|||||||
113
lib/SNMP/Info/Layer2/ECI.pm
Executable file
113
lib/SNMP/Info/Layer2/ECI.pm
Executable file
@@ -0,0 +1,113 @@
|
|||||||
|
# SNMP::Info::Layer2::ECI - SNMP Interface to ECI Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer2::ECI;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer2::ECI::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::Layer2::ECI::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'eci';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'eci-os';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
return 'unknown';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub model {
|
||||||
|
my $obj = shift;
|
||||||
|
|
||||||
|
return $obj->description;
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer2::ECI - SNMP Interface to ECI Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $obj = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $obj->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for ECI Devices running IOS-like software
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $obj->vendor()
|
||||||
|
|
||||||
|
Returns 'eci'
|
||||||
|
|
||||||
|
=item $obj->os()
|
||||||
|
|
||||||
|
Returns 'eci-os'
|
||||||
|
|
||||||
|
=item $obj->layers()
|
||||||
|
|
||||||
|
Ensures that layer two is reported, at least.
|
||||||
|
|
||||||
|
=item $obj->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $obj->model
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=item $obj->serial()
|
||||||
|
|
||||||
|
Returns serial number.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
=back
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
package SNMP::Info::Layer2::Exinda;
|
package SNMP::Info::Layer2::Exinda;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
@@ -40,9 +41,9 @@ use SNMP::Info::Layer2;
|
|||||||
/;
|
/;
|
||||||
@SNMP::Info::Layer2::Exinda::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Exinda::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -52,9 +53,10 @@ $VERSION = '3.66';
|
|||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
# EXINDA-MIB
|
# EXINDA-MIB
|
||||||
'uptime' => 'systemUptime',
|
'exinda_model' => 'hardwareSeries',
|
||||||
'os_ver' => 'systemVersion',
|
'serial1' => 'systemHostId',
|
||||||
'serial1' => 'systemHostId',
|
'uptime' => 'systemUptime',
|
||||||
|
'os_ver' => 'systemVersion',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
@@ -65,10 +67,11 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::Layer2::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
# layer 2: bridged shaping and failopen interfaces
|
||||||
|
# layer 3/4: ip and layer 4 protocol fiddling and accell
|
||||||
|
# layer 7: wccp support
|
||||||
sub layers {
|
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';
|
return '01001110';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,21 +79,19 @@ sub vendor {
|
|||||||
return 'exinda';
|
return 'exinda';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# overwrite l2->model, hardwareSeries returns a plain string
|
||||||
sub model {
|
sub model {
|
||||||
my $exinda = shift;
|
my $exinda = shift;
|
||||||
|
return $exinda->exinda_model;
|
||||||
return $exinda->hardwareSeries();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# systemHostId (and thus serial1) is actually also a mac address
|
||||||
sub mac {
|
sub mac {
|
||||||
# systemHostId is actually also a mac address
|
|
||||||
my $exinda = shift;
|
my $exinda = shift;
|
||||||
my $exinda_mac = $exinda->systemHostId();
|
my $exinda_mac = $exinda->serial1;
|
||||||
|
|
||||||
$exinda_mac =~ s/(..)/$1:/g;
|
return unless (defined $exinda_mac && (length $exinda_mac) == 12);
|
||||||
chop $exinda_mac;
|
return join(":", $exinda_mac =~ m/\w{2}/g);
|
||||||
|
|
||||||
return $exinda_mac;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub os {
|
sub os {
|
||||||
@@ -164,7 +165,7 @@ Returns a mac address extracted from C<systemHostId>.
|
|||||||
|
|
||||||
=item $exinda->model()
|
=item $exinda->model()
|
||||||
|
|
||||||
Returns the model extracted from C<hardwareSeries>.
|
Returns C<hardwareSeries>.
|
||||||
|
|
||||||
=item $exinda->os()
|
=item $exinda->os()
|
||||||
|
|
||||||
@@ -172,11 +173,7 @@ Returns 'exos'.
|
|||||||
|
|
||||||
=item $exinda->os_ver()
|
=item $exinda->os_ver()
|
||||||
|
|
||||||
Returns the os version extracted from C<systemVersion>.
|
Returns C<systemVersion>.
|
||||||
|
|
||||||
=item $exinda->serial1()
|
|
||||||
|
|
||||||
Returns the serial extracted from C<systemHostId>.
|
|
||||||
|
|
||||||
=item $exinda->uptime()
|
=item $exinda->uptime()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::HP - SNMP Interface to HP ProCurve Switches
|
# SNMP::Info::Layer2::HP - SNMP Interface to HP ProCurve Switches
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,6 +32,7 @@
|
|||||||
package SNMP::Info::Layer2::HP;
|
package SNMP::Info::Layer2::HP;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
use SNMP::Info::MAU;
|
use SNMP::Info::MAU;
|
||||||
@@ -48,9 +48,9 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
|
|||||||
/;
|
/;
|
||||||
@SNMP::Info::Layer2::HP::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::HP::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MODEL_MAP %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
package SNMP::Info::Layer2::HP4000;
|
package SNMP::Info::Layer2::HP4000;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
use SNMP::Info::MAU;
|
use SNMP::Info::MAU;
|
||||||
@@ -42,14 +43,13 @@ use SNMP::Info::CDP;
|
|||||||
SNMP::Info::CDP Exporter/;
|
SNMP::Info::CDP Exporter/;
|
||||||
@SNMP::Info::Layer2::HP4000::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::HP4000::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %PORTSTAT %MODEL_MAP %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
%SNMP::Info::MAU::MIBS,
|
%SNMP::Info::MAU::MIBS,
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
%SNMP::Info::CDP::MIBS,
|
%SNMP::Info::CDP::MIBS,
|
||||||
'RFC1271-MIB' => 'logDescription',
|
'RFC1271-MIB' => 'logDescription',
|
||||||
'HP-ICF-OID' => 'hpSwitch4000',
|
'HP-ICF-OID' => 'hpSwitch4000',
|
||||||
@@ -427,7 +427,7 @@ sub set_i_vlan {
|
|||||||
$hp->error_throw("Error removing previous untagged vlan from port, should never happen...\n") unless defined $rv;
|
$hp->error_throw("Error removing previous untagged vlan from port, should never happen...\n") unless defined $rv;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
# If vlan change was not succesful, try to revert to the old situation.
|
# If vlan change was not successful, try to revert to the old situation.
|
||||||
if (defined $old_untagged) {
|
if (defined $old_untagged) {
|
||||||
$rv = $hp->set_hp_v_if_tag(2, $old_untagged) if defined $old_untagged;
|
$rv = $hp->set_hp_v_if_tag(2, $old_untagged) if defined $old_untagged;
|
||||||
if (defined $rv) {
|
if (defined $rv) {
|
||||||
@@ -504,11 +504,6 @@ Note: Some HP Switches will connect via SNMP version 1, but a lot of config
|
|||||||
data will not be available. Make sure you try and connect with Version 2
|
data will not be available. Make sure you try and connect with Version 2
|
||||||
first, and then fail back to version 1.
|
first, and then fail back to version 1.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $hp = new SNMP::Info::Layer2::HP4000(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -31,21 +31,20 @@
|
|||||||
package SNMP::Info::Layer2::HPVC;
|
package SNMP::Info::Layer2::HPVC;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer2::HPVC::ISA
|
@SNMP::Info::Layer2::HPVC::ISA
|
||||||
= qw/SNMP::Info::Layer2 SNMP::Info::LLDP Exporter/;
|
= qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::HPVC::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::HPVC::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
'HPVC-MIB' => 'vcDomainName',
|
'HPVC-MIB' => 'vcDomainName',
|
||||||
'CPQSINFO-MIB' => 'cpqSiSysSerialNum',
|
'CPQSINFO-MIB' => 'cpqSiSysSerialNum',
|
||||||
'HPVCMODULE-MIB' => 'vcModuleDomainName',
|
'HPVCMODULE-MIB' => 'vcModuleDomainName',
|
||||||
@@ -53,7 +52,6 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
'serial1' => 'cpqSiSysSerialNum.0',
|
'serial1' => 'cpqSiSysSerialNum.0',
|
||||||
'os_ver' => 'cpqHoSWRunningVersion.1',
|
'os_ver' => 'cpqHoSWRunningVersion.1',
|
||||||
'os_bin' => 'cpqHoFwVerVersion.1',
|
'os_bin' => 'cpqHoFwVerVersion.1',
|
||||||
@@ -62,17 +60,13 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer2::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
# Inherit all the built in munging
|
# Inherit all the built in munging
|
||||||
%SNMP::Info::Layer2::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::LLDP::MUNGE,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Method Overrides
|
# Method Overrides
|
||||||
|
|
||||||
sub os {
|
sub os {
|
||||||
@@ -120,11 +114,6 @@ Jeroen van Ingen
|
|||||||
Provides abstraction to the configuration information obtainable from a
|
Provides abstraction to the configuration information obtainable from a
|
||||||
HP Virtual Connect Switch via SNMP.
|
HP Virtual Connect Switch via SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $hp = new SNMP::Info::Layer2::HPVC(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -28,15 +28,16 @@ package SNMP::Info::Layer2::Kentrox;
|
|||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Kentrox::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::Kentrox::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Kentrox::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Kentrox::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -57,13 +58,13 @@ $VERSION = '3.66';
|
|||||||
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
sub os {
|
sub os {
|
||||||
return 'Kentrox';
|
return 'kentrox';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $dsver = shift;
|
my $dsver = shift;
|
||||||
my $descr = $dsver->description();
|
my $descr = $dsver->description();
|
||||||
if ( $descr =~ /^\S+\s\S+\s\S+\s(\S+)/){
|
if ( defined ($descr) && $descr =~ /^\S+\s\S+\s\S+\s(\S+)/){
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -72,20 +73,20 @@ sub os_ver {
|
|||||||
sub serial {
|
sub serial {
|
||||||
my $dsserial = shift;
|
my $dsserial = shift;
|
||||||
my $serial = $dsserial->ds_sysinfo();
|
my $serial = $dsserial->ds_sysinfo();
|
||||||
if ( $serial =~ /SERIAL\s(\S+)/){
|
if ( defined ($serial) && $serial =~ /SERIAL\s(\S+)/){
|
||||||
my $str = substr($1,8,10);
|
my $str = substr($1,8,10);
|
||||||
return $str;
|
return $str;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'Kentrox';
|
return 'kentrox';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
my $dsmodel = shift;
|
my $dsmodel = shift;
|
||||||
my $descr = $dsmodel->description();
|
my $descr = $dsmodel->description();
|
||||||
if ( $descr =~ /^(\S+\s\S+)/){
|
if ( defined ($descr) && $descr =~ /^(\S+\s\S+)/){
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -110,7 +111,7 @@ phishphreek@gmail.com
|
|||||||
Debug => 1,
|
Debug => 1,
|
||||||
DestHost => 'myrouter',
|
DestHost => 'myrouter',
|
||||||
Community => 'public',
|
Community => 'public',
|
||||||
Version => 1
|
Version => 2
|
||||||
)
|
)
|
||||||
or die "Can't connect to DestHost.\n";
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::N2270
|
# SNMP::Info::Layer2::N2270
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,38 +30,42 @@
|
|||||||
package SNMP::Info::Layer2::N2270;
|
package SNMP::Info::Layer2::N2270;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::Bridge;
|
|
||||||
use SNMP::Info::SONMP;
|
use SNMP::Info::SONMP;
|
||||||
use SNMP::Info::Airespace;
|
use SNMP::Info::Airespace;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::N2270::ISA
|
@SNMP::Info::Layer2::N2270::ISA
|
||||||
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::SONMP SNMP::Info::Airespace Exporter/;
|
= qw/SNMP::Info::Layer2 SNMP::Info::SONMP SNMP::Info::Airespace Exporter/;
|
||||||
@SNMP::Info::Layer2::N2270::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::N2270::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE $AUTOLOAD $INIT $DEBUG/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::SONMP::MIBS, %SNMP::Info::Airespace::MIBS,
|
%SNMP::Info::SONMP::MIBS,
|
||||||
|
%SNMP::Info::Airespace::MIBS,
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::GLOBALS, %SNMP::Info::Bridge::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::SONMP::GLOBALS, %SNMP::Info::Airespace::GLOBALS,
|
%SNMP::Info::SONMP::GLOBALS,
|
||||||
|
%SNMP::Info::Airespace::GLOBALS,
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::FUNCS, %SNMP::Info::Bridge::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::SONMP::FUNCS, %SNMP::Info::Airespace::FUNCS,
|
%SNMP::Info::SONMP::FUNCS,
|
||||||
|
%SNMP::Info::Airespace::FUNCS,
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::MUNGE, %SNMP::Info::Bridge::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::SONMP::MUNGE, %SNMP::Info::Airespace::MUNGE,
|
%SNMP::Info::SONMP::MUNGE,
|
||||||
|
%SNMP::Info::Airespace::MUNGE,
|
||||||
);
|
);
|
||||||
|
|
||||||
sub os {
|
sub os {
|
||||||
@@ -126,18 +129,11 @@ Eric Miller
|
|||||||
Provides abstraction to the configuration information obtainable from a
|
Provides abstraction to the configuration information obtainable from a
|
||||||
Nortel 2270 Series Wireless Switch through SNMP.
|
Nortel 2270 Series Wireless Switch through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $n2270 = new SNMP::Info::Layer2::N2270(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item SNMP::Info
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
=item SNMP::Info::Bridge
|
|
||||||
|
|
||||||
=item SNMP::Info::SONMP
|
=item SNMP::Info::SONMP
|
||||||
|
|
||||||
@@ -151,9 +147,7 @@ my $n2270 = new SNMP::Info::Layer2::N2270(...);
|
|||||||
|
|
||||||
=item Inherited Classes' MIBs
|
=item Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
See L<SNMP::Info::SONMP/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::SONMP/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
@@ -200,13 +194,9 @@ start at 0. Returns 0.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info
|
=head2 Globals imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info::SONMP
|
=head2 Global Methods imported from SNMP::Info::SONMP
|
||||||
|
|
||||||
@@ -229,13 +219,9 @@ to a hash.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
=head2 Table Methods imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::SONMP
|
=head2 Table Methods imported from SNMP::Info::SONMP
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::NAP222x
|
# SNMP::Info::Layer2::NAP222x
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,6 +30,7 @@
|
|||||||
package SNMP::Info::Layer2::NAP222x;
|
package SNMP::Info::Layer2::NAP222x;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::SONMP;
|
use SNMP::Info::SONMP;
|
||||||
use SNMP::Info::IEEE802dot11;
|
use SNMP::Info::IEEE802dot11;
|
||||||
@@ -40,9 +40,9 @@ use SNMP::Info::Layer2;
|
|||||||
= qw/SNMP::Info::SONMP SNMP::Info::IEEE802dot11 SNMP::Info::Layer2 Exporter/;
|
= qw/SNMP::Info::SONMP SNMP::Info::IEEE802dot11 SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::NAP222x::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::NAP222x::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS, %SNMP::Info::IEEE802dot11::MIBS,
|
%SNMP::Info::Layer2::MIBS, %SNMP::Info::IEEE802dot11::MIBS,
|
||||||
@@ -393,11 +393,6 @@ Eric Miller
|
|||||||
Provides abstraction to the configuration information obtainable from a Nortel
|
Provides abstraction to the configuration information obtainable from a Nortel
|
||||||
2220 series wireless Access Points through SNMP.
|
2220 series wireless Access Points through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $nap222x = new SNMP::Info::Layer2::NAP222x(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
144
lib/SNMP/Info/Layer2/NSC.pm
Executable file
144
lib/SNMP/Info/Layer2/NSC.pm
Executable file
@@ -0,0 +1,144 @@
|
|||||||
|
# SNMP::Info::Layer2::NSC - SNMP Interface to NSC Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer2::NSC;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer2::NSC::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::Layer2::NSC::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
'model_oid' => 'enterprises.42926.2.3.1.3.0',
|
||||||
|
'serial_oid' => 'enterprises.42926.2.3.1.8.0',
|
||||||
|
'hw_oid' => 'enterprises.42926.2.3.1.1.0',
|
||||||
|
'os_ver_oid' => 'enterprises.42926.2.3.1.2.0',
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'nsc';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'nsc-os';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $obj = shift;
|
||||||
|
my $os_ver = $obj->os_ver_oid || undef;
|
||||||
|
|
||||||
|
return $os_ver
|
||||||
|
if defined $os_ver;
|
||||||
|
return 'unknown';
|
||||||
|
}
|
||||||
|
sub model {
|
||||||
|
my $obj = shift;
|
||||||
|
my $model = $obj->model_oid || undef;
|
||||||
|
my $hwver = $obj->hwver || undef;
|
||||||
|
|
||||||
|
return $model . ' HW:' . $hwver
|
||||||
|
if defined $model and defined $hwver;
|
||||||
|
return $model
|
||||||
|
if defined $model;
|
||||||
|
return $obj->SUPER::model();
|
||||||
|
}
|
||||||
|
|
||||||
|
sub hwver {
|
||||||
|
my $obj = shift;
|
||||||
|
my $hwver = $obj->hw_oid || undef;
|
||||||
|
|
||||||
|
return $hwver
|
||||||
|
if defined $hwver;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub serial {
|
||||||
|
my $obj = shift;
|
||||||
|
my $serial = $obj->serial_oid || undef;
|
||||||
|
|
||||||
|
return $serial
|
||||||
|
if defined $serial;
|
||||||
|
return $obj->SUPER::serial();
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer2::NSC - SNMP Interface to NSC Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $obj = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $obj->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for NSC Devices
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
|
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $obj->vendor()
|
||||||
|
|
||||||
|
Returns 'nsc-oem'
|
||||||
|
|
||||||
|
=item $obj->os()
|
||||||
|
|
||||||
|
Returns 'nsc-oem'
|
||||||
|
|
||||||
|
=item $obj->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $obj->model()
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=item $obj->serial()
|
||||||
|
|
||||||
|
Returns serial number.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
=back
|
||||||
@@ -29,21 +29,20 @@
|
|||||||
package SNMP::Info::Layer2::NWSS2300;
|
package SNMP::Info::Layer2::NWSS2300;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::Bridge;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer2::NWSS2300::ISA
|
@SNMP::Info::Layer2::NWSS2300::ISA
|
||||||
= qw/SNMP::Info SNMP::Info::Bridge Exporter/;
|
= qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::NWSS2300::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::NWSS2300::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::Bridge::MIBS,
|
|
||||||
'NTWS-REGISTRATION-DEVICES-MIB' => 'ntwsSwitch2380',
|
'NTWS-REGISTRATION-DEVICES-MIB' => 'ntwsSwitch2380',
|
||||||
'NTWS-AP-STATUS-MIB' => 'ntwsApStatNumAps',
|
'NTWS-AP-STATUS-MIB' => 'ntwsApStatNumAps',
|
||||||
'NTWS-CLIENT-SESSION-MIB' => 'ntwsClSessTotalSessions',
|
'NTWS-CLIENT-SESSION-MIB' => 'ntwsClSessTotalSessions',
|
||||||
@@ -53,16 +52,14 @@ $VERSION = '3.66';
|
|||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::Bridge::GLOBALS,
|
|
||||||
'os_ver' => 'ntwsVersionString',
|
'os_ver' => 'ntwsVersionString',
|
||||||
'serial' => 'ntwsSerialNumber',
|
'serial' => 'ntwsSerialNumber',
|
||||||
'mac' => 'dot1dBaseBridgeAddress',
|
'mac' => 'dot1dBaseBridgeAddress',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::Bridge::FUNCS,
|
|
||||||
|
|
||||||
# NTWS-AP-STATUS-MIB::ntwsApStatApStatusTable
|
# NTWS-AP-STATUS-MIB::ntwsApStatApStatusTable
|
||||||
'nwss2300_ap_mac' => 'ntwsApStatApStatusBaseMac',
|
'nwss2300_ap_mac' => 'ntwsApStatApStatusBaseMac',
|
||||||
@@ -125,8 +122,7 @@ $VERSION = '3.66';
|
|||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::Bridge::MUNGE,
|
|
||||||
'nwss2300_apif_mac' => \&SNMP::Info::munge_mac,
|
'nwss2300_apif_mac' => \&SNMP::Info::munge_mac,
|
||||||
'nwss2300_apif_bssid' => \&SNMP::Info::munge_mac,
|
'nwss2300_apif_bssid' => \&SNMP::Info::munge_mac,
|
||||||
);
|
);
|
||||||
@@ -813,18 +809,11 @@ This class emulates bridge functionality for the wireless switch. This enables
|
|||||||
end station MAC addresses collection and correlation to the thin access point
|
end station MAC addresses collection and correlation to the thin access point
|
||||||
the end station is using for communication.
|
the end station is using for communication.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $nwss2300 = new SNMP::Info::Layer2::NWSS2300(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item SNMP::Info
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
=item SNMP::Info::Bridge
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -846,9 +835,7 @@ my $nwss2300 = new SNMP::Info::Layer2::NWSS2300(...);
|
|||||||
|
|
||||||
=head2 Inherited Classes' MIBs
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
@@ -895,13 +882,9 @@ proprietary MIBs.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info
|
=head2 Global Methods imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
@@ -1141,13 +1124,9 @@ These emulate the F<CISCO-DOT11-MIB>
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
=head2 Table Methods imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Overrides
|
=head2 Overrides
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Netgear
|
# SNMP::Info::Layer2::Netgear
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Bill Fenner
|
# Copyright (c) 2008 Bill Fenner
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,33 +30,33 @@
|
|||||||
package SNMP::Info::Layer2::Netgear;
|
package SNMP::Info::Layer2::Netgear;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Netgear::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::Netgear::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Netgear::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Netgear::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# This will be filled in with the device's index into the EntPhysicalEntry
|
# This will be filled in with the device's index into the EntPhysicalEntry
|
||||||
# table by the serial() function.
|
# table by the serial() function.
|
||||||
our $index = undef;
|
our $index = undef;
|
||||||
|
|
||||||
%MIBS = ( %SNMP::Info::Layer2::MIBS, %SNMP::Info::LLDP::MIBS, );
|
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer2::GLOBALS, %SNMP::Info::LLDP::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
ng_fsosver => '.1.3.6.1.4.1.4526.11.11.1.0',
|
ng_fsosver => '.1.3.6.1.4.1.4526.11.11.1.0',
|
||||||
ng_gsmserial => '.1.3.6.1.4.1.4526.10.1.1.1.4.0',
|
ng_gsmserial => '.1.3.6.1.4.1.4526.10.1.1.1.4.0',
|
||||||
ng_gsmosver => '.1.3.6.1.4.1.4526.10.1.1.1.13.0',
|
ng_gsmosver => '.1.3.6.1.4.1.4526.10.1.1.1.13.0',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, %SNMP::Info::LLDP::FUNCS, );
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::LLDP::MUNGE, );
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'netgear';
|
return 'netgear';
|
||||||
@@ -87,7 +86,7 @@ sub serial {
|
|||||||
return $e_serial->{$index} if defined $index;
|
return $e_serial->{$index} if defined $index;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Without Enitity-MIB, we've got to work our way through a bunch of
|
# Without Entity-MIB, we've got to work our way through a bunch of
|
||||||
# different locales...
|
# different locales...
|
||||||
return $netgear->ng_gsmserial() if defined $netgear->model and $netgear->model =~ m/[FG]SM\d/i;;
|
return $netgear->ng_gsmserial() if defined $netgear->model and $netgear->model =~ m/[FG]SM\d/i;;
|
||||||
return 'none';
|
return 'none';
|
||||||
@@ -109,7 +108,7 @@ sub model {
|
|||||||
|
|
||||||
# ifDescr is the same for all interfaces in a class, but the ifName is
|
# ifDescr is the same for all interfaces in a class, but the ifName is
|
||||||
# unique, so let's use that for port name. If all else fails,
|
# unique, so let's use that for port name. If all else fails,
|
||||||
# concatentate ifDesc and ifIndex.
|
# concatenate ifDesc and ifIndex.
|
||||||
sub interfaces {
|
sub interfaces {
|
||||||
my $netgear = shift;
|
my $netgear = shift;
|
||||||
my $partial = shift;
|
my $partial = shift;
|
||||||
@@ -192,8 +191,6 @@ inherited methods.
|
|||||||
=over
|
=over
|
||||||
|
|
||||||
=item SNMP::Info::Layer2
|
=item SNMP::Info::Layer2
|
||||||
=item SNMP::Info::Entity
|
|
||||||
=item SNMP::Info::LLDP
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -206,10 +203,6 @@ inherited methods.
|
|||||||
MIBs listed in L<SNMP::Info::Layer2/"Required MIBs"> and its inherited
|
MIBs listed in L<SNMP::Info::Layer2/"Required MIBs"> and its inherited
|
||||||
classes.
|
classes.
|
||||||
|
|
||||||
See L<SNMP::Info::Entity/"Required MIBs"> for its MIB requirements.
|
|
||||||
|
|
||||||
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
@@ -248,14 +241,6 @@ serial number).
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
These are methods that return tables of information in the form of
|
These are methods that return tables of information in the form of
|
||||||
@@ -275,12 +260,4 @@ Uses the i_name() field.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -30,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer2::Nexans;
|
package SNMP::Info::Layer2::Nexans;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Nexans::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::Nexans::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Nexans::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Nexans::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
|
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -157,11 +158,6 @@ tested devices:
|
|||||||
gigaSwitch641DeskSfpTp version 3.68, 4.14W
|
gigaSwitch641DeskSfpTp version 3.68, 4.14W
|
||||||
gigaSwitchV3d2SfpSfp version 3.68, 4.02, 4.02B, 4.10C, 4,14W
|
gigaSwitchV3d2SfpSfp version 3.68, 4.02, 4.02B, 4.10C, 4,14W
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $nexans = new SNMP::Info::Layer2::Nexans(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::Orinoco
|
# SNMP::Info::Layer2::Orinoco
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,6 +30,7 @@
|
|||||||
package SNMP::Info::Layer2::Orinoco;
|
package SNMP::Info::Layer2::Orinoco;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::IEEE802dot11;
|
use SNMP::Info::IEEE802dot11;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
@@ -39,9 +39,9 @@ use SNMP::Info::Layer2;
|
|||||||
= qw/SNMP::Info::IEEE802dot11 SNMP::Info::Layer2 Exporter/;
|
= qw/SNMP::Info::IEEE802dot11 SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Orinoco::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Orinoco::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
@@ -189,11 +189,6 @@ Provides abstraction to the configuration information obtainable from
|
|||||||
Orinoco Access Point through SNMP. Orinoco devices have been manufactured
|
Orinoco Access Point through SNMP. Orinoco devices have been manufactured
|
||||||
by Proxim, Agere, and Lucent.
|
by Proxim, Agere, and Lucent.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $orinoco = new SNMP::Info::Layer2::Orinoco(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -234,7 +229,7 @@ Returns the model extracted from C<sysDescr>.
|
|||||||
|
|
||||||
=item $orinoco->os()
|
=item $orinoco->os()
|
||||||
|
|
||||||
Returns 'Orinoco'
|
Returns 'orinoco'
|
||||||
|
|
||||||
=item $orinoco->os_ver()
|
=item $orinoco->os_ver()
|
||||||
|
|
||||||
|
|||||||
116
lib/SNMP/Info/Layer2/Paradyne.pm
Executable file
116
lib/SNMP/Info/Layer2/Paradyne.pm
Executable file
@@ -0,0 +1,116 @@
|
|||||||
|
# SNMP::Info::Layer2::Paradyne - SNMP Interface to Paradyne Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer2::Paradyne;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer2::Paradyne::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::Layer2::Paradyne::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'paradyne';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'prdn-os';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $obj = shift;
|
||||||
|
$obj->description =~ /S\/W\sRelease\:\s+(.*)\;/;
|
||||||
|
return $1 if defined($1);
|
||||||
|
return 'unknown';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub model {
|
||||||
|
my $obj = shift;
|
||||||
|
$obj->description =~ /PARADYNE\s+(.*)\;.*\;/;
|
||||||
|
return $1 if defined($1);
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer2::Paradyne - SNMP Interface to Paradyne Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $obj = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $obj->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for Paradyne Devices running IOS-like software
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $obj->vendor()
|
||||||
|
|
||||||
|
Returns 'rapadyne'
|
||||||
|
|
||||||
|
=item $obj->os()
|
||||||
|
|
||||||
|
Returns 'prdn-os'
|
||||||
|
|
||||||
|
=item $obj->layers()
|
||||||
|
|
||||||
|
Ensures that layer two is reported, at least.
|
||||||
|
|
||||||
|
=item $obj->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $obj->model
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=item $obj->serial()
|
||||||
|
|
||||||
|
Returns serial number.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
=back
|
||||||
108
lib/SNMP/Info/Layer2/Proscend.pm
Executable file
108
lib/SNMP/Info/Layer2/Proscend.pm
Executable file
@@ -0,0 +1,108 @@
|
|||||||
|
# SNMP::Info::Layer2::Proscend - SNMP Interface to Proscend Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer2::Proscend;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer2::Proscend::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::Layer2::Proscend::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'proscend';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'proscend';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub model {
|
||||||
|
my $obj = shift;
|
||||||
|
return $obj->SUPER::model();
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer2::Proscend - SNMP Interface to Proscend Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $obj = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $obj->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for Proscend Devices
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
|
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $obj->vendor()
|
||||||
|
|
||||||
|
Returns 'proscend'
|
||||||
|
|
||||||
|
=item $obj->os()
|
||||||
|
|
||||||
|
Returns 'proscend'
|
||||||
|
|
||||||
|
=item $obj->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $obj->model()
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=item $obj->serial()
|
||||||
|
|
||||||
|
Returns serial number.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
=back
|
||||||
@@ -30,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer2::Sixnet;
|
package SNMP::Info::Layer2::Sixnet;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Sixnet::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::Sixnet::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Sixnet::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Sixnet::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
|
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (%SNMP::Info::Layer2::MIBS, 'SIXNET-MIB' => 'sxid',);
|
%MIBS = (%SNMP::Info::Layer2::MIBS, 'SIXNET-MIB' => 'sxid',);
|
||||||
|
|
||||||
@@ -108,11 +109,6 @@ Eric Miller
|
|||||||
SNMP::Info::Layer2::Sixnet is a subclass of SNMP::Info that provides an
|
SNMP::Info::Layer2::Sixnet is a subclass of SNMP::Info that provides an
|
||||||
interface to Sixnet industrial switches.
|
interface to Sixnet industrial switches.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $sixnet = new SNMP::Info::Layer2::Sixnet(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
124
lib/SNMP/Info/Layer2/Telindus.pm
Executable file
124
lib/SNMP/Info/Layer2/Telindus.pm
Executable file
@@ -0,0 +1,124 @@
|
|||||||
|
# SNMP::Info::Layer2::Telindus - SNMP Interface to Telindus Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer2::Telindus;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer2::Telindus::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::Layer2::Telindus::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
# This will be filled in with the device's index into the EntPhysicalEntry
|
||||||
|
# table by the serial() function.
|
||||||
|
# our $index = undef;
|
||||||
|
|
||||||
|
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'telindus';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'telind-os';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $obj = shift;
|
||||||
|
$obj->description =~ /\$Telindus\s(\d+)(\$\s(.*)|\s(.*)\$)\s(T\d+\/\d+)/;
|
||||||
|
return $5
|
||||||
|
if defined $5;
|
||||||
|
|
||||||
|
return $obj->SUPER::os_ver();
|
||||||
|
}
|
||||||
|
sub model {
|
||||||
|
my $obj = shift;
|
||||||
|
$obj->description =~ /\$Telindus\s(\d+)(\$\s(.*)|\s(.*)\$)\s(T\d+\/\d+)/;
|
||||||
|
if (defined $1 and defined $3) {
|
||||||
|
return $1 . ' ' . $3;
|
||||||
|
}
|
||||||
|
elsif (defined $1 and defined $4) {
|
||||||
|
return $1 . ' ' . $4;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $obj->SUPER::model();
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer2::Telindus - SNMP Interface to Telindus Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $obj = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $obj->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for Telindus Devices
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $obj->vendor()
|
||||||
|
|
||||||
|
Returns 'zyxel'
|
||||||
|
|
||||||
|
=item $obj->os()
|
||||||
|
|
||||||
|
Returns 'zynos'
|
||||||
|
|
||||||
|
=item $obj->layers()
|
||||||
|
|
||||||
|
Ensures that layer two is reported, at least.
|
||||||
|
|
||||||
|
=item $obj->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $obj->model
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
=back
|
||||||
@@ -29,23 +29,20 @@
|
|||||||
package SNMP::Info::Layer2::Trapeze;
|
package SNMP::Info::Layer2::Trapeze;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info::Layer2;
|
||||||
use SNMP::Info::Bridge;
|
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer2::Trapeze::ISA
|
@SNMP::Info::Layer2::Trapeze::ISA
|
||||||
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::LLDP Exporter/;
|
= qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Trapeze::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Trapeze::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::Bridge::MIBS,
|
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
'TRAPEZE-NETWORKS-REGISTRATION-DEVICES-MIB' => 'wirelessLANController',
|
'TRAPEZE-NETWORKS-REGISTRATION-DEVICES-MIB' => 'wirelessLANController',
|
||||||
'TRAPEZE-NETWORKS-AP-STATUS-MIB' => 'trpzApStatNumAps',
|
'TRAPEZE-NETWORKS-AP-STATUS-MIB' => 'trpzApStatNumAps',
|
||||||
'TRAPEZE-NETWORKS-CLIENT-SESSION-MIB' => 'trpzClSessTotalSessions',
|
'TRAPEZE-NETWORKS-CLIENT-SESSION-MIB' => 'trpzClSessTotalSessions',
|
||||||
@@ -55,18 +52,14 @@ $VERSION = '3.66';
|
|||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::GLOBALS,
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
%SNMP::Info::Bridge::GLOBALS,
|
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
'os_ver' => 'trpzVersionString',
|
'os_ver' => 'trpzVersionString',
|
||||||
'serial' => 'trpzSerialNumber',
|
'serial' => 'trpzSerialNumber',
|
||||||
'mac' => 'dot1dBaseBridgeAddress',
|
'mac' => 'dot1dBaseBridgeAddress',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::Bridge::FUNCS,
|
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
# TRAPEZE-NETWORKS-AP-STATUS-MIB::trpzApStatApStatusTable
|
# TRAPEZE-NETWORKS-AP-STATUS-MIB::trpzApStatApStatusTable
|
||||||
'trapeze_ap_mac' => 'trpzApStatApStatusBaseMac',
|
'trapeze_ap_mac' => 'trpzApStatApStatusBaseMac',
|
||||||
'trapeze_ap_name' => 'trpzApStatApStatusApName',
|
'trapeze_ap_name' => 'trpzApStatApStatusApName',
|
||||||
@@ -128,9 +121,7 @@ $VERSION = '3.66';
|
|||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::MUNGE,
|
%SNMP::Info::Layer2::MUNGE,
|
||||||
%SNMP::Info::Bridge::MUNGE,
|
|
||||||
%SNMP::Info::LLDP::MUNGE,
|
|
||||||
'trapeze_apif_mac' => \&SNMP::Info::munge_mac,
|
'trapeze_apif_mac' => \&SNMP::Info::munge_mac,
|
||||||
'trapeze_apif_bssid' => \&SNMP::Info::munge_mac,
|
'trapeze_apif_bssid' => \&SNMP::Info::munge_mac,
|
||||||
);
|
);
|
||||||
@@ -817,18 +808,11 @@ This class emulates bridge functionality for the wireless switch. This enables
|
|||||||
end station MAC addresses collection and correlation to the thin access point
|
end station MAC addresses collection and correlation to the thin access point
|
||||||
the end station is using for communication.
|
the end station is using for communication.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $trapeze = new SNMP::Info::Layer2::Trapeze(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item SNMP::Info
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
=item SNMP::Info::Bridge
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -850,9 +834,7 @@ my $trapeze = new SNMP::Info::Layer2::Trapeze(...);
|
|||||||
|
|
||||||
=head2 Inherited Classes' MIBs
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer2/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
@@ -899,13 +881,9 @@ proprietary MIBs.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info
|
=head2 Global Methods imported from SNMP::Info::Layer2
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
@@ -1147,11 +1125,7 @@ These emulate the F<CISCO-DOT11-MIB>
|
|||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
=head2 Table Methods imported from SNMP::Info
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer2/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Overrides
|
=head2 Overrides
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
package SNMP::Info::Layer2::Ubiquiti;
|
package SNMP::Info::Layer2::Ubiquiti;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::IEEE802dot11;
|
use SNMP::Info::IEEE802dot11;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
@@ -40,23 +41,23 @@ use SNMP::Info::Layer3; # only used in sub mac()
|
|||||||
= qw/SNMP::Info::IEEE802dot11 SNMP::Info::Layer2 Exporter/;
|
= qw/SNMP::Info::IEEE802dot11 SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::Ubiquiti::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::Ubiquiti::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS,
|
%SNMP::Info::Layer2::MIBS,
|
||||||
%SNMP::Info::IEEE802dot11::MIBS,
|
%SNMP::Info::IEEE802dot11::MIBS,
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS
|
%GLOBALS = (
|
||||||
= ( %SNMP::Info::Layer2::GLOBALS, %SNMP::Info::IEEE802dot11::GLOBALS, );
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
%SNMP::Info::IEEE802dot11::GLOBALS,
|
||||||
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer2::FUNCS,
|
%SNMP::Info::Layer2::FUNCS,
|
||||||
%SNMP::Info::IEEE802dot11::FUNCS,
|
%SNMP::Info::IEEE802dot11::FUNCS,
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::IEEE802dot11::MUNGE, );
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::IEEE802dot11::MUNGE, );
|
||||||
@@ -70,14 +71,14 @@ sub os {
|
|||||||
my $prod = $names->{$iid};
|
my $prod = $names->{$iid};
|
||||||
next unless defined $prod;
|
next unless defined $prod;
|
||||||
# Product names that match AirOS products
|
# Product names that match AirOS products
|
||||||
if((lc $prod) =~ /station/ or (lc $prod) =~ /beam/ or (lc $prod) =~ /grid/){
|
if((lc $prod) =~ /station/ or (lc $prod) =~ /beam/ or (lc $prod) =~ /grid/){
|
||||||
return 'AirOS';
|
return 'AirOS';
|
||||||
# Product names that match UAP
|
# Product names that match UAP
|
||||||
}elsif((lc $prod) =~ /uap/){
|
}elsif((lc $prod) =~ /uap/){
|
||||||
return 'UniFi';
|
return 'UniFi';
|
||||||
}else{
|
}else{
|
||||||
# Continue below to find OS name
|
# Continue below to find OS name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
## EdgeMAX OS (EdgeSwitch and EdgeRouter) name is first field split by space
|
## EdgeMAX OS (EdgeSwitch and EdgeRouter) name is first field split by space
|
||||||
@@ -89,35 +90,54 @@ sub os {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $dot11 = shift;
|
my $ubnt = shift;
|
||||||
|
|
||||||
my $versions = $dot11->dot11_prod_ver();
|
my $versions = $ubnt->dot11_prod_ver();
|
||||||
|
|
||||||
foreach my $iid ( keys %$versions ) {
|
foreach my $iid ( keys %$versions ) {
|
||||||
my $ver = $versions->{$iid};
|
my $ver = $versions->{$iid};
|
||||||
next unless defined $ver;
|
next unless defined $ver;
|
||||||
|
my $os = $ubnt->os;
|
||||||
|
if($os == 'AirOS'){
|
||||||
|
## pretty up the version reporting for AirOS to include hardware (XW, XM, etc) and three major groups of firmware
|
||||||
|
my @firmware = split(/v/, $ver);
|
||||||
|
my @firmwareSplit = split(/\./, $firmware[1]);
|
||||||
|
my @prefix = split(/\./, $ver);
|
||||||
|
$ver = $prefix[0] . '-v' . join('.', @firmwareSplit[0,1,2]);
|
||||||
|
}
|
||||||
return $ver;
|
return $ver;
|
||||||
## Not sure what this function does, it seems to be extraneous being in the same code block after a return statement?
|
## Not sure what this function does, it seems to be extraneous being in the same code block after a return statement?
|
||||||
if ( $ver =~ /([\d\.]+)/ ) {
|
#if ( $ver =~ /([\d\.]+)/ ) {
|
||||||
return $1;
|
# return $1;
|
||||||
}
|
#}
|
||||||
}
|
}
|
||||||
my $ver = $dot11->description() || '';
|
|
||||||
if($ver =~ /^edgeswitch/){
|
|
||||||
## EdgeSwitch OS version is second field split by comma
|
|
||||||
my @myver = split(/, /, $ver);
|
|
||||||
|
|
||||||
return $myver[1];
|
my $ver = $ubnt->description() || '';
|
||||||
|
if((lc $ver) =~ /^edgeswitch/){
|
||||||
|
## EdgeSwitch OS version is second field split by comma and bootcode version is last
|
||||||
|
my @myver = split(/, /, $ver);
|
||||||
|
my @firmware = split(/\./, $myver[1]);
|
||||||
|
my @bootcode = split(/\./, $myver[-1]);
|
||||||
|
|
||||||
|
## Return only three major version groupings and include bootcode version
|
||||||
|
return join('.', @firmware[0,1,2]) . '.-b' . join('.', @bootcode[0,1,2]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
## EdgeRouter OS version is second field split by space
|
## EdgeRouter OS version is second field split by space
|
||||||
my @myver = split(/ /, $ver);
|
my @myver = split(/ /, $ver);
|
||||||
|
my @firmware = split(/\./, $myver[1]);
|
||||||
|
|
||||||
return $myver[1];
|
if($firmware[2] =~ /hotfix$/){
|
||||||
|
# edge case where EdgeOS has hotfix versions in format "EdgeOS v1.9.7+hotfix.4.5024004.171005.0403"
|
||||||
|
$firmware[2] = $firmware[2] . '.' . $firmware[3]
|
||||||
|
}
|
||||||
|
## Return only three major version groupings
|
||||||
|
return join('.', @firmware[0,1,2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'Ubiquiti Networks, Inc.';
|
return 'ubiquiti';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
@@ -142,7 +162,7 @@ sub model {
|
|||||||
if(!((lc $desc) =~ /edgeos/)){
|
if(!((lc $desc) =~ /edgeos/)){
|
||||||
# Not sure what type of device this is to get Model
|
# Not sure what type of device this is to get Model
|
||||||
# Wireless devices report dot11_prod_name
|
# Wireless devices report dot11_prod_name
|
||||||
# EdgeSwitch includes mode directly and edgeos logic is in else statement
|
# EdgeSwitch includes model directly and edgeos logic is in else statement
|
||||||
return ;
|
return ;
|
||||||
}else{
|
}else{
|
||||||
## do some logic to determine ER model based on tech specs from ubnt:
|
## do some logic to determine ER model based on tech specs from ubnt:
|
||||||
@@ -304,11 +324,6 @@ Max Kosmach
|
|||||||
Provides abstraction to the configuration information obtainable from
|
Provides abstraction to the configuration information obtainable from
|
||||||
Ubiquiti Access Point through SNMP.
|
Ubiquiti Access Point through SNMP.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $ubnt = new SNMP::Info::Layer2::Ubiquiti(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -337,11 +352,11 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $ubnt->vendor()
|
=item $ubnt->vendor()
|
||||||
|
|
||||||
Returns 'Ubiquiti Networks, Inc.'
|
Returns 'ubiquiti'
|
||||||
|
|
||||||
=item $ubnt->model()
|
=item $ubnt->model()
|
||||||
|
|
||||||
Returns the model extracted from C<dot11manufacturerProductName>, with failback to some complex logic for EdgeMax devices
|
Returns the model extracted from C<dot11manufacturerProductName>, with fallback to some complex logic for EdgeMax devices
|
||||||
|
|
||||||
=item $ubnt->serial()
|
=item $ubnt->serial()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer2::ZyXEL_DSLAM
|
# SNMP::Info::Layer2::ZyXEL_DSLAM
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker
|
# Copyright (c) 2008 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer2::ZyXEL_DSLAM;
|
package SNMP::Info::Layer2::ZyXEL_DSLAM;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer2;
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
@SNMP::Info::Layer2::ZyXEL_DSLAM::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
@SNMP::Info::Layer2::ZyXEL_DSLAM::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
@SNMP::Info::Layer2::ZyXEL_DSLAM::EXPORT_OK = qw//;
|
@SNMP::Info::Layer2::ZyXEL_DSLAM::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# Set for No CDP
|
# Set for No CDP
|
||||||
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
|
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
|
||||||
@@ -77,7 +77,7 @@ sub os_ver {
|
|||||||
my $zyxel = shift;
|
my $zyxel = shift;
|
||||||
my $descr = $zyxel->description();
|
my $descr = $zyxel->description();
|
||||||
|
|
||||||
if ( $descr =~ m/version (\S+) / ) {
|
if ( defined ($descr) && $descr =~ m/version (\S+) / ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -88,11 +88,13 @@ sub model {
|
|||||||
|
|
||||||
my $desc = $zyxel->description();
|
my $desc = $zyxel->description();
|
||||||
|
|
||||||
if ( $desc =~ /8-port ADSL Module\(Annex A\)/ ) {
|
if (defined $desc) {
|
||||||
|
if ($desc =~ /8-port ADSL Module\(Annex A\)/) {
|
||||||
return "AAM1008-61";
|
return "AAM1008-61";
|
||||||
}
|
}
|
||||||
elsif ( $desc =~ /8-port ADSL Module\(Annex B\)/ ) {
|
elsif ($desc =~ /8-port ADSL Module\(Annex B\)/) {
|
||||||
return "AAM1008-63";
|
return "AAM1008-63";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -130,11 +132,11 @@ Dmitry Sergienko (C<dmitry@trifle.net>)
|
|||||||
Debug => 1,
|
Debug => 1,
|
||||||
DestHost => 'myhub',
|
DestHost => 'myhub',
|
||||||
Community => 'public',
|
Community => 'public',
|
||||||
Version => 1
|
Version => 2
|
||||||
)
|
)
|
||||||
or die "Can't connect to DestHost.\n";
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
my $class = $l2->class();
|
my $class = $zyxel->class();
|
||||||
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
@@ -174,11 +176,11 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $zyxel->vendor()
|
=item $zyxel->vendor()
|
||||||
|
|
||||||
Returns 'ZyXEL' :)
|
Returns 'zyxel'
|
||||||
|
|
||||||
=item $zyxel->os()
|
=item $zyxel->os()
|
||||||
|
|
||||||
Returns 'ZyXEL'
|
Returns 'zyxel'
|
||||||
|
|
||||||
=item $zyxel->os_ver()
|
=item $zyxel->os_ver()
|
||||||
|
|
||||||
|
|||||||
126
lib/SNMP/Info/Layer2/Zyxel.pm
Executable file
126
lib/SNMP/Info/Layer2/Zyxel.pm
Executable file
@@ -0,0 +1,126 @@
|
|||||||
|
# SNMP::Info::Layer2::Zyxel - SNMP Interface to Zyxel Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer2::Zyxel;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer2;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer2::Zyxel::ISA = qw/SNMP::Info::Layer2 Exporter/;
|
||||||
|
@SNMP::Info::Layer2::Zyxel::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
# This will be filled in with the device's index into the EntPhysicalEntry
|
||||||
|
# table by the serial() function.
|
||||||
|
# our $index = undef;
|
||||||
|
|
||||||
|
%MIBS = ( %SNMP::Info::Layer2::MIBS, );
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer2::GLOBALS,
|
||||||
|
'serial_oid' => 'transmission.94.1.1.2.1.1.1',
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = ( %SNMP::Info::Layer2::FUNCS, );
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'zyxel';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'zynos';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $obj = shift;
|
||||||
|
return 'unknown';
|
||||||
|
}
|
||||||
|
sub model {
|
||||||
|
my $obj = shift;
|
||||||
|
my $id = $obj->id;
|
||||||
|
if ($id =~ /890\.1\.5\.11\.11$/) {
|
||||||
|
return 'IES-1000 AAM1212-51';
|
||||||
|
}
|
||||||
|
return 'unknown';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub serial {
|
||||||
|
my $obj = shift;
|
||||||
|
return $obj->serial_oid;
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer2::Zyxel - SNMP Interface to Zyxel Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $obj = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $obj->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for Zyxel Devices running IOS-like software
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer2
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $obj->vendor()
|
||||||
|
|
||||||
|
Returns 'zyxel'
|
||||||
|
|
||||||
|
=item $obj->os()
|
||||||
|
|
||||||
|
Returns 'zynos'
|
||||||
|
|
||||||
|
=item $obj->layers()
|
||||||
|
|
||||||
|
Ensures that layer two is reported, at least.
|
||||||
|
|
||||||
|
=item $obj->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $obj->model
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=item $obj->serial()
|
||||||
|
|
||||||
|
Returns serial number.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
=back
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3 - SNMP Interface to Layer3 devices
|
# SNMP::Info::Layer3 - SNMP Interface to Layer3 devices
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
|
# Copyright (c) 2008 Max Baker -- All changes from Version 0.7 on
|
||||||
#
|
#
|
||||||
@@ -33,6 +32,7 @@
|
|||||||
package SNMP::Info::Layer3;
|
package SNMP::Info::Layer3;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
use SNMP::Info;
|
||||||
use SNMP::Info::Bridge;
|
use SNMP::Info::Bridge;
|
||||||
@@ -42,23 +42,25 @@ use SNMP::Info::PowerEthernet;
|
|||||||
use SNMP::Info::IPv6;
|
use SNMP::Info::IPv6;
|
||||||
use SNMP::Info::AdslLine;
|
use SNMP::Info::AdslLine;
|
||||||
use SNMP::Info::LLDP;
|
use SNMP::Info::LLDP;
|
||||||
|
use SNMP::Info::DocsisHE;
|
||||||
|
|
||||||
@SNMP::Info::Layer3::ISA = qw/
|
@SNMP::Info::Layer3::ISA = qw/
|
||||||
SNMP::Info::PowerEthernet SNMP::Info::IPv6
|
SNMP::Info::PowerEthernet SNMP::Info::IPv6
|
||||||
SNMP::Info::Entity SNMP::Info::EtherLike
|
SNMP::Info::Entity SNMP::Info::EtherLike
|
||||||
SNMP::Info::Bridge SNMP::Info::AdslLine
|
SNMP::Info::Bridge SNMP::Info::AdslLine
|
||||||
SNMP::Info::LLDP
|
SNMP::Info::LLDP SNMP::Info::DocsisHE
|
||||||
SNMP::Info Exporter/;
|
SNMP::Info Exporter/;
|
||||||
@SNMP::Info::Layer3::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
|
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS,
|
%SNMP::Info::MIBS,
|
||||||
%SNMP::Info::AdslLine::MIBS,
|
%SNMP::Info::AdslLine::MIBS,
|
||||||
%SNMP::Info::Bridge::MIBS,
|
%SNMP::Info::Bridge::MIBS,
|
||||||
|
%SNMP::Info::DocsisHE::MIBS,
|
||||||
%SNMP::Info::EtherLike::MIBS,
|
%SNMP::Info::EtherLike::MIBS,
|
||||||
%SNMP::Info::Entity::MIBS,
|
%SNMP::Info::Entity::MIBS,
|
||||||
%SNMP::Info::PowerEthernet::MIBS,
|
%SNMP::Info::PowerEthernet::MIBS,
|
||||||
@@ -76,6 +78,7 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::GLOBALS,
|
%SNMP::Info::GLOBALS,
|
||||||
%SNMP::Info::AdslLine::GLOBALS,
|
%SNMP::Info::AdslLine::GLOBALS,
|
||||||
%SNMP::Info::Bridge::GLOBALS,
|
%SNMP::Info::Bridge::GLOBALS,
|
||||||
|
%SNMP::Info::DocsisHE::GLOBALS,
|
||||||
%SNMP::Info::EtherLike::GLOBALS,
|
%SNMP::Info::EtherLike::GLOBALS,
|
||||||
%SNMP::Info::Entity::GLOBALS,
|
%SNMP::Info::Entity::GLOBALS,
|
||||||
%SNMP::Info::PowerEthernet::GLOBALS,
|
%SNMP::Info::PowerEthernet::GLOBALS,
|
||||||
@@ -93,6 +96,7 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::FUNCS,
|
%SNMP::Info::FUNCS,
|
||||||
%SNMP::Info::AdslLine::FUNCS,
|
%SNMP::Info::AdslLine::FUNCS,
|
||||||
%SNMP::Info::Bridge::FUNCS,
|
%SNMP::Info::Bridge::FUNCS,
|
||||||
|
%SNMP::Info::DocsisHE::FUNCS,
|
||||||
%SNMP::Info::EtherLike::FUNCS,
|
%SNMP::Info::EtherLike::FUNCS,
|
||||||
%SNMP::Info::Entity::FUNCS,
|
%SNMP::Info::Entity::FUNCS,
|
||||||
%SNMP::Info::PowerEthernet::FUNCS,
|
%SNMP::Info::PowerEthernet::FUNCS,
|
||||||
@@ -167,6 +171,7 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::AdslLine::MUNGE,
|
%SNMP::Info::AdslLine::MUNGE,
|
||||||
%SNMP::Info::Bridge::MUNGE,
|
%SNMP::Info::Bridge::MUNGE,
|
||||||
%SNMP::Info::EtherLike::MUNGE,
|
%SNMP::Info::EtherLike::MUNGE,
|
||||||
|
%SNMP::Info::DocsisHE::MUNGE,
|
||||||
%SNMP::Info::Entity::MUNGE,
|
%SNMP::Info::Entity::MUNGE,
|
||||||
%SNMP::Info::PowerEthernet::MUNGE,
|
%SNMP::Info::PowerEthernet::MUNGE,
|
||||||
%SNMP::Info::IPv6::MUNGE,
|
%SNMP::Info::IPv6::MUNGE,
|
||||||
@@ -325,15 +330,25 @@ sub interfaces {
|
|||||||
|
|
||||||
# Check for duplicates in ifDescr, if so uniquely identify by adding
|
# Check for duplicates in ifDescr, if so uniquely identify by adding
|
||||||
# ifIndex to repeated values
|
# ifIndex to repeated values
|
||||||
my %seen;
|
my (%seen, %first_seen_as);
|
||||||
foreach my $iid ( keys %$i_descr ) {
|
foreach my $iid ( sort keys %$i_descr ) {
|
||||||
my $port = $i_descr->{$iid};
|
my $port = $i_descr->{$iid};
|
||||||
next unless defined $port;
|
next unless defined $port;
|
||||||
|
|
||||||
|
$port = SNMP::Info::munge_null($port);
|
||||||
|
$port =~ s/^\s+//; $port =~ s/\s+$//;
|
||||||
|
next unless length $port;
|
||||||
|
|
||||||
if ( $seen{$port}++ ) {
|
if ( $seen{$port}++ ) {
|
||||||
|
# (#320) also fixup the port this is a duplicate of
|
||||||
|
$interfaces->{ $first_seen_as{$port} }
|
||||||
|
= sprintf( "%s (%d)", $port, $first_seen_as{$port} );
|
||||||
|
|
||||||
$interfaces->{$iid} = sprintf( "%s (%d)", $port, $iid );
|
$interfaces->{$iid} = sprintf( "%s (%d)", $port, $iid );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$interfaces->{$iid} = $port;
|
$interfaces->{$iid} = $port;
|
||||||
|
$first_seen_as{$port} = $iid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $interfaces;
|
return $interfaces;
|
||||||
@@ -448,6 +463,10 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=item SNMP::Info::LLDP
|
=item SNMP::Info::LLDP
|
||||||
|
|
||||||
|
=item SNMP::Info::DocsisHE
|
||||||
|
|
||||||
|
=item SNMP::Info::AdslLine
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Required MIBs
|
=head2 Required MIBs
|
||||||
@@ -466,7 +485,7 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=head2 Inherited MIBs
|
=head2 Inherited MIBs
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its MIB requirements.
|
See L<SNMP::Info/"REQUIREMENTS"> for its MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::Bridge/"Required MIBs"> for its MIB requirements.
|
See L<SNMP::Info::Bridge/"Required MIBs"> for its MIB requirements.
|
||||||
|
|
||||||
@@ -480,6 +499,10 @@ See L<SNMP::Info::IPv6/"Required MIBs"> for its MIB requirements.
|
|||||||
|
|
||||||
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
|
See L<SNMP::Info::LLDP/"Required MIBs"> for its MIB requirements.
|
||||||
|
|
||||||
|
See L<SNMP::Info::DocsisHE/"Required MIBs"> for its MIB requirements.
|
||||||
|
|
||||||
|
See L<SNMP::Info::AdslLine/"Required MIBs"> for its MIB requirements.
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
These are methods that return scalar value from SNMP
|
These are methods that return scalar value from SNMP
|
||||||
@@ -538,7 +561,7 @@ found: OSPF Router ID (C<ospfRouterId>) or any OSPF Host IP Address
|
|||||||
|
|
||||||
=head2 Globals imported from SNMP::Info
|
=head2 Globals imported from SNMP::Info
|
||||||
|
|
||||||
See L<SNMP::Info/"GLOBALS"> for details.
|
See L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info::Bridge
|
=head2 Global Methods imported from SNMP::Info::Bridge
|
||||||
|
|
||||||
@@ -564,6 +587,14 @@ See L<SNMP::Info::IPv6/"GLOBALS"> for details.
|
|||||||
|
|
||||||
See L<SNMP::Info::LLDP/"GLOBALS"> for details.
|
See L<SNMP::Info::LLDP/"GLOBALS"> for details.
|
||||||
|
|
||||||
|
=head2 Global Methods imported from SNMP::Info::DocsisHE
|
||||||
|
|
||||||
|
See L<SNMP::Info::DocsisHE/"GLOBALS"> for details.
|
||||||
|
|
||||||
|
=head2 Global Methods imported from SNMP::Info::AdslLine
|
||||||
|
|
||||||
|
See L<SNMP::Info::AdslLine/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
These are methods that return tables of information in the form of a reference
|
These are methods that return tables of information in the form of a reference
|
||||||
@@ -593,7 +624,7 @@ Returns reference to hash of iid to current link duplex setting.
|
|||||||
Maps $l3->el_index() to $l3->el_duplex, then culls out
|
Maps $l3->el_index() to $l3->el_duplex, then culls out
|
||||||
full,half, or auto and sets the map to that value.
|
full,half, or auto and sets the map to that value.
|
||||||
|
|
||||||
See L<SNMP::Info::Etherlike> for the el_index() and el_duplex() methods.
|
See L<SNMP::Info::EtherLike> for the el_index() and el_duplex() methods.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
@@ -880,14 +911,14 @@ Note this returns hash-strings, for IPs, use $l3->isis_peers()
|
|||||||
=item $l3->isis_peers()
|
=item $l3->isis_peers()
|
||||||
|
|
||||||
Returns reference to hash of addresses (IPv4, IPv6) on adjacencies.
|
Returns reference to hash of addresses (IPv4, IPv6) on adjacencies.
|
||||||
Convers hash strings from isis_adj to proper
|
Convert hash strings from isis_adj to proper
|
||||||
IP (v4 and v6) formatting.
|
IP (v4 and v6) formatting.
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
=head2 Table Methods imported from SNMP::Info
|
||||||
|
|
||||||
See L<SNMP::Info/"TABLE METHODS"> for details.
|
See L<SNMP::Info/"USAGE"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Bridge
|
=head2 Table Methods imported from SNMP::Info::Bridge
|
||||||
|
|
||||||
@@ -913,4 +944,12 @@ See L<SNMP::Info::IPv6/"TABLE METHODS"> for details.
|
|||||||
|
|
||||||
See L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
|
See L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
|
=head2 Table Methods imported from SNMP::Info::DocsisHE
|
||||||
|
|
||||||
|
See L<SNMP::Info::DocsisHE/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
|
=head2 Table Methods imported from SNMP::Info::AdslLine
|
||||||
|
|
||||||
|
See L<SNMP::Info::AdslLine/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
155
lib/SNMP/Info/Layer3/Accton.pm
Executable file
155
lib/SNMP/Info/Layer3/Accton.pm
Executable file
@@ -0,0 +1,155 @@
|
|||||||
|
# SNMP::Info::Layer3::Accton - SNMP Interface to Accton Devices
|
||||||
|
#
|
||||||
|
# Copyright (c) 2020 by 135.
|
||||||
|
|
||||||
|
package SNMP::Info::Layer3::Accton;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer3::Accton::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
|
@SNMP::Info::Layer3::Accton::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = ( %SNMP::Info::Layer3::MIBS, );
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
|
'os_ver_oid_259_6_10_94' => 'enterprises.259.6.10.94.1.1.5.4.0',
|
||||||
|
'os_ver_oid_259_8_1_5' => 'enterprises.259.8.1.5.1.1.5.4.0',
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = (
|
||||||
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
|
);
|
||||||
|
|
||||||
|
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'accton';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'accton-os';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub model {
|
||||||
|
my $obj = shift;
|
||||||
|
my $hw = $obj->c_hw_ver() || undef;
|
||||||
|
return $obj->SUPER::description() . ' HW:' . $hw if (defined $hw);
|
||||||
|
return $obj->SUPER::description()
|
||||||
|
#return $obj->SUPER::model();
|
||||||
|
}
|
||||||
|
|
||||||
|
sub serial {
|
||||||
|
my $obj = shift;
|
||||||
|
my $sess = $obj->session();
|
||||||
|
my $serial = $sess->get($obj->id() . '.1.1.3.1.10.1') || undef;
|
||||||
|
return $serial;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub hwver {
|
||||||
|
my $obj = shift;
|
||||||
|
my $sess = $obj->session();
|
||||||
|
my $hw = $sess->get($obj->id() . '.1.1.3.1.2.1') || undef;
|
||||||
|
return $hw;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $obj = shift;
|
||||||
|
my $sess = $obj->session();
|
||||||
|
my $os_ver = $sess->get($obj->id() . '.1.1.5.4.0') || undef;
|
||||||
|
my $brom = $sess->get($obj->id() . '.1.1.3.1.5.1') || undef;
|
||||||
|
my $loader = $sess->get($obj->id() . '.1.1.3.1.4.1') || undef;
|
||||||
|
my $full_os_ver = $os_ver if defined($os_ver) || return;
|
||||||
|
$full_os_ver .= ' bootrom:' . $brom if defined($brom);
|
||||||
|
$full_os_ver .= ' loader:' . $loader if defined($loader);
|
||||||
|
return $full_os_ver;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub description {
|
||||||
|
my $obj = shift;
|
||||||
|
my $descr = undef;
|
||||||
|
my $sess = $obj->session();
|
||||||
|
$descr .= $obj->SUPER::description() . "\n";
|
||||||
|
$descr .= "Serial Number: " . $sess->get($obj->id() . '.1.1.3.1.10.1') . "\n";
|
||||||
|
$descr .= "Hardware Version: " . $sess->get($obj->id() . '.1.1.3.1.2.1') . "\n";
|
||||||
|
$descr .= "EPLD Version: " . $sess->get($obj->id() . '.1.1.3.1.15.1') . "\n";
|
||||||
|
$descr .= "Loader Version: " . $sess->get($obj->id() . '.1.1.3.1.4.1') . "\n";
|
||||||
|
$descr .= "Boot ROM Version: " . $sess->get($obj->id() . '.1.1.3.1.5.1') . "\n";
|
||||||
|
$descr .= "Operation Code Version: " . $sess->get($obj->id() . '.1.1.5.4.0') . "\n";
|
||||||
|
return $descr;
|
||||||
|
#$sess->get($obj->id() . '.1.1.5.4.0')
|
||||||
|
}
|
||||||
|
1;
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
SNMP::Info::Layer3::Accton - SNMP Interface to Accton Devices
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
|
my $obj = new SNMP::Info(
|
||||||
|
AutoSpecify => 1,
|
||||||
|
Debug => 1,
|
||||||
|
DestHost => 'myrouter',
|
||||||
|
Community => 'public',
|
||||||
|
Version => 2
|
||||||
|
)
|
||||||
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
|
my $class = $obj->class();
|
||||||
|
print "SNMP::Info determined this device to fall under subclass : $class\n";
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
Subclass for Accton Devices
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer3
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $obj->vendor()
|
||||||
|
|
||||||
|
Returns 'accton'
|
||||||
|
|
||||||
|
=item $obj->os()
|
||||||
|
|
||||||
|
Returns 'accton-os'
|
||||||
|
|
||||||
|
=item $obj->os_ver()
|
||||||
|
|
||||||
|
Returns the software version.
|
||||||
|
|
||||||
|
=item $obj->model()
|
||||||
|
|
||||||
|
Returns the model extracted.
|
||||||
|
|
||||||
|
=item $obj->serial()
|
||||||
|
|
||||||
|
Returns serial number.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
=back
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::Aironet
|
# SNMP::Info::Layer3::Aironet
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008 Max Baker changes from version 0.8 and beyond.
|
||||||
#
|
#
|
||||||
@@ -33,15 +32,16 @@
|
|||||||
package SNMP::Info::Layer3::Aironet;
|
package SNMP::Info::Layer3::Aironet;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
@SNMP::Info::Layer3::Aironet::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
@SNMP::Info::Layer3::Aironet::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::Aironet::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::Aironet::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %MIBS %FUNCS %GLOBALS %MUNGE/;
|
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
@@ -279,9 +279,6 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
These MIBs are now included in the v2.tar.gz archive available from
|
|
||||||
ftp.cisco.com. Make sure you have a current version.
|
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
|
|
||||||
These are methods that return scalar value from SNMP
|
These are methods that return scalar value from SNMP
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::AlcatelLucent
|
# SNMP::Info::Layer3::AlcatelLucent
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Bill Fenner
|
# Copyright (c) 2008 Bill Fenner
|
||||||
#
|
#
|
||||||
@@ -30,6 +29,7 @@
|
|||||||
package SNMP::Info::Layer3::AlcatelLucent;
|
package SNMP::Info::Layer3::AlcatelLucent;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
@@ -47,9 +47,9 @@ use SNMP::Info::LLDP;
|
|||||||
SNMP::Info::MAU SNMP::Info::Layer3 Exporter/;
|
SNMP::Info::MAU SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::AlcatelLucent::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::AlcatelLucent::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
@@ -96,6 +96,8 @@ sub model {
|
|||||||
my $id = $alu->id();
|
my $id = $alu->id();
|
||||||
my $model = &SNMP::translateObj($id);
|
my $model = &SNMP::translateObj($id);
|
||||||
|
|
||||||
|
return 'ASAM 73xx' if $id =~ /637\.61\.1$/;
|
||||||
|
|
||||||
return $id unless defined $model;
|
return $id unless defined $model;
|
||||||
|
|
||||||
$model =~ s/^device//;
|
$model =~ s/^device//;
|
||||||
@@ -108,14 +110,16 @@ sub os {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'alcatel-lucent';
|
return 'alcatel';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $alu = shift;
|
my $alu = shift;
|
||||||
|
|
||||||
my $descr = $alu->description();
|
my $descr = $alu->description();
|
||||||
return $1 if $descr =~ m/\b(\d[\.\d]+R\d+) (?:GA|Service Release), /;
|
if (defined ($descr)) {
|
||||||
|
return $1 if $descr =~ m/\b(\d[\.\d]+R\d+) (?:GA|Service Release), /;
|
||||||
|
}
|
||||||
|
|
||||||
# No clue what this will try but hey
|
# No clue what this will try but hey
|
||||||
return $alu->SUPER::os_ver();
|
return $alu->SUPER::os_ver();
|
||||||
@@ -370,7 +374,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $alu->vendor()
|
=item $alu->vendor()
|
||||||
|
|
||||||
Returns 'alcatel-lucent'
|
Returns 'alcatel-lucent'
|
||||||
|
|
||||||
=item $alu->model()
|
=item $alu->model()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::AlteonAD
|
# SNMP::Info::Layer3::AlteonAD
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All Rights Reserved
|
# All Rights Reserved
|
||||||
@@ -31,15 +30,16 @@
|
|||||||
package SNMP::Info::Layer3::AlteonAD;
|
package SNMP::Info::Layer3::AlteonAD;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
@SNMP::Info::Layer3::AlteonAD::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
@SNMP::Info::Layer3::AlteonAD::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::AlteonAD::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::AlteonAD::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
|
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
@@ -450,11 +450,6 @@ Eric Miller
|
|||||||
Abstraction subclass for Radware Alteon Series ADC switches and
|
Abstraction subclass for Radware Alteon Series ADC switches and
|
||||||
Nortel BladeCenter Layer2-3 GbE Switch Modules.
|
Nortel BladeCenter Layer2-3 GbE Switch Modules.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $alteon = new SNMP::Info::Layer3::AlteonAD(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::Altiga
|
# SNMP::Info::Layer3::Altiga
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Jeroen van Ingen Schenau
|
# Copyright (c) 2008 Jeroen van Ingen Schenau
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,16 +30,17 @@
|
|||||||
package SNMP::Info::Layer3::Altiga;
|
package SNMP::Info::Layer3::Altiga;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
@SNMP::Info::Layer3::Altiga::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
@SNMP::Info::Layer3::Altiga::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::Altiga::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::Altiga::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE,
|
||||||
$int_include_vpn $fake_idx $type_class/;
|
$int_include_vpn, $fake_idx, $type_class);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
@@ -281,7 +281,7 @@ Jeroen van Ingen Schenau
|
|||||||
Debug => 1,
|
Debug => 1,
|
||||||
DestHost => 'my_vpn_host',
|
DestHost => 'my_vpn_host',
|
||||||
Community => 'public',
|
Community => 'public',
|
||||||
Version => 1
|
Version => 2
|
||||||
)
|
)
|
||||||
or die "Can't connect to DestHost.\n";
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
@@ -304,6 +304,12 @@ Subclass for Cisco (formerly Altiga) VPN concentrators
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item F<ALTIGA-VERSION-STATS-MIB>
|
||||||
|
|
||||||
|
=item F<ALTIGA-SESSION-STATS-MIB>
|
||||||
|
|
||||||
|
=item F<ALTIGA-HARDWARE-STATS-MIB>
|
||||||
|
|
||||||
=item Inherited Classes' MIBs
|
=item Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::Arista
|
# SNMP::Info::Layer3::Arista
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Arista Networks, Inc.
|
# Copyright (c) 2008 Arista Networks, Inc.
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,29 +30,27 @@
|
|||||||
package SNMP::Info::Layer3::Arista;
|
package SNMP::Info::Layer3::Arista;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
|
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
use SNMP::Info::MAU;
|
use SNMP::Info::MAU;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
use SNMP::Info::Aggregate 'agg_ports_ifstack';
|
use SNMP::Info::Aggregate 'agg_ports_ifstack';
|
||||||
|
|
||||||
@SNMP::Info::Layer3::Arista::ISA = qw/
|
@SNMP::Info::Layer3::Arista::ISA = qw/
|
||||||
SNMP::Info::Aggregate
|
SNMP::Info::Aggregate
|
||||||
SNMP::Info::LLDP
|
|
||||||
SNMP::Info::MAU
|
SNMP::Info::MAU
|
||||||
SNMP::Info::Layer3 Exporter
|
SNMP::Info::Layer3
|
||||||
|
Exporter
|
||||||
/;
|
/;
|
||||||
@SNMP::Info::Layer3::Arista::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::Arista::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
%SNMP::Info::MAU::MIBS,
|
%SNMP::Info::MAU::MIBS,
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
%SNMP::Info::Aggregate::MIBS,
|
%SNMP::Info::Aggregate::MIBS,
|
||||||
'ARISTA-PRODUCTS-MIB' => 'aristaDCS7124S',
|
'ARISTA-PRODUCTS-MIB' => 'aristaDCS7124S',
|
||||||
);
|
);
|
||||||
@@ -61,19 +58,16 @@ $VERSION = '3.66';
|
|||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer3::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
%SNMP::Info::MAU::GLOBALS,
|
%SNMP::Info::MAU::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer3::FUNCS,
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
%SNMP::Info::MAU::FUNCS,
|
%SNMP::Info::MAU::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::Layer3::MUNGE,
|
%SNMP::Info::Layer3::MUNGE,
|
||||||
%SNMP::Info::MAU::MUNGE,
|
%SNMP::Info::MAU::MUNGE,
|
||||||
%SNMP::Info::LLDP::MUNGE,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
# use MAU-MIB for admin. duplex and admin. speed
|
# use MAU-MIB for admin. duplex and admin. speed
|
||||||
@@ -92,11 +86,14 @@ sub os {
|
|||||||
|
|
||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $arista = shift;
|
my $arista = shift;
|
||||||
my $descr = $arista->description();
|
my $descr = $arista->description();
|
||||||
my $os_ver = undef;
|
|
||||||
|
|
||||||
$os_ver = $1 if ( $descr =~ /\s+EOS\s+version\s+(\S+)\s+/ );
|
if (defined ($descr)) {
|
||||||
return $os_ver;
|
my $os_ver = undef;
|
||||||
|
$os_ver = $1 if ($descr =~ /\s+EOS\s+version\s+(\S+)\s+/);
|
||||||
|
return $os_ver;
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
@@ -174,8 +171,6 @@ Subclass for Arista Networks EOS-based devices
|
|||||||
|
|
||||||
=item SNMP::Info::MAU
|
=item SNMP::Info::MAU
|
||||||
|
|
||||||
=item SNMP::Info::LLDP
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Required MIBs
|
=head2 Required MIBs
|
||||||
@@ -192,8 +187,6 @@ See L<SNMP::Info::Aggregate/"Required MIBs"> for its own MIB requirements.
|
|||||||
|
|
||||||
See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::MAU/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
@@ -204,7 +197,7 @@ These are methods that return scalar values from SNMP
|
|||||||
|
|
||||||
=item $arista->vendor()
|
=item $arista->vendor()
|
||||||
|
|
||||||
Returns 'Arista Networks, Inc.'
|
Returns 'arista'
|
||||||
|
|
||||||
=item $arista->model()
|
=item $arista->model()
|
||||||
|
|
||||||
@@ -230,10 +223,6 @@ See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::MAU/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info::Layer3
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
These are methods that return tables of information in the form of a reference
|
These are methods that return tables of information in the form of a reference
|
||||||
@@ -269,8 +258,4 @@ See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::Aruba
|
# SNMP::Info::Layer3::Aruba
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2013 Eric Miller
|
# Copyright (c) 2013 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,20 +30,19 @@
|
|||||||
package SNMP::Info::Layer3::Aruba;
|
package SNMP::Info::Layer3::Aruba;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer3::Aruba::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/;
|
@SNMP::Info::Layer3::Aruba::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::Aruba::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::Aruba::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %FUNCS %GLOBALS %MIBS %MUNGE/;
|
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
'WLSR-AP-MIB' => 'wlsrHideSSID',
|
'WLSR-AP-MIB' => 'wlsrHideSSID',
|
||||||
'WLSX-IFEXT-MIB' => 'ifExtVlanName',
|
'WLSX-IFEXT-MIB' => 'ifExtVlanName',
|
||||||
'WLSX-POE-MIB' => 'wlsxPseSlotPowerAvailable',
|
'WLSX-POE-MIB' => 'wlsxPseSlotPowerAvailable',
|
||||||
@@ -58,7 +56,6 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer3::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
'aruba_serial_old' => 'wlsxSwitchLicenseSerialNumber',
|
'aruba_serial_old' => 'wlsxSwitchLicenseSerialNumber',
|
||||||
'aruba_serial_new' => 'wlsxSysExtLicenseSerialNumber',
|
'aruba_serial_new' => 'wlsxSysExtLicenseSerialNumber',
|
||||||
'aruba_model' => 'wlsxModelName',
|
'aruba_model' => 'wlsxModelName',
|
||||||
@@ -67,7 +64,6 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer3::FUNCS,
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
|
|
||||||
# WLSR-AP-MIB::wlsrConfigTable
|
# WLSR-AP-MIB::wlsrConfigTable
|
||||||
'aruba_ap_ssidbcast' => 'wlsrHideSSID',
|
'aruba_ap_ssidbcast' => 'wlsrHideSSID',
|
||||||
@@ -143,7 +139,6 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::Layer3::MUNGE,
|
%SNMP::Info::Layer3::MUNGE,
|
||||||
%SNMP::Info::LLDP::MUNGE,
|
|
||||||
'aruba_ap_fqln' => \&munge_aruba_fqln,
|
'aruba_ap_fqln' => \&munge_aruba_fqln,
|
||||||
'aruba_ap_type' => \&SNMP::Info::munge_e_type,
|
'aruba_ap_type' => \&SNMP::Info::munge_e_type,
|
||||||
'aruba_card_type' => \&SNMP::Info::munge_e_type,
|
'aruba_card_type' => \&SNMP::Info::munge_e_type,
|
||||||
@@ -170,10 +165,9 @@ sub vendor {
|
|||||||
$id = $1 if ( defined($id) && $id =~ /^\.1\.3\.6\.1\.4\.1\.(\d+)/ );
|
$id = $1 if ( defined($id) && $id =~ /^\.1\.3\.6\.1\.4\.1\.(\d+)/ );
|
||||||
|
|
||||||
if ( defined($id) and exists( $oidmap{$id} ) ) {
|
if ( defined($id) and exists( $oidmap{$id} ) ) {
|
||||||
return $oidmap{$id};
|
return $oidmap{$id};
|
||||||
}
|
} else {
|
||||||
else {
|
return 'aruba';
|
||||||
return 'aruba';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -183,7 +177,7 @@ sub os_ver {
|
|||||||
return unless defined $descr;
|
return unless defined $descr;
|
||||||
|
|
||||||
if ( $descr =~ m/Version\s+(\d+\.\d+\.\d+\.\d+)/ ) {
|
if ( $descr =~ m/Version\s+(\d+\.\d+\.\d+\.\d+)/ ) {
|
||||||
return $1;
|
return $1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -1421,11 +1415,6 @@ This class emulates bridge functionality for the wireless switch. This enables
|
|||||||
end station MAC addresses collection and correlation to the thin access point
|
end station MAC addresses collection and correlation to the thin access point
|
||||||
the end station is using for communication.
|
the end station is using for communication.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $aruba = new SNMP::Info::Layer3::Aruba(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::BayRS
|
# SNMP::Info::Layer3::BayRS
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Eric Miller
|
# Copyright (c) 2008 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,24 +30,21 @@
|
|||||||
package SNMP::Info::Layer3::BayRS;
|
package SNMP::Info::Layer3::BayRS;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
use SNMP::Info::Bridge;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer3::BayRS::ISA = qw/SNMP::Info SNMP::Info::Layer3
|
@SNMP::Info::Layer3::BayRS::ISA = qw/SNMP::Info::Layer3
|
||||||
SNMP::Info::Bridge Exporter/;
|
Exporter/;
|
||||||
@SNMP::Info::Layer3::BayRS::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::BayRS::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE %MODEL_MAP
|
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE, %MODEL_MAP,
|
||||||
%MODID_MAP %PROCID_MAP/;
|
%MODID_MAP, %PROCID_MAP);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS,
|
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
%SNMP::Info::Bridge::MIBS,
|
|
||||||
'Wellfleet-HARDWARE-MIB' => 'wfHwBpIdOpt',
|
'Wellfleet-HARDWARE-MIB' => 'wfHwBpIdOpt',
|
||||||
'Wellfleet-OSPF-MIB' => 'wfOspfRouterId',
|
'Wellfleet-OSPF-MIB' => 'wfOspfRouterId',
|
||||||
'Wellfleet-DOT1QTAG-CONFIG-MIB' => 'wfDot1qTagCfgVlanName',
|
'Wellfleet-DOT1QTAG-CONFIG-MIB' => 'wfDot1qTagCfgVlanName',
|
||||||
@@ -57,18 +53,14 @@ $VERSION = '3.66';
|
|||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::GLOBALS,
|
|
||||||
%SNMP::Info::Layer3::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
%SNMP::Info::Bridge::GLOBALS,
|
|
||||||
'bp_id' => 'wfHwBpIdOpt',
|
'bp_id' => 'wfHwBpIdOpt',
|
||||||
'bp_serial' => 'wfHwBpSerialNumber',
|
'bp_serial' => 'wfHwBpSerialNumber',
|
||||||
'ospf_rtr_id' => 'wfOspfRouterId',
|
'ospf_rtr_id' => 'wfOspfRouterId',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::FUNCS,
|
|
||||||
%SNMP::Info::Layer3::FUNCS,
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
%SNMP::Info::Bridge::FUNCS,
|
|
||||||
|
|
||||||
# From Wellfleet-CSMACD-MIB::wfCSMACDTable
|
# From Wellfleet-CSMACD-MIB::wfCSMACDTable
|
||||||
'wf_csmacd_cct' => 'wfCSMACDCct',
|
'wf_csmacd_cct' => 'wfCSMACDCct',
|
||||||
@@ -107,9 +99,7 @@ $VERSION = '3.66';
|
|||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::MUNGE,
|
|
||||||
%SNMP::Info::Layer3::MUNGE,
|
%SNMP::Info::Layer3::MUNGE,
|
||||||
%SNMP::Info::Bridge::MUNGE,
|
|
||||||
'wf_hw_boot' => \&munge_hw_rev,
|
'wf_hw_boot' => \&munge_hw_rev,
|
||||||
'wf_hw_diag' => \&munge_hw_rev,
|
'wf_hw_diag' => \&munge_hw_rev,
|
||||||
'wf_hw_mobo_ser' => \&munge_wf_serial,
|
'wf_hw_mobo_ser' => \&munge_wf_serial,
|
||||||
@@ -541,7 +531,10 @@ sub model {
|
|||||||
my $bayrs = shift;
|
my $bayrs = shift;
|
||||||
my $bp_id = $bayrs->bp_id();
|
my $bp_id = $bayrs->bp_id();
|
||||||
|
|
||||||
return defined $MODEL_MAP{$bp_id} ? $MODEL_MAP{$bp_id} : $bp_id;
|
if (defined $bp_id) {
|
||||||
|
return defined $MODEL_MAP{$bp_id} ? $MODEL_MAP{$bp_id} : $bp_id;
|
||||||
|
}
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
@@ -776,7 +769,7 @@ sub e_index {
|
|||||||
my $bp_id = $bayrs->bp_id();
|
my $bp_id = $bayrs->bp_id();
|
||||||
|
|
||||||
# Don't like polling all these columns to build the index, can't think of
|
# Don't like polling all these columns to build the index, can't think of
|
||||||
# a better way right now. Luckly all this data will be cached for the
|
# a better way right now. Luckily all this data will be cached for the
|
||||||
# rest of the e_* methods
|
# rest of the e_* methods
|
||||||
|
|
||||||
# Using mib leafs so we don't have to define everything in FUNCS
|
# Using mib leafs so we don't have to define everything in FUNCS
|
||||||
@@ -805,7 +798,7 @@ sub e_index {
|
|||||||
my @slots = ( $wf_mb, $wf_db, $wf_bb, $wf_mod, $wf_mod1, $wf_mod2 );
|
my @slots = ( $wf_mb, $wf_db, $wf_bb, $wf_mod, $wf_mod1, $wf_mod2 );
|
||||||
my @mods = ( $wf_mm, $wf_dm );
|
my @mods = ( $wf_mm, $wf_dm );
|
||||||
|
|
||||||
# We're going to hack an index: Slot/Module/Postion
|
# We're going to hack an index: Slot/Module/Position
|
||||||
my %wf_e_index;
|
my %wf_e_index;
|
||||||
|
|
||||||
# Chassis on BN types
|
# Chassis on BN types
|
||||||
@@ -1406,19 +1399,10 @@ Eric Miller
|
|||||||
|
|
||||||
Abstraction subclass for routers running Avaya/Nortel BayRS.
|
Abstraction subclass for routers running Avaya/Nortel BayRS.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $bayrs = new SNMP::Info::Layer3::BayRS(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item SNMP::Info
|
|
||||||
|
|
||||||
=item SNMP::Info::Bridge
|
|
||||||
|
|
||||||
=item SNMP::Info::Layer3
|
=item SNMP::Info::Layer3
|
||||||
|
|
||||||
=back
|
=back
|
||||||
@@ -1441,10 +1425,6 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=head2 Inherited MIBs
|
=head2 Inherited MIBs
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
See L<SNMP::Info::Bridge/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
@@ -1500,14 +1480,6 @@ undefined.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Layer3
|
=head2 Globals imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
||||||
@@ -1625,14 +1597,6 @@ is not contained in any other entity.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Bridge
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Bridge/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Layer3
|
=head2 Table Methods imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
||||||
|
|||||||
@@ -28,15 +28,16 @@ package SNMP::Info::Layer3::BlueCoatSG;
|
|||||||
# POSSIBILITY OF SUCH DAMAGE.
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
@SNMP::Info::Layer3::BlueCoatSG::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
@SNMP::Info::Layer3::BlueCoatSG::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::BlueCoatSG::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::BlueCoatSG::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,
|
||||||
@@ -55,7 +56,7 @@ $VERSION = '3.66';
|
|||||||
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer3::MUNGE, );
|
%MUNGE = ( %SNMP::Info::Layer2::MUNGE, %SNMP::Info::Layer3::MUNGE, );
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'Blue Coat';
|
return 'bluecoat';
|
||||||
}
|
}
|
||||||
|
|
||||||
sub os {
|
sub os {
|
||||||
@@ -65,7 +66,7 @@ sub os {
|
|||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $sg = shift;
|
my $sg = shift;
|
||||||
my $os_string = $sg->sw_ver();
|
my $os_string = $sg->sw_ver();
|
||||||
if ($os_string =~ /^Version:\s(\w+)\s([\d\.]+)/) {
|
if (defined ($os_string) && $os_string =~ /^Version:\s(\w+)\s([\d\.]+)/) {
|
||||||
return $2;
|
return $2;
|
||||||
} else {
|
} else {
|
||||||
return ''; # perhaps we can try sysDescr or some other object...
|
return ''; # perhaps we can try sysDescr or some other object...
|
||||||
@@ -92,7 +93,7 @@ Jeroen van Ingen
|
|||||||
Debug => 1,
|
Debug => 1,
|
||||||
DestHost => 'myrouter',
|
DestHost => 'myrouter',
|
||||||
Community => 'public',
|
Community => 'public',
|
||||||
Version => 1
|
Version => 2
|
||||||
)
|
)
|
||||||
or die "Can't connect to DestHost.\n";
|
or die "Can't connect to DestHost.\n";
|
||||||
|
|
||||||
@@ -113,10 +114,10 @@ Subclass for Blue Coat SG Series proxy devices
|
|||||||
|
|
||||||
=head2 Required MIBs
|
=head2 Required MIBs
|
||||||
|
|
||||||
BLUECOAT-SG-PROXY-MIB
|
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item F<BLUECOAT-SG-PROXY-MIB>
|
||||||
|
|
||||||
=item Inherited Classes' MIBs
|
=item Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
@@ -133,7 +134,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $router->vendor()
|
=item $router->vendor()
|
||||||
|
|
||||||
Returns C<'Blue Coat'>
|
Returns C<'bluecoat'>
|
||||||
|
|
||||||
=item $router->os()
|
=item $router->os()
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::C3550
|
# SNMP::Info::Layer3::C3550
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
|
# Copyright (c) 2008-2009 Max Baker changes from version 0.8 and beyond.
|
||||||
# Copyright (c) 2004 Regents of the University of California
|
# Copyright (c) 2004 Regents of the University of California
|
||||||
@@ -37,7 +36,7 @@ use Exporter;
|
|||||||
use SNMP::Info::CiscoStack;
|
use SNMP::Info::CiscoStack;
|
||||||
use SNMP::Info::Layer3::CiscoSwitch;
|
use SNMP::Info::Layer3::CiscoSwitch;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
# NOTE : Top-most items gets precedence for @ISA
|
# NOTE : Top-most items gets precedence for @ISA
|
||||||
@SNMP::Info::Layer3::C3550::ISA = qw/
|
@SNMP::Info::Layer3::C3550::ISA = qw/
|
||||||
@@ -47,7 +46,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
|||||||
|
|
||||||
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
# NOTE: Order creates precedence
|
# NOTE: Order creates precedence
|
||||||
# Example: v_name exists in Bridge.pm and CiscoVTP.pm
|
# Example: v_name exists in Bridge.pm and CiscoVTP.pm
|
||||||
@@ -105,7 +104,7 @@ sub ports {
|
|||||||
return $ports;
|
return $ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
# Verions prior to 12.1(22)EA1a use the older CiscoStack method
|
# Versions prior to 12.1(22)EA1a use the older CiscoStack method
|
||||||
# Newer versions use the ETHERLIKE-MIB to report operational duplex.
|
# Newer versions use the ETHERLIKE-MIB to report operational duplex.
|
||||||
# See http://www.ciscosystems.com/en/US/products/hw/switches/ps646/prod_release_note09186a00802a08ee.html
|
# See http://www.ciscosystems.com/en/US/products/hw/switches/ps646/prod_release_note09186a00802a08ee.html
|
||||||
|
|
||||||
@@ -228,11 +227,6 @@ These devices run IOS but have some of the same characteristics as the
|
|||||||
Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in
|
Catalyst WS-C family (5xxx,6xxx). For example, forwarding tables are held in
|
||||||
VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
|
VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $c3550 = new SNMP::Info::Layer3::C3550(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
@@ -304,7 +298,7 @@ Software version 12.1(22)EA1a or greater returns duplex based upon the
|
|||||||
result of $c3550->el_duplex(). Otherwise it uses the result of
|
result of $c3550->el_duplex(). Otherwise it uses the result of
|
||||||
the call to CiscoStack::i_duplex().
|
the call to CiscoStack::i_duplex().
|
||||||
|
|
||||||
See L<SNMP::Info::Etherlike> for el_duplex() method and
|
See L<SNMP::Info::EtherLike> for el_duplex() method and
|
||||||
L<SNMP::Info::CiscoStack> for its i_duplex() method.
|
L<SNMP::Info::CiscoStack> for its i_duplex() method.
|
||||||
|
|
||||||
=item $c3550->i_duplex_admin()
|
=item $c3550->i_duplex_admin()
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::C4000
|
# SNMP::Info::Layer3::C4000
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Bill Fenner
|
# Copyright (c) 2008 Bill Fenner
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -42,9 +41,9 @@ use SNMP::Info::MAU;
|
|||||||
Exporter/;
|
Exporter/;
|
||||||
@SNMP::Info::Layer3::C4000::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::C4000::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MAU::MIBS,
|
%SNMP::Info::MAU::MIBS,
|
||||||
@@ -129,11 +128,6 @@ Bill Fenner
|
|||||||
|
|
||||||
Abstraction subclass for Cisco Catalyst 4000 Layer 2/3 Switches.
|
Abstraction subclass for Cisco Catalyst 4000 Layer 2/3 Switches.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $c4000 = new SNMP::Info::Layer3::C4000(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::C6500
|
# SNMP::Info::Layer3::C6500
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008-2009 Max Baker
|
# Copyright (c) 2008-2009 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -37,7 +36,7 @@ use SNMP::Info::CiscoStack;
|
|||||||
use SNMP::Info::Layer3::CiscoSwitch;
|
use SNMP::Info::Layer3::CiscoSwitch;
|
||||||
use SNMP::Info::MAU;
|
use SNMP::Info::MAU;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
# NOTE : Top-most items gets precedence for @ISA
|
# NOTE : Top-most items gets precedence for @ISA
|
||||||
@SNMP::Info::Layer3::C6500::ISA = qw/
|
@SNMP::Info::Layer3::C6500::ISA = qw/
|
||||||
@@ -49,9 +48,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
|||||||
|
|
||||||
@SNMP::Info::Layer3::C6500::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::C6500::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
$VERSION = '3.66';
|
|
||||||
|
|
||||||
# NOTE: Order creates precedence
|
# NOTE: Order creates precedence
|
||||||
# Example: v_name exists in Bridge.pm and CiscoVTP.pm
|
# Example: v_name exists in Bridge.pm and CiscoVTP.pm
|
||||||
@@ -188,7 +185,7 @@ sub set_i_duplex_admin {
|
|||||||
# 2. Disable ifMauAutoNegAdminStatus
|
# 2. Disable ifMauAutoNegAdminStatus
|
||||||
# If the second set is not done, this is not going to be
|
# If the second set is not done, this is not going to be
|
||||||
# working... Cisco Bug id CSCty97033.
|
# working... Cisco Bug id CSCty97033.
|
||||||
# SXI is not working (up to at least relase SXI9).
|
# SXI is not working (up to at least release SXI9).
|
||||||
# SXJ is working at SXJ3 (not before).
|
# SXJ is working at SXJ3 (not before).
|
||||||
|
|
||||||
return $c6500->mau_set_i_duplex_admin( $duplex, $iid );
|
return $c6500->mau_set_i_duplex_admin( $duplex, $iid );
|
||||||
@@ -226,7 +223,7 @@ sub set_i_speed_admin {
|
|||||||
# 2. Disable ifMauAutoNegAdminStatus
|
# 2. Disable ifMauAutoNegAdminStatus
|
||||||
# If the second set is not done, this is not going to be working...
|
# If the second set is not done, this is not going to be working...
|
||||||
# Cisco Bug id CSCty97033.
|
# Cisco Bug id CSCty97033.
|
||||||
# SXI is not working (at least up to relase SXI9).
|
# SXI is not working (at least up to release SXI9).
|
||||||
# SXJ is working at SXJ3 (not before).
|
# SXJ is working at SXJ3 (not before).
|
||||||
|
|
||||||
return $c6500->mau_set_i_speed_admin( $speed, $iid );
|
return $c6500->mau_set_i_speed_admin( $speed, $iid );
|
||||||
@@ -244,7 +241,8 @@ __END__
|
|||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
SNMP::Info::Layer3::C6500 - SNMP Interface to Cisco Catalyst 6500 Layer 2/3
|
SNMP::Info::Layer3::C6500 - SNMP Interface to Cisco Catalyst 6500 Layer 2/3
|
||||||
Switches running IOS and/or CatOS
|
Switches running IOS and/or CatOS. Also Cisco Catalyst 2960, 2970, 3750 and
|
||||||
|
3850 series and blade switch CBS30x0 and CBS31x0 series running IOS.
|
||||||
|
|
||||||
=head1 AUTHOR
|
=head1 AUTHOR
|
||||||
|
|
||||||
@@ -274,10 +272,9 @@ These devices run IOS but have some of the same characteristics as the
|
|||||||
Catalyst WS-C family (5xxx). For example, forwarding tables are held in
|
Catalyst WS-C family (5xxx). For example, forwarding tables are held in
|
||||||
VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
|
VLANs, and extended interface information is gleaned from F<CISCO-SWITCH-MIB>.
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
It also supports the following IOS only series switches: Cisco Catalyst 2960,
|
||||||
after determining a more specific class using the method above.
|
2970, 3750 and 3850 series. Also blade switches from the CBS30x0 and CBS31x0
|
||||||
|
series.
|
||||||
my $c6500 = new SNMP::Info::Layer3::C6500(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
@@ -295,6 +292,8 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item F<CISCO-VIRTUAL-SWITCH-MIB>
|
||||||
|
|
||||||
=item Inherited Classes' MIBs
|
=item Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::CiscoStack/"Required MIBs"> for its own MIB requirements.
|
||||||
@@ -314,7 +313,7 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $c6500->vendor()
|
=item $c6500->vendor()
|
||||||
|
|
||||||
Returns 'cisco'
|
Returns 'cisco'
|
||||||
|
|
||||||
=item $c6500->cvsSwitchMode()
|
=item $c6500->cvsSwitchMode()
|
||||||
|
|
||||||
@@ -359,7 +358,7 @@ Newer software versions return duplex based upon the result of
|
|||||||
$c6500->el_duplex(). Otherwise it uses the result of the call to
|
$c6500->el_duplex(). Otherwise it uses the result of the call to
|
||||||
CiscoStack::i_duplex().
|
CiscoStack::i_duplex().
|
||||||
|
|
||||||
See L<SNMP::Info::Etherlike> for el_duplex() method and
|
See L<SNMP::Info::EtherLike> for el_duplex() method and
|
||||||
L<SNMP::Info::CiscoStack> for its i_duplex() method.
|
L<SNMP::Info::CiscoStack> for its i_duplex() method.
|
||||||
|
|
||||||
=item $c6500->i_duplex_admin()
|
=item $c6500->i_duplex_admin()
|
||||||
@@ -399,13 +398,11 @@ Crosses $c6500->p_port() with $c6500->p_speed() to utilize port C<ifIndex>.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoStack/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::CiscoStack/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch
|
=head2 Table Methods imported from SNMP::Info::Layer3::CiscoSwitch
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3::CiscoSwitch/"TABLE METHODS"> for
|
See documentation in L<SNMP::Info::Layer3::CiscoSwitch/"TABLE METHODS"> for
|
||||||
details.
|
details.
|
||||||
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::MAU
|
=head2 Table Methods imported from SNMP::Info::MAU
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::MAU/"TABLE METHODS"> for details.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::CheckPoint
|
# SNMP::Info::Layer3::CheckPoint
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Bill Fenner
|
# Copyright (c) 2008 Bill Fenner
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,20 +30,19 @@
|
|||||||
package SNMP::Info::Layer3::CheckPoint;
|
package SNMP::Info::Layer3::CheckPoint;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer3::CheckPoint::ISA = qw/SNMP::Info::LLDP SNMP::Info::Layer3 Exporter/;
|
@SNMP::Info::Layer3::CheckPoint::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::CheckPoint::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::CheckPoint::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
'CHECKPOINT-MIB' => 'fwProduct',
|
'CHECKPOINT-MIB' => 'fwProduct',
|
||||||
'UCD-SNMP-MIB' => 'versionTag',
|
'UCD-SNMP-MIB' => 'versionTag',
|
||||||
'NET-SNMP-TC' => 'netSnmpAliasDomain',
|
'NET-SNMP-TC' => 'netSnmpAliasDomain',
|
||||||
@@ -54,15 +52,16 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::Layer3::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
'netsnmp_vers' => 'versionTag',
|
'netsnmp_vers' => 'versionTag',
|
||||||
'hrSystemUptime' => 'hrSystemUptime',
|
'hrSystemUptime' => 'hrSystemUptime',
|
||||||
|
'serial_number' => 'svnApplianceSerialNumber',
|
||||||
|
'product_name' => 'svnApplianceProductName',
|
||||||
|
'manufacturer' => 'svnApplianceManufacturer',
|
||||||
|
'version' => 'svnVersion',
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::Layer3::FUNCS,
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
|
|
||||||
# Net-SNMP Extend table that could but customize to add a the CheckPoint version
|
# Net-SNMP Extend table that could but customize to add a the CheckPoint version
|
||||||
'extend_output_table' => 'nsExtendOutputFull',
|
'extend_output_table' => 'nsExtendOutputFull',
|
||||||
@@ -70,11 +69,16 @@ $VERSION = '3.66';
|
|||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::Layer3::MUNGE,
|
%SNMP::Info::Layer3::MUNGE,
|
||||||
%SNMP::Info::LLDP::MUNGE,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
sub vendor {
|
sub vendor {
|
||||||
return 'checkpoint';
|
my $ckp = shift;
|
||||||
|
|
||||||
|
if (defined $ckp->manufacturer) {
|
||||||
|
return lc $ckp->manufacturer;
|
||||||
|
} else {
|
||||||
|
return 'checkpoint';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sub model {
|
sub model {
|
||||||
@@ -83,7 +87,9 @@ sub model {
|
|||||||
|
|
||||||
my $model = &SNMP::translateObj($id);
|
my $model = &SNMP::translateObj($id);
|
||||||
|
|
||||||
if (defined $model) {
|
if (defined $ckp->product_name) {
|
||||||
|
return $ckp->product_name;
|
||||||
|
} elsif (defined $model) {
|
||||||
$model =~ s/^checkPoint//;
|
$model =~ s/^checkPoint//;
|
||||||
return $model;
|
return $model;
|
||||||
} else {
|
} else {
|
||||||
@@ -97,41 +103,48 @@ sub os {
|
|||||||
|
|
||||||
sub os_ver {
|
sub os_ver {
|
||||||
my $ckp = shift;
|
my $ckp = shift;
|
||||||
my $extend_table = $ckp->extend_output_table() || {};
|
if (defined $ckp->version) {
|
||||||
|
return $ckp->version;
|
||||||
|
} else {
|
||||||
|
my $extend_table = $ckp->extend_output_table() || {};
|
||||||
|
|
||||||
my $descr = $ckp->description();
|
my $descr = $ckp->description();
|
||||||
my $vers = $ckp->netsnmp_vers();
|
my $vers = $ckp->netsnmp_vers();
|
||||||
my $os_ver = undef;
|
my $os_ver = undef;
|
||||||
|
|
||||||
foreach my $ex (keys %$extend_table) {
|
foreach my $ex (keys %$extend_table) {
|
||||||
(my $name = pack('C*',split(/\./,$ex))) =~ s/[^[:print:]]//g;
|
(my $name = pack('C*',split(/\./,$ex))) =~ s/[^[:print:]]//g;
|
||||||
if ($name eq 'ckpVersion') {
|
if ($name eq 'ckpVersion') {
|
||||||
return $1 if ($extend_table->{$ex} =~ /^This is Check Point's software version (.*)$/);
|
return $1 if ($extend_table->{$ex} =~ /^This is Check Point's software version (.*)$/);
|
||||||
last;
|
last;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$os_ver = $1 if ( $descr =~ /^\S+\s+\S+\s+(\S+)\s+/ );
|
$os_ver = $1 if ( $descr =~ /^\S+\s+\S+\s+(\S+)\s+/ );
|
||||||
if ($vers) {
|
if ($vers) {
|
||||||
$os_ver = "???" unless defined($os_ver);
|
$os_ver = "???" unless defined($os_ver);
|
||||||
$os_ver .= " / Net-SNMP " . $vers;
|
$os_ver .= " / Net-SNMP " . $vers;
|
||||||
|
}
|
||||||
|
return $os_ver;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $os_ver;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub serial {
|
sub serial {
|
||||||
my $ckp = shift;
|
my $ckp = shift;
|
||||||
my $extend_table = $ckp->extend_output_table() || {};
|
|
||||||
|
|
||||||
foreach my $ex (keys %$extend_table) {
|
if (defined $ckp->serial_number) {
|
||||||
(my $name = pack('C*',split(/\./,$ex))) =~ s/[^[:print:]]//g;
|
return $ckp->serial_number;
|
||||||
if ($name eq 'ckpAsset') {
|
} else {
|
||||||
return $1 if ($extend_table->{$ex} =~ /Serial Number: (\S+)/);
|
my $extend_table = $ckp->extend_output_table() || {};
|
||||||
last;
|
|
||||||
|
foreach my $ex (keys %$extend_table) {
|
||||||
|
(my $name = pack('C*',split(/\./,$ex))) =~ s/[^[:print:]]//g;
|
||||||
|
if ($name eq 'ckpAsset') {
|
||||||
|
return $1 if ($extend_table->{$ex} =~ /Serial Number: (\S+)/);
|
||||||
|
last;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -199,11 +212,13 @@ Ambroise Rosset
|
|||||||
|
|
||||||
=head1 DESCRIPTION
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
Subclass for Generic Net-SNMP devices
|
Subclass for CheckPoint Devices.
|
||||||
|
|
||||||
=head2 WARNING
|
=head2 WARNING
|
||||||
|
|
||||||
To correctly and completelly work, you should add the following line in the file C</etc/snmp/snmpd.local.conf> on each of your CheckPoint devices:
|
To correctly and completely work on IPSO based devices, you should
|
||||||
|
add the following line in the file C</etc/snmp/snmpd.local.conf> on each
|
||||||
|
of your CheckPoint devices:
|
||||||
|
|
||||||
# Netdisco SNMP configuration
|
# Netdisco SNMP configuration
|
||||||
extend ckpVersion /opt/CPsuite-R77/fw1/bin/fw ver
|
extend ckpVersion /opt/CPsuite-R77/fw1/bin/fw ver
|
||||||
@@ -221,8 +236,12 @@ To correctly and completelly work, you should add the following line in the file
|
|||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
|
=item F<CHECKPOINT-MIB>
|
||||||
|
|
||||||
=item F<UCD-SNMP-MIB>
|
=item F<UCD-SNMP-MIB>
|
||||||
|
|
||||||
|
=item F<NET-SNMP-EXTEND-MIB>
|
||||||
|
|
||||||
=item F<NET-SNMP-TC>
|
=item F<NET-SNMP-TC>
|
||||||
|
|
||||||
=item F<HOST-RESOURCES-MIB>
|
=item F<HOST-RESOURCES-MIB>
|
||||||
@@ -231,8 +250,6 @@ To correctly and completelly work, you should add the following line in the file
|
|||||||
|
|
||||||
See L<SNMP::Info::Layer3> for its own MIB requirements.
|
See L<SNMP::Info::Layer3> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::LLDP> for its own MIB requirements.
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
@@ -243,11 +260,12 @@ These are methods that return scalar value from SNMP
|
|||||||
|
|
||||||
=item $ckp->vendor()
|
=item $ckp->vendor()
|
||||||
|
|
||||||
Returns 'checkpoint'.
|
Returns C<svnApplianceManufacturer> in lowercase, else 'checkpoint'.
|
||||||
|
|
||||||
=item $ckp->model()
|
=item $ckp->model()
|
||||||
|
|
||||||
Return the model type of the CheckPoint device (Based on the sysObjectOID translation).
|
Returns C<svnApplianceProductName>, else the model type based on the
|
||||||
|
sysObjectOID translation.
|
||||||
|
|
||||||
=item $ckp->os()
|
=item $ckp->os()
|
||||||
|
|
||||||
@@ -255,8 +273,8 @@ Returns the OS extracted from C<sysDescr>.
|
|||||||
|
|
||||||
=item $ckp->os_ver()
|
=item $ckp->os_ver()
|
||||||
|
|
||||||
Returns the software version extracted from C<sysDescr>, along
|
Returns C<svnVersion>, else the software version is extracted from
|
||||||
with the Net-SNMP version.
|
C<sysDescr>, along with the Net-SNMP version.
|
||||||
|
|
||||||
=item $ckp->uptime()
|
=item $ckp->uptime()
|
||||||
|
|
||||||
@@ -266,8 +284,9 @@ are based on agent uptime, so use orig_uptime().
|
|||||||
|
|
||||||
=item $ckp->serial()
|
=item $ckp->serial()
|
||||||
|
|
||||||
Return the serial number of the device if the SNMP server is configured as indicated previously.
|
Returns <svnApplianceSerialNumber>, else the serial number of the
|
||||||
Return '' in other case.
|
device if the SNMP server is configured as indicated previously.
|
||||||
|
Returns '' in other case.
|
||||||
|
|
||||||
=item $ckp->layers()
|
=item $ckp->layers()
|
||||||
|
|
||||||
@@ -279,10 +298,6 @@ Return '01001100'.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3> for details.
|
See documentation in L<SNMP::Info::Layer3> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP> for details.
|
|
||||||
|
|
||||||
=head1 TABLE ENTRIES
|
=head1 TABLE ENTRIES
|
||||||
|
|
||||||
These are methods that return tables of information in the form of a reference
|
These are methods that return tables of information in the form of a reference
|
||||||
@@ -304,12 +319,12 @@ Ignores loopback
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3> for details.
|
See documentation in L<SNMP::Info::Layer3> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP> for details.
|
|
||||||
|
|
||||||
=head1 NOTES
|
=head1 NOTES
|
||||||
|
|
||||||
|
If your device is not recognized by SNMP::Info as being in the class
|
||||||
|
L<SNMP::Info::Layer3::CheckPoint> you might need additional snmp
|
||||||
|
configuration on the CheckPoint device.
|
||||||
|
|
||||||
In order to cause SNMP::Info to classify your device into this class, it
|
In order to cause SNMP::Info to classify your device into this class, it
|
||||||
may be necessary to put a configuration line into your F<snmpd.conf>
|
may be necessary to put a configuration line into your F<snmpd.conf>
|
||||||
similar to
|
similar to
|
||||||
|
|||||||
325
lib/SNMP/Info/Layer3/Ciena.pm
Normal file
325
lib/SNMP/Info/Layer3/Ciena.pm
Normal file
@@ -0,0 +1,325 @@
|
|||||||
|
# SNMP::Info::Layer3::Ciena - SNMP Interface to Ciena 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::Ciena;
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Exporter;
|
||||||
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
|
@SNMP::Info::Layer3::Ciena::ISA = qw/SNMP::Info::Layer3 Exporter/;
|
||||||
|
@SNMP::Info::Layer3::Ciena::EXPORT_OK = qw//;
|
||||||
|
|
||||||
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
|
%MIBS = (
|
||||||
|
%SNMP::Info::Layer3::MIBS,
|
||||||
|
'WWP-LEOS-SW-XGRADE-MIB' => 'wwpLeosBladeRunPackageVer',
|
||||||
|
'WWP-LEOS-BLADE-MIB' => 'wwpLeosBladeId',
|
||||||
|
'WWP-LEOS-CHASSIS-MIB' => 'wwpLeosChassisDeviceId',
|
||||||
|
'WWP-LEOS-FLOW-MIB' => 'wwpLeosFlowLearnType',
|
||||||
|
'WWP-LEOS-PORT-MIB' => 'wwpLeosEtherIngressPvid',
|
||||||
|
'WWP-LEOS-VLAN-TAG-MIB' => 'wwpLeosNumVlans',
|
||||||
|
'WWP-PRODUCTS-MIB' => 'wwpProductsMIB'
|
||||||
|
);
|
||||||
|
|
||||||
|
%GLOBALS = (
|
||||||
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
|
'ciena_serial' => 'wwpLeosSystemSerialNumber',
|
||||||
|
'mac' => 'dot1dBaseBridgeAddress'
|
||||||
|
);
|
||||||
|
|
||||||
|
%FUNCS = (
|
||||||
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
|
'v_name' => 'wwpLeosVlanName',
|
||||||
|
'ps_type' => 'wwpLeosChassisPowerSupplyType',
|
||||||
|
'ps_status' => 'wwpLeosChassisPowerSupplyState',
|
||||||
|
'ps_name' => 'wwpLeosChassisPowerSupplyModuleLabel',
|
||||||
|
'fan_type' => 'wwpLeosChassisFanModuleType',
|
||||||
|
'fan_status' => 'wwpLeosChassisFanModuleStatus',
|
||||||
|
'fan_name' => 'wwpLeosChassisFanModuleNum'
|
||||||
|
);
|
||||||
|
|
||||||
|
%MUNGE = (
|
||||||
|
%SNMP::Info::Layer3::MUNGE
|
||||||
|
);
|
||||||
|
|
||||||
|
sub vendor {
|
||||||
|
return 'ciena';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os {
|
||||||
|
return 'saos';
|
||||||
|
}
|
||||||
|
|
||||||
|
sub os_ver {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $version = $ciena->wwpLeosBladeRunPackageVer || {};
|
||||||
|
return values(%$version);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub serial {
|
||||||
|
my $ciena = shift;
|
||||||
|
return $ciena->ciena_serial();
|
||||||
|
}
|
||||||
|
|
||||||
|
# Override lldp_if function to translate the port with bp_index
|
||||||
|
sub lldp_if {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $lldp = $ciena->SUPER::lldp_if;
|
||||||
|
my $bp_index = $ciena->bp_index;
|
||||||
|
foreach my $iface (keys %$lldp) {
|
||||||
|
my $orig_iface = $lldp->{$iface};
|
||||||
|
$lldp->{$iface} = $bp_index->{$orig_iface};
|
||||||
|
}
|
||||||
|
return $lldp;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub i_vlan {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $i_vlan = {};
|
||||||
|
my $pvid = $ciena->wwpLeosEtherIngressPvid() || undef;
|
||||||
|
|
||||||
|
# bp_index needed to resolve correct port id
|
||||||
|
my $bp_index = $ciena->bp_index;
|
||||||
|
if (defined $pvid) {
|
||||||
|
foreach my $i (keys %$pvid) {
|
||||||
|
$i_vlan->{$bp_index->{$i}} = $pvid->{$i};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $i_vlan;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub i_vlan_membership {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $i_vlan_membership = {};
|
||||||
|
|
||||||
|
my $vlans = $ciena->wwpLeosVlanMemberPortId();
|
||||||
|
# bp_index needed to resolve correct port id
|
||||||
|
my $bp_index = $ciena->bp_index;
|
||||||
|
foreach my $vlan (keys %$vlans) {
|
||||||
|
push @{$i_vlan_membership->{$bp_index->{$vlans->{$vlan}}}} , (split(/\./,$vlan))[0];
|
||||||
|
}
|
||||||
|
return $i_vlan_membership;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub qb_fw_vlan {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $qb_fw_vlan = {};
|
||||||
|
my $learn_entries = $ciena->wwpLeosFlowLearnType();
|
||||||
|
foreach my $entry (keys %$learn_entries) {
|
||||||
|
my @params = (split(/\./, $entry));
|
||||||
|
$qb_fw_vlan->{join('.', @params[1..6])} = $params[8];
|
||||||
|
}
|
||||||
|
return $qb_fw_vlan;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub fan {
|
||||||
|
my $ciena = shift;
|
||||||
|
|
||||||
|
my $fan_status = $ciena->fan_status || {};
|
||||||
|
my $fan_type = $ciena->fan_type;
|
||||||
|
my $fan_name = $ciena->fan_name;
|
||||||
|
my @messages;
|
||||||
|
|
||||||
|
foreach my $fan (keys %$fan_status) {
|
||||||
|
if ($fan_status->{$fan} ne "ok") {
|
||||||
|
push @messages, sprintf("%s fan %s failed.", $fan_type->{$fan}, $fan_name->{$fan});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return sprintf("%s fans OK", scalar keys %$fan_status) if scalar @messages == 0;
|
||||||
|
|
||||||
|
return join(", ", @messages);
|
||||||
|
}
|
||||||
|
sub ps1_type {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $ps_type = $ciena->ps_type;
|
||||||
|
return $ps_type->{'1'} if defined $ps_type->{'1'};
|
||||||
|
}
|
||||||
|
|
||||||
|
sub ps1_status {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $ps_status = $ciena->ps_status;
|
||||||
|
return $ps_status->{'1'} if defined $ps_status->{'1'};
|
||||||
|
}
|
||||||
|
sub ps2_type {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $ps_type = $ciena->ps_type;
|
||||||
|
return $ps_type->{'2'} if defined $ps_type->{'2'};
|
||||||
|
}
|
||||||
|
|
||||||
|
sub ps2_status {
|
||||||
|
my $ciena = shift;
|
||||||
|
my $ps_status = $ciena->ps_status;
|
||||||
|
return $ps_status->{'2'} if defined $ps_status->{'2'};
|
||||||
|
}
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
Subclass for Ciena Devices running SAOS
|
||||||
|
|
||||||
|
=head2 Inherited Classes
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item SNMP::Info::Layer3
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head2 Required MIBs
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item F<WWP-LEOS-SW-XGRADE-MIB>
|
||||||
|
|
||||||
|
=item F<WWP-LEOS-BLADE-MIB>
|
||||||
|
|
||||||
|
=item F<WWP-LEOS-CHASSIS-MIB>
|
||||||
|
|
||||||
|
=item F<WWP-LEOS-FLOW-MIB>
|
||||||
|
|
||||||
|
=item F<WWP-LEOS-PORT-MIB>
|
||||||
|
|
||||||
|
=item F<WWP-LEOS-VLAN-TAG-MIB>
|
||||||
|
|
||||||
|
=item F<WWP-PRODUCTS-MIB>
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head2 Inherited Classes' MIBs
|
||||||
|
|
||||||
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
|
=head1 GLOBALS
|
||||||
|
|
||||||
|
These are methods that return scalar value from SNMP
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $ciena->vendor()
|
||||||
|
|
||||||
|
Returns 'ciena'
|
||||||
|
|
||||||
|
=item $ciena->os()
|
||||||
|
|
||||||
|
Returns 'saos'
|
||||||
|
|
||||||
|
=item $ciena->os_ver()
|
||||||
|
|
||||||
|
Returns the running software package extracted with C<wwpLeosBladeRunPackageVer>
|
||||||
|
|
||||||
|
=item $ciena->serial()
|
||||||
|
|
||||||
|
Returns serial number
|
||||||
|
(C<wwpLeosSystemSerialNumber>)
|
||||||
|
|
||||||
|
=item $ciena->mac()
|
||||||
|
|
||||||
|
Returns the MAC address used by this bridge when it must be referred
|
||||||
|
to in a unique fashion.
|
||||||
|
|
||||||
|
(C<dot1dBaseBridgeAddress>)
|
||||||
|
|
||||||
|
=item $huawei->fan()
|
||||||
|
|
||||||
|
Return the status of all fans. Returns a string indicating the number of fans 'OK' or
|
||||||
|
identification of any fan without a 'normal' operating status.
|
||||||
|
|
||||||
|
=item $ciena->ps1_status()
|
||||||
|
|
||||||
|
Return the status of the first power supply
|
||||||
|
|
||||||
|
=item $ciena->ps1_type()
|
||||||
|
|
||||||
|
Return the type of the first power supply
|
||||||
|
|
||||||
|
=item $ciena->ps2_status()
|
||||||
|
|
||||||
|
Return the status of the second power supply
|
||||||
|
|
||||||
|
=item $ciena->ps2_type()
|
||||||
|
|
||||||
|
Return the type of the second power supply
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head2 Globals imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
|
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
||||||
|
|
||||||
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
|
These are methods that return tables of information in the form of a reference
|
||||||
|
to a hash.
|
||||||
|
|
||||||
|
=over
|
||||||
|
|
||||||
|
=item $ciena->lldp_if()
|
||||||
|
|
||||||
|
Returns the mapping to the SNMP Interface Table. Overridden to translate to correct ethernet port with bp_index
|
||||||
|
|
||||||
|
=item $ciena->i_vlan()
|
||||||
|
|
||||||
|
Returns a mapping between C<ifIndex> and the PVID or default VLAN.
|
||||||
|
|
||||||
|
=item $ciena->i_vlan_membership()
|
||||||
|
|
||||||
|
Returns reference to hash of arrays: key = C<ifIndex>, value = array of VLAN
|
||||||
|
IDs.
|
||||||
|
|
||||||
|
=item $ciena->qb_fw_vlan()
|
||||||
|
|
||||||
|
Returns reference to hash of forwarding table entries VLAN ID, using C<wwpLeosFlowLearnType>
|
||||||
|
|
||||||
|
=item $ciena->ps_name()
|
||||||
|
|
||||||
|
Returns reference to hash of the power supplies and their names.
|
||||||
|
|
||||||
|
=item $ciena->ps_type()
|
||||||
|
|
||||||
|
Returns reference to hash of the power supplies and their type (ex. AC, DC, etc.)
|
||||||
|
|
||||||
|
=item $ciena->ps_status()
|
||||||
|
|
||||||
|
Returns reference to hash of the power supplies and their status.
|
||||||
|
|
||||||
|
=item $ciena->fan_name()
|
||||||
|
|
||||||
|
Returns reference to hash of fans and their names. In this case, it is simply a number.
|
||||||
|
|
||||||
|
=item $ciena->fan_type()
|
||||||
|
|
||||||
|
Returns reference to hash of fans and their types (ex. fixed, modular, etc.)
|
||||||
|
|
||||||
|
=item $ciena->fan_status)
|
||||||
|
|
||||||
|
Returns reference to hash of fans and their status
|
||||||
|
|
||||||
|
=back
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::Cisco
|
# SNMP::Info::Layer3::Cisco
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2008 Max Baker
|
# Copyright (c) 2008 Max Baker
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -34,7 +33,6 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info::CiscoVTP;
|
use SNMP::Info::CiscoVTP;
|
||||||
use SNMP::Info::LLDP;
|
|
||||||
use SNMP::Info::CDP;
|
use SNMP::Info::CDP;
|
||||||
use SNMP::Info::CiscoStats;
|
use SNMP::Info::CiscoStats;
|
||||||
use SNMP::Info::CiscoRTT;
|
use SNMP::Info::CiscoRTT;
|
||||||
@@ -45,7 +43,7 @@ use SNMP::Info::CiscoStpExtensions;
|
|||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
|
|
||||||
@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP
|
@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP
|
||||||
SNMP::Info::LLDP SNMP::Info::CDP
|
SNMP::Info::CDP
|
||||||
SNMP::Info::CiscoStats SNMP::Info::CiscoRTT
|
SNMP::Info::CiscoStats SNMP::Info::CiscoRTT
|
||||||
SNMP::Info::CiscoQOS SNMP::Info::CiscoConfig
|
SNMP::Info::CiscoQOS SNMP::Info::CiscoConfig
|
||||||
SNMP::Info::CiscoPower SNMP::Info::CiscoStpExtensions
|
SNMP::Info::CiscoPower SNMP::Info::CiscoStpExtensions
|
||||||
@@ -53,9 +51,9 @@ use SNMP::Info::Layer3;
|
|||||||
Exporter/;
|
Exporter/;
|
||||||
@SNMP::Info::Layer3::Cisco::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::Cisco::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
@@ -66,7 +64,6 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::CiscoRTT::MIBS,
|
%SNMP::Info::CiscoRTT::MIBS,
|
||||||
%SNMP::Info::CiscoStats::MIBS,
|
%SNMP::Info::CiscoStats::MIBS,
|
||||||
%SNMP::Info::CDP::MIBS,
|
%SNMP::Info::CDP::MIBS,
|
||||||
%SNMP::Info::LLDP::MIBS,
|
|
||||||
%SNMP::Info::CiscoVTP::MIBS,
|
%SNMP::Info::CiscoVTP::MIBS,
|
||||||
'CISCO-EIGRP-MIB' => 'cEigrpAsRouterId',
|
'CISCO-EIGRP-MIB' => 'cEigrpAsRouterId',
|
||||||
);
|
);
|
||||||
@@ -80,7 +77,6 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::CiscoRTT::GLOBALS,
|
%SNMP::Info::CiscoRTT::GLOBALS,
|
||||||
%SNMP::Info::CiscoStats::GLOBALS,
|
%SNMP::Info::CiscoStats::GLOBALS,
|
||||||
%SNMP::Info::CDP::GLOBALS,
|
%SNMP::Info::CDP::GLOBALS,
|
||||||
%SNMP::Info::LLDP::GLOBALS,
|
|
||||||
%SNMP::Info::CiscoVTP::GLOBALS,
|
%SNMP::Info::CiscoVTP::GLOBALS,
|
||||||
'eigrp_id' => 'cEigrpAsRouterId',
|
'eigrp_id' => 'cEigrpAsRouterId',
|
||||||
);
|
);
|
||||||
@@ -94,13 +90,11 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::CiscoRTT::FUNCS,
|
%SNMP::Info::CiscoRTT::FUNCS,
|
||||||
%SNMP::Info::CiscoStats::FUNCS,
|
%SNMP::Info::CiscoStats::FUNCS,
|
||||||
%SNMP::Info::CDP::FUNCS,
|
%SNMP::Info::CDP::FUNCS,
|
||||||
%SNMP::Info::LLDP::FUNCS,
|
|
||||||
%SNMP::Info::CiscoVTP::FUNCS,
|
%SNMP::Info::CiscoVTP::FUNCS,
|
||||||
|
|
||||||
# CISCO-EIGRP-MIB::cEigrpPeerTable
|
# CISCO-EIGRP-MIB::cEigrpPeerTable
|
||||||
'c_eigrp_peer_types' => 'cEigrpPeerAddrType',
|
'c_eigrp_peer_types' => 'cEigrpPeerAddrType',
|
||||||
'c_eigrp_peers' => 'cEigrpPeerAddr',
|
'c_eigrp_peers' => 'cEigrpPeerAddr',
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
@@ -108,7 +102,7 @@ $VERSION = '3.66';
|
|||||||
%SNMP::Info::CiscoPower::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
|
%SNMP::Info::CiscoPower::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
|
||||||
%SNMP::Info::CiscoQOS::MUNGE, %SNMP::Info::CiscoRTT::MUNGE,
|
%SNMP::Info::CiscoQOS::MUNGE, %SNMP::Info::CiscoRTT::MUNGE,
|
||||||
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE,
|
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE,
|
||||||
%SNMP::Info::LLDP::MUNGE, %SNMP::Info::CiscoVTP::MUNGE,
|
%SNMP::Info::CiscoVTP::MUNGE,
|
||||||
);
|
);
|
||||||
|
|
||||||
sub i_vlan {
|
sub i_vlan {
|
||||||
@@ -214,8 +208,6 @@ for other device specific L3 Cisco classes.
|
|||||||
|
|
||||||
=item SNMP::Info::CiscoVTP
|
=item SNMP::Info::CiscoVTP
|
||||||
|
|
||||||
=item SNMP::Info::LLDP
|
|
||||||
|
|
||||||
=item SNMP::Info::CDP
|
=item SNMP::Info::CDP
|
||||||
|
|
||||||
=item SNMP::Info::CiscoStats
|
=item SNMP::Info::CiscoStats
|
||||||
@@ -244,8 +236,6 @@ for other device specific L3 Cisco classes.
|
|||||||
|
|
||||||
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::CiscoVTP/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::LLDP/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::CDP/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::CiscoStats/"Required MIBs"> for its own MIB requirements.
|
||||||
@@ -285,10 +275,6 @@ Determined by checking C<vtpVersion>.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::CiscoVTP/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::CDP
|
=head2 Globals imported from SNMP::Info::CDP
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::CDP/"GLOBALS"> for details.
|
||||||
@@ -344,10 +330,6 @@ Returns a mapping between C<ifIndex> and the PVID or default VLAN.
|
|||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::CiscoVTP/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::LLDP
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::CDP
|
=head2 Table Methods imported from SNMP::Info::CDP
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::CDP/"TABLE METHODS"> for details.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::CiscoASA
|
# SNMP::Info::Layer3::CiscoASA
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2013 Moe Kraus
|
# Copyright (c) 2013 Moe Kraus
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -43,9 +42,9 @@ use SNMP::Info::Layer3;
|
|||||||
Exporter/;
|
Exporter/;
|
||||||
@SNMP::Info::Layer3::CiscoASA::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::CiscoASA::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );
|
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );
|
||||||
|
|
||||||
@@ -113,7 +112,7 @@ Moe Kraus
|
|||||||
=head1 SYNOPSIS
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
# Let SNMP::Info determine the correct subclass for you.
|
# Let SNMP::Info determine the correct subclass for you.
|
||||||
my $cisco = new SNMP::Info(
|
my $asa = new SNMP::Info(
|
||||||
AutoSpecify => 1,
|
AutoSpecify => 1,
|
||||||
Debug => 1,
|
Debug => 1,
|
||||||
# These arguments are passed directly to SNMP::Session
|
# These arguments are passed directly to SNMP::Session
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::CiscoFWSM
|
# SNMP::Info::Layer3::CiscoFWSM
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2010 Brian De Wolf
|
# Copyright (c) 2010 Brian De Wolf
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -41,9 +40,9 @@ use SNMP::Info::Layer3;
|
|||||||
Exporter/;
|
Exporter/;
|
||||||
@SNMP::Info::Layer3::CiscoFWSM::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::CiscoFWSM::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );
|
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::CiscoSwitch
|
# SNMP::Info::Layer3::CiscoSwitch
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2014 Eric Miller
|
# Copyright (c) 2014 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -37,7 +36,7 @@ use SNMP::Info::CiscoAgg;
|
|||||||
use SNMP::Info::CiscoPortSecurity;
|
use SNMP::Info::CiscoPortSecurity;
|
||||||
use SNMP::Info::Layer3::Cisco;
|
use SNMP::Info::Layer3::Cisco;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
|
||||||
|
|
||||||
@SNMP::Info::Layer3::CiscoSwitch::ISA = qw/
|
@SNMP::Info::Layer3::CiscoSwitch::ISA = qw/
|
||||||
SNMP::Info::CiscoAgg
|
SNMP::Info::CiscoAgg
|
||||||
@@ -48,9 +47,7 @@ use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
|||||||
|
|
||||||
@SNMP::Info::Layer3::CiscoSwitch::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::CiscoSwitch::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %MIBS %FUNCS %MUNGE/;
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
$VERSION = '3.66';
|
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::Layer3::Cisco::MIBS,
|
%SNMP::Info::Layer3::Cisco::MIBS,
|
||||||
@@ -157,10 +154,6 @@ Returns 1. Use vlan indexing.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Global Methods imported from SNMP::Info::CiscoAgg
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoAgg/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::CiscoPortSecurity
|
=head2 Globals imported from SNMP::Info::CiscoPortSecurity
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::CiscoPortSecurity/"GLOBALS"> for details.
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
# SNMP::Info::Layer3::Contivity
|
# SNMP::Info::Layer3::Contivity
|
||||||
# $Id$
|
|
||||||
#
|
#
|
||||||
# Copyright (c) 2010 Eric Miller
|
# Copyright (c) 2010 Eric Miller
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
@@ -31,36 +30,32 @@
|
|||||||
package SNMP::Info::Layer3::Contivity;
|
package SNMP::Info::Layer3::Contivity;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
|
use warnings;
|
||||||
use Exporter;
|
use Exporter;
|
||||||
use SNMP::Info;
|
|
||||||
use SNMP::Info::Layer3;
|
use SNMP::Info::Layer3;
|
||||||
use SNMP::Info::Entity;
|
|
||||||
|
|
||||||
@SNMP::Info::Layer3::Contivity::ISA
|
@SNMP::Info::Layer3::Contivity::ISA
|
||||||
= qw/SNMP::Info SNMP::Info::Layer3 SNMP::Info::Entity Exporter/;
|
= qw/SNMP::Info::Layer3 Exporter/;
|
||||||
@SNMP::Info::Layer3::Contivity::EXPORT_OK = qw//;
|
@SNMP::Info::Layer3::Contivity::EXPORT_OK = qw//;
|
||||||
|
|
||||||
use vars qw/$VERSION %GLOBALS %FUNCS %MIBS %MUNGE/;
|
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
|
||||||
|
|
||||||
$VERSION = '3.66';
|
$VERSION = '3.70-135';
|
||||||
|
|
||||||
%MIBS = (
|
%MIBS = (
|
||||||
%SNMP::Info::MIBS, %SNMP::Info::Layer3::MIBS, %SNMP::Info::Entity::MIBS,
|
%SNMP::Info::Layer3::MIBS,
|
||||||
);
|
);
|
||||||
|
|
||||||
%GLOBALS = (
|
%GLOBALS = (
|
||||||
%SNMP::Info::GLOBALS, %SNMP::Info::Layer3::GLOBALS,
|
%SNMP::Info::Layer3::GLOBALS,
|
||||||
%SNMP::Info::Entity::GLOBALS,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%FUNCS = (
|
%FUNCS = (
|
||||||
%SNMP::Info::FUNCS, %SNMP::Info::Layer3::FUNCS,
|
%SNMP::Info::Layer3::FUNCS,
|
||||||
%SNMP::Info::Entity::FUNCS,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
%MUNGE = (
|
%MUNGE = (
|
||||||
%SNMP::Info::MUNGE, %SNMP::Info::Layer3::MUNGE,
|
%SNMP::Info::Layer3::MUNGE,
|
||||||
%SNMP::Info::Entity::MUNGE,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
sub layers {
|
sub layers {
|
||||||
@@ -189,21 +184,12 @@ Eric Miller
|
|||||||
Abstraction subclass for Avaya/Nortel VPN Routers (formerly Contivity
|
Abstraction subclass for Avaya/Nortel VPN Routers (formerly Contivity
|
||||||
Extranet Switch).
|
Extranet Switch).
|
||||||
|
|
||||||
For speed or debugging purposes you can call the subclass directly, but not
|
|
||||||
after determining a more specific class using the method above.
|
|
||||||
|
|
||||||
my $contivity = new SNMP::Info::Layer3::Contivity(...);
|
|
||||||
|
|
||||||
=head2 Inherited Classes
|
=head2 Inherited Classes
|
||||||
|
|
||||||
=over
|
=over
|
||||||
|
|
||||||
=item SNMP::Info
|
|
||||||
|
|
||||||
=item SNMP::Info::Layer3
|
=item SNMP::Info::Layer3
|
||||||
|
|
||||||
=item SNMP::Info::Entity
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Required MIBs
|
=head2 Required MIBs
|
||||||
@@ -212,12 +198,8 @@ after determining a more specific class using the method above.
|
|||||||
|
|
||||||
=item Inherited Classes' MIBs
|
=item Inherited Classes' MIBs
|
||||||
|
|
||||||
See L<SNMP::Info/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
See L<SNMP::Info::Layer3/"Required MIBs"> for its own MIB requirements.
|
||||||
|
|
||||||
See L<SNMP::Info::Entity/"Required MIBs"> for its own MIB requirements.
|
|
||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head1 GLOBALS
|
=head1 GLOBALS
|
||||||
@@ -238,7 +220,7 @@ Returns the chassis name.
|
|||||||
|
|
||||||
=item $contivity->os()
|
=item $contivity->os()
|
||||||
|
|
||||||
Returns C<'CES'>
|
Returns C<'contivity'>
|
||||||
|
|
||||||
=item $contivity->os_ver()
|
=item $contivity->os_ver()
|
||||||
|
|
||||||
@@ -267,18 +249,10 @@ layers.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Layer3
|
=head2 Globals imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
See documentation in L<SNMP::Info::Layer3/"GLOBALS"> for details.
|
||||||
|
|
||||||
=head2 Globals imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
|
|
||||||
|
|
||||||
=head1 TABLE METHODS
|
=head1 TABLE METHODS
|
||||||
|
|
||||||
These are methods that return tables of information in the form of a reference
|
These are methods that return tables of information in the form of a reference
|
||||||
@@ -299,16 +273,8 @@ Interface Name field. Skips loopback and tunnel interfaces.
|
|||||||
|
|
||||||
=back
|
=back
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Layer3
|
=head2 Table Methods imported from SNMP::Info::Layer3
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
See documentation in L<SNMP::Info::Layer3/"TABLE METHODS"> for details.
|
||||||
|
|
||||||
=head2 Table Methods imported from SNMP::Info::Entity
|
|
||||||
|
|
||||||
See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
|
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user