Compare commits

..

51 Commits
3.80 ... 3.89

Author SHA1 Message Date
Oliver Gorwits
c6c168733e release 3.89 2022-08-18 08:32:44 +01:00
Oliver Gorwits
c6a5c68657 add Regexp::Common to dependencies, fix tests for i_vlan_membership_untagged 2022-08-18 08:31:33 +01:00
Oliver Gorwits
f7d4a78f41 release 3.88 2022-08-17 22:51:16 +01:00
Oliver Gorwits
4b15add4ff add vlans to Juniper based on ifChassisLogicalUnit 2022-08-17 22:48:55 +01:00
Oliver Gorwits
9842bb2dc2 add i_subinterfaces to Layer3 2022-08-17 22:06:17 +01:00
Oliver Gorwits
a59af743a9 avoid exception when trying translateObj on .0.0 2022-08-17 15:38:55 +01:00
Oliver Gorwits
f65301f233 release 3.87 2022-08-12 17:29:37 +01:00
Oliver Gorwits
7fd2e31913 #462 SNMP::Info::Layer3::PaloAlto to include layer 2 2022-08-12 17:25:13 +01:00
Oliver Gorwits
c514baa9b2 don't think _lldp_loc_id_os needs underscore 2022-08-12 17:20:42 +01:00
Oliver Gorwits
ac18ab7b10 update changes 2022-08-12 17:19:08 +01:00
Christian Ramseyer
3acf12ada3 Fix merge of outdated $VERSION 2022-08-12 07:52:55 +02:00
Christian Ramseyer
ce60c79008 Make pae_control a GLOBAL instead of a FUNC 2022-08-12 07:48:16 +02:00
Christian Ramseyer
a665fe335b Add PortAccessEntity to Layer2.pm 2022-08-12 07:48:16 +02:00
Christian Ramseyer
ffb28b7e34 List PortAccessEntity in Info.pm 2022-08-12 07:48:16 +02:00
Christian Ramseyer
f09c705e71 Add POD for pae_authsess_mab() 2022-08-12 07:48:16 +02:00
Christian Ramseyer
3de22ad136 Initial commit of PortAccessEntity/IEEE8021-PAE-MIB module 2022-08-12 07:48:16 +02:00
Christian Ramseyer
d36ef515a6 Add SNMPv3 parameters to example code 2022-08-12 07:47:44 +02:00
Christian Ramseyer
75db1771b7 Add test for lldp_loc_id 2022-08-12 07:47:10 +02:00
Christian Ramseyer
4020a430f5 Expose lldLocChassisId as $lldp->lldp_loc_id #461
* also adds lldp_loc_id_type, mostly for decoding reasons
 * moved decode logic so it can be used for remote or local id
2022-08-12 07:47:10 +02:00
Christoph Neuhaus
d404cbd154 Update CiscoStats.pm
Cisco IOS-XE Version 17.3: Amsterdam
2022-08-11 21:04:41 +02:00
Oliver Gorwits
d5f68ca4e7 avoid error if juniper vlan not in bp_index 2022-08-11 04:57:42 +01:00
Oliver Gorwits
dc3d1e0b46 avoid error if juniper vlan not in bp_index 2022-08-10 17:32:16 -04:00
Oliver Gorwits
e885efa921 release 3.86 2022-08-10 09:18:39 +01:00
Oliver Gorwits
dcf2c0ee54 #468 Cisco dotted subinterfaces had incorrect vlan assigned 2022-08-10 09:17:31 +01:00
Oliver Gorwits
feaeba8be4 release 3.85 2022-08-02 17:28:10 +01:00
Oliver Gorwits
b4d19c937c Add i_subinterfaces for VLAN subinterfaces in CiscoVTP 2022-08-02 17:26:33 +01:00
Oliver Gorwits
7846cbce1a release 3.84 2022-07-04 16:46:54 +01:00
Oliver Gorwits
74b25e4c88 remove os() func not needed 2022-07-04 16:45:08 +01:00
Oliver Gorwits
ef2500dcc7 release 3.83 2022-07-04 16:33:01 +01:00
Oliver Gorwits
70379aaf6e add HW Group STE temp monitor class 2022-07-04 16:29:39 +01:00
Oliver Gorwits
4d471b38fb release 3.82 2022-03-16 17:32:41 +00:00
Alexander Hartmaier
895b8ed373 rename parse_cisco_bgp_peer2_peer2entry_index to parse_cisco_bgp_peer2_entry_index 2022-03-16 09:29:10 +01:00
Alexander Hartmaier
efb32ac10d add Cisco BGP MIB support to all Cisco Layer 3 devices (#451)
This also adds a munge_inetaddress function which can be used to parse a 
binary IP address as defined by the SNMP InetAddress type.
2022-03-14 21:37:27 +00:00
Oliver Gorwits
7f3028cbdb more tolerant of weird subname calls in autoload 2022-03-02 22:11:56 +00:00
Oliver Gorwits
1c1dbe6464 remove custom CPAN::Uploader 2021-11-14 19:37:12 +00:00
Oliver Gorwits
b98b68c718 avoid error on macOS(?) with netmask of 64 or 128 on v4 addr 2021-10-23 22:38:33 +01:00
Oliver Gorwits
f55edced32 release 3.81 2021-10-07 17:16:42 +01:00
Oliver Gorwits
0d7b482edd only substr if layers returns 2021-10-07 17:09:50 +01:00
Oliver Gorwits
933766120f fix sprintf to printf 2021-10-07 16:52:33 +01:00
nick n
fbfa2ec154 i/if_ignore cleanup (#377)
* does not have an i_ignore function, don't mention it in the docs

* these interfaces don't even exist on oneaccess

remove i_ignore, mark tests as complete now

* don't see a reason for a function, so remove it:

sub i_ignore {return;}
2021-10-07 13:19:32 +01:00
Oliver Gorwits
0e75c44cb8 #401 add DLink layers always 2+3 2021-10-07 12:01:02 +01:00
Oliver Gorwits
bce84023ca #374 undefined error from H3C class 2021-10-07 11:41:38 +01:00
Oliver Gorwits
a0cd7c57e2 #378 fix several uninitialized vars 2021-10-07 10:19:28 +01:00
Oliver Gorwits
d535cea7db #394 Recognise hyphenated cumulus version strings 2021-10-07 09:15:40 +01:00
Oliver Gorwits
21f3b2b199 #400 change IPv6 decode warning to be debug-only 2021-10-07 09:01:45 +01:00
nick n
9f12bcf676 trapeze and nws deep recursion fix (#443)
* trapeze serial deep recursion

* NWSS2300 has the same problem

* same workaround as trapeze

* return empty if not found
2021-10-07 08:52:45 +01:00
Oliver Gorwits
dd1688a587 Update release.yml 2021-09-27 10:14:51 +01:00
Oliver Gorwits
8c50ef81af Update test_and_publish.yml 2021-09-27 10:14:38 +01:00
Oliver Gorwits
8b753c83af Update release.yml 2021-09-27 10:09:09 +01:00
Oliver Gorwits
7e3300552d if: github.repository == ‘netdisco/snmp-info’ 2021-09-27 10:08:54 +01:00
Oliver Gorwits
a3be7337bb if: github.repository == ‘netdisco/netdisco’ 2021-09-27 10:08:04 +01:00
158 changed files with 1572 additions and 546 deletions

View File

@@ -5,6 +5,7 @@ on:
- '[0-9].[0-9][0-9]'
jobs:
release_snmp_info:
if: github.repository == 'netdisco/snmp-info'
runs-on: ubuntu-latest
steps:
- name: Checkout

View File

@@ -20,6 +20,7 @@ on:
jobs:
test_snmp_info:
name: Test and CPAN Upload
if: github.repository == 'netdisco/snmp-info'
runs-on: ubuntu-latest
container:
image: 'netdisco/netdisco:latest-do'
@@ -46,7 +47,6 @@ jobs:
- name: Install Perl deps
run: |
sudo -u netdisco /home/netdisco/bin/localenv cpanm --notest Hook::LexWrap Test::Class::Most Test::Distribution Test::MockObject::Extends PPI Class::ISA Module::Info File::Slurp Test::Perl::Critic Test::Spelling CPAN::Uploader
sudo -u netdisco /home/netdisco/bin/localenv curl -L https://raw.githubusercontent.com/rjbs/CPAN-Uploader/4dd4fbad6bc96257c53a50ea2761932795dddf5c/lib/CPAN/Uploader.pm > /home/netdisco/perl5/lib/perl5/CPAN/Uploader.pm
- name: Run Tests
id: build_and_run_tests

View File

@@ -17,6 +17,7 @@ Module::Build->new(
'SNMP' => '0',
'Math::BigInt' => '0',
'NetAddr::IP' => '4.068',
'Regexp::Common' => '0',
},
recommends => {
'PPI' => '0',

71
Changes
View File

@@ -1,3 +1,72 @@
Version 3.89 (2022-08-18)
[BUG FIXES]
* add Regexp::Common to dependencies
* fix tests for i_vlan_membership_untagged
Version 3.88 (2022-08-17)
[NEW FEATURES]
* Add i_subinterfaces for VLAN subinterfaces in Layer3::Juniper
* Add i_vlan and i_vlan_membership_untagged to Layer3::Juniper based on ifChassisLogicalUnit
Version 3.87 (2022-08-12)
[NEW FEATURES]
* PortAccessEntity/IEEE8021-PAE-MIB module support
[ENHANCEMENTS]
* #462 SNMP::Info::Layer3::PaloAlto to include layer 2
* #461 Expose lldLocChassisId as $lldp->lldp_loc_id
* Update CiscoStats.pm for Amsterdam IOS-XE release
[BUG FIXES]
* #470 avoid error if Juniper VLAN not in bp_index
Version 3.86 (2022-08-10)
[BUG FIXES]
* #468 Cisco dotted subinterfaces had incorrect vlan assigned
Version 3.85 (2022-08-02)
[NEW FEATURES]
* Add i_subinterfaces for VLAN subinterfaces in CiscoVTP
Version 3.84 (2022-07-04)
[NEW FEATURES]
* Add support for HW Group STE whitespace monitoring devices
Version 3.82 (2022-03-16)
[NEW FEATURES]
* add Cisco BGP MIB support to all Cisco Layer 3 devices
Version 3.81 (2021-10-07)
[ENHANCEMENTS]
* #400 change IPv6 decode warning to be debug-only
* #394 Recognise hyphenated cumulus version strings
* #401 add DLink layers always 2+3
* #377 i/if_ignore cleanup
[BUG FIXES]
* #443 trapeze and nws deep recursion fix
* #378 fix several uninitialized vars
* #374 undefined error from H3C class
Version 3.80 (2021-09-22)
[NEW FEATURES]
@@ -9,7 +78,7 @@ Version 3.80 (2021-09-22)
* change default class for Cisco from Layer3::Cisco to Layer3::CiscoSwitch
[ENHANCEMENTS]
[BUG FIXES]
* Fix typo in Whiterabbit.pm (#439)

View File

@@ -17,6 +17,7 @@ lib/SNMP/Info/AMAP.pm
lib/SNMP/Info/Bridge.pm
lib/SNMP/Info/CDP.pm
lib/SNMP/Info/CiscoAgg.pm
lib/SNMP/Info/CiscoBGP.pm
lib/SNMP/Info/CiscoConfig.pm
lib/SNMP/Info/CiscoPortSecurity.pm
lib/SNMP/Info/CiscoPower.pm
@@ -140,6 +141,7 @@ lib/SNMP/Info/Layer7/APC.pm
lib/SNMP/Info/Layer7/Arbor.pm
lib/SNMP/Info/Layer7/CiscoIPS.pm
lib/SNMP/Info/Layer7/Gigamon.pm
lib/SNMP/Info/Layer7/HWGroup.pm
lib/SNMP/Info/Layer7/Liebert.pm
lib/SNMP/Info/Layer7/Neoteris.pm
lib/SNMP/Info/Layer7/Netscaler.pm
@@ -147,6 +149,7 @@ lib/SNMP/Info/LLDP.pm
lib/SNMP/Info/MAU.pm
lib/SNMP/Info/MRO.pm
lib/SNMP/Info/NortelStack.pm
lib/SNMP/Info/PortAccessEntity.pm
lib/SNMP/Info/PowerEthernet.pm
lib/SNMP/Info/RapidCity.pm
lib/SNMP/Info/SONMP.pm

297
META.json
View File

@@ -30,6 +30,7 @@
"requires" : {
"Math::BigInt" : "0",
"NetAddr::IP" : "4.068",
"Regexp::Common" : "0",
"SNMP" : "0"
}
},
@@ -53,567 +54,579 @@
"provides" : {
"SNMP::Info" : {
"file" : "lib/SNMP/Info.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::AMAP" : {
"file" : "lib/SNMP/Info/AMAP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::AdslLine" : {
"file" : "lib/SNMP/Info/AdslLine.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Aggregate" : {
"file" : "lib/SNMP/Info/Aggregate.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Airespace" : {
"file" : "lib/SNMP/Info/Airespace.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Bridge" : {
"file" : "lib/SNMP/Info/Bridge.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CDP" : {
"file" : "lib/SNMP/Info/CDP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoAgg" : {
"file" : "lib/SNMP/Info/CiscoAgg.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoBGP" : {
"file" : "lib/SNMP/Info/CiscoBGP.pm",
"version" : "3.89"
},
"SNMP::Info::CiscoConfig" : {
"file" : "lib/SNMP/Info/CiscoConfig.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoPortSecurity" : {
"file" : "lib/SNMP/Info/CiscoPortSecurity.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoPower" : {
"file" : "lib/SNMP/Info/CiscoPower.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoQOS" : {
"file" : "lib/SNMP/Info/CiscoQOS.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoRTT" : {
"file" : "lib/SNMP/Info/CiscoRTT.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoStack" : {
"file" : "lib/SNMP/Info/CiscoStack.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoStats" : {
"file" : "lib/SNMP/Info/CiscoStats.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoStpExtensions" : {
"file" : "lib/SNMP/Info/CiscoStpExtensions.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::CiscoVTP" : {
"file" : "lib/SNMP/Info/CiscoVTP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::DocsisCM" : {
"file" : "lib/SNMP/Info/DocsisCM.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::DocsisHE" : {
"file" : "lib/SNMP/Info/DocsisHE.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::EDP" : {
"file" : "lib/SNMP/Info/EDP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Entity" : {
"file" : "lib/SNMP/Info/Entity.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::EtherLike" : {
"file" : "lib/SNMP/Info/EtherLike.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::FDP" : {
"file" : "lib/SNMP/Info/FDP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::IEEE802_Bridge" : {
"file" : "lib/SNMP/Info/IEEE802_Bridge.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::IEEE802dot11" : {
"file" : "lib/SNMP/Info/IEEE802dot11.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::IEEE802dot3ad" : {
"file" : "lib/SNMP/Info/IEEE802dot3ad.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::IPv6" : {
"file" : "lib/SNMP/Info/IPv6.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::LLDP" : {
"file" : "lib/SNMP/Info/LLDP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer1" : {
"file" : "lib/SNMP/Info/Layer1.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer1::Allied" : {
"file" : "lib/SNMP/Info/Layer1/Allied.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer1::Asante" : {
"file" : "lib/SNMP/Info/Layer1/Asante.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer1::Bayhub" : {
"file" : "lib/SNMP/Info/Layer1/Bayhub.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer1::Cyclades" : {
"file" : "lib/SNMP/Info/Layer1/Cyclades.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer1::S3000" : {
"file" : "lib/SNMP/Info/Layer1/S3000.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2" : {
"file" : "lib/SNMP/Info/Layer2.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::3Com" : {
"file" : "lib/SNMP/Info/Layer2/3Com.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Adtran" : {
"file" : "lib/SNMP/Info/Layer2/Adtran.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Aerohive" : {
"file" : "lib/SNMP/Info/Layer2/Aerohive.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Airespace" : {
"file" : "lib/SNMP/Info/Layer2/Airespace.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Aironet" : {
"file" : "lib/SNMP/Info/Layer2/Aironet.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Allied" : {
"file" : "lib/SNMP/Info/Layer2/Allied.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Atmedia" : {
"file" : "lib/SNMP/Info/Layer2/Atmedia.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Baystack" : {
"file" : "lib/SNMP/Info/Layer2/Baystack.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::C1900" : {
"file" : "lib/SNMP/Info/Layer2/C1900.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::C2900" : {
"file" : "lib/SNMP/Info/Layer2/C2900.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Catalyst" : {
"file" : "lib/SNMP/Info/Layer2/Catalyst.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Centillion" : {
"file" : "lib/SNMP/Info/Layer2/Centillion.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Cisco" : {
"file" : "lib/SNMP/Info/Layer2/Cisco.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::CiscoSB" : {
"file" : "lib/SNMP/Info/Layer2/CiscoSB.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Exinda" : {
"file" : "lib/SNMP/Info/Layer2/Exinda.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::HP" : {
"file" : "lib/SNMP/Info/Layer2/HP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::HP4000" : {
"file" : "lib/SNMP/Info/Layer2/HP4000.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::HPVC" : {
"file" : "lib/SNMP/Info/Layer2/HPVC.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Kentrox" : {
"file" : "lib/SNMP/Info/Layer2/Kentrox.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::N2270" : {
"file" : "lib/SNMP/Info/Layer2/N2270.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::NAP222x" : {
"file" : "lib/SNMP/Info/Layer2/NAP222x.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::NWSS2300" : {
"file" : "lib/SNMP/Info/Layer2/NWSS2300.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Netgear" : {
"file" : "lib/SNMP/Info/Layer2/Netgear.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Nexans" : {
"file" : "lib/SNMP/Info/Layer2/Nexans.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Orinoco" : {
"file" : "lib/SNMP/Info/Layer2/Orinoco.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Sixnet" : {
"file" : "lib/SNMP/Info/Layer2/Sixnet.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Trapeze" : {
"file" : "lib/SNMP/Info/Layer2/Trapeze.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::Ubiquiti" : {
"file" : "lib/SNMP/Info/Layer2/Ubiquiti.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer2::ZyXEL_DSLAM" : {
"file" : "lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3" : {
"file" : "lib/SNMP/Info/Layer3.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Aironet" : {
"file" : "lib/SNMP/Info/Layer3/Aironet.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::AlcatelLucent" : {
"file" : "lib/SNMP/Info/Layer3/AlcatelLucent.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::AlteonAD" : {
"file" : "lib/SNMP/Info/Layer3/AlteonAD.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Altiga" : {
"file" : "lib/SNMP/Info/Layer3/Altiga.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Arista" : {
"file" : "lib/SNMP/Info/Layer3/Arista.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Aruba" : {
"file" : "lib/SNMP/Info/Layer3/Aruba.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::ArubaCX" : {
"file" : "lib/SNMP/Info/Layer3/ArubaCX.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::BayRS" : {
"file" : "lib/SNMP/Info/Layer3/BayRS.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::BlueCoatSG" : {
"file" : "lib/SNMP/Info/Layer3/BlueCoatSG.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::C3550" : {
"file" : "lib/SNMP/Info/Layer3/C3550.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::C4000" : {
"file" : "lib/SNMP/Info/Layer3/C4000.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::C6500" : {
"file" : "lib/SNMP/Info/Layer3/C6500.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::CheckPoint" : {
"file" : "lib/SNMP/Info/Layer3/CheckPoint.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Ciena" : {
"file" : "lib/SNMP/Info/Layer3/Ciena.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Cisco" : {
"file" : "lib/SNMP/Info/Layer3/Cisco.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::CiscoASA" : {
"file" : "lib/SNMP/Info/Layer3/CiscoASA.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::CiscoFWSM" : {
"file" : "lib/SNMP/Info/Layer3/CiscoFWSM.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::CiscoSwitch" : {
"file" : "lib/SNMP/Info/Layer3/CiscoSwitch.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Contivity" : {
"file" : "lib/SNMP/Info/Layer3/Contivity.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Cumulus" : {
"file" : "lib/SNMP/Info/Layer3/Cumulus.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::DLink" : {
"file" : "lib/SNMP/Info/Layer3/DLink.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Dell" : {
"file" : "lib/SNMP/Info/Layer3/Dell.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::ERX" : {
"file" : "lib/SNMP/Info/Layer3/ERX.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Enterasys" : {
"file" : "lib/SNMP/Info/Layer3/Enterasys.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Extreme" : {
"file" : "lib/SNMP/Info/Layer3/Extreme.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::F5" : {
"file" : "lib/SNMP/Info/Layer3/F5.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Force10" : {
"file" : "lib/SNMP/Info/Layer3/Force10.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Fortinet" : {
"file" : "lib/SNMP/Info/Layer3/Fortinet.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Foundry" : {
"file" : "lib/SNMP/Info/Layer3/Foundry.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Genua" : {
"file" : "lib/SNMP/Info/Layer3/Genua.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::H3C" : {
"file" : "lib/SNMP/Info/Layer3/H3C.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::HP9300" : {
"file" : "lib/SNMP/Info/Layer3/HP9300.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Huawei" : {
"file" : "lib/SNMP/Info/Layer3/Huawei.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::IBMGbTor" : {
"file" : "lib/SNMP/Info/Layer3/IBMGbTor.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Juniper" : {
"file" : "lib/SNMP/Info/Layer3/Juniper.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Lantronix" : {
"file" : "lib/SNMP/Info/Layer3/Lantronix.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Lenovo" : {
"file" : "lib/SNMP/Info/Layer3/Lenovo.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Microsoft" : {
"file" : "lib/SNMP/Info/Layer3/Microsoft.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Mikrotik" : {
"file" : "lib/SNMP/Info/Layer3/Mikrotik.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::N1600" : {
"file" : "lib/SNMP/Info/Layer3/N1600.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::NetSNMP" : {
"file" : "lib/SNMP/Info/Layer3/NetSNMP.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Netscreen" : {
"file" : "lib/SNMP/Info/Layer3/Netscreen.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Nexus" : {
"file" : "lib/SNMP/Info/Layer3/Nexus.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::OneAccess" : {
"file" : "lib/SNMP/Info/Layer3/OneAccess.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::PacketFront" : {
"file" : "lib/SNMP/Info/Layer3/PacketFront.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::PaloAlto" : {
"file" : "lib/SNMP/Info/Layer3/PaloAlto.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Passport" : {
"file" : "lib/SNMP/Info/Layer3/Passport.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Pf" : {
"file" : "lib/SNMP/Info/Layer3/Pf.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Pica8" : {
"file" : "lib/SNMP/Info/Layer3/Pica8.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Redlion" : {
"file" : "lib/SNMP/Info/Layer3/Redlion.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Scalance" : {
"file" : "lib/SNMP/Info/Layer3/Scalance.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::SonicWALL" : {
"file" : "lib/SNMP/Info/Layer3/SonicWALL.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Steelfusion" : {
"file" : "lib/SNMP/Info/Layer3/Steelfusion.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Steelhead" : {
"file" : "lib/SNMP/Info/Layer3/Steelhead.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::SteelheadEx" : {
"file" : "lib/SNMP/Info/Layer3/SteelheadEx.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Sun" : {
"file" : "lib/SNMP/Info/Layer3/Sun.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Tasman" : {
"file" : "lib/SNMP/Info/Layer3/Tasman.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Teltonika" : {
"file" : "lib/SNMP/Info/Layer3/Teltonika.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Timetra" : {
"file" : "lib/SNMP/Info/Layer3/Timetra.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::VMware" : {
"file" : "lib/SNMP/Info/Layer3/VMware.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::VyOS" : {
"file" : "lib/SNMP/Info/Layer3/VyOS.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer3::Whiterabbit" : {
"file" : "lib/SNMP/Info/Layer3/Whiterabbit.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7" : {
"file" : "lib/SNMP/Info/Layer7.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7::APC" : {
"file" : "lib/SNMP/Info/Layer7/APC.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7::Arbor" : {
"file" : "lib/SNMP/Info/Layer7/Arbor.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7::CiscoIPS" : {
"file" : "lib/SNMP/Info/Layer7/CiscoIPS.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7::Gigamon" : {
"file" : "lib/SNMP/Info/Layer7/Gigamon.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7::HWGroup" : {
"file" : "lib/SNMP/Info/Layer7/HWGroup.pm",
"version" : "3.89"
},
"SNMP::Info::Layer7::Liebert" : {
"file" : "lib/SNMP/Info/Layer7/Liebert.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7::Neoteris" : {
"file" : "lib/SNMP/Info/Layer7/Neoteris.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::Layer7::Netscaler" : {
"file" : "lib/SNMP/Info/Layer7/Netscaler.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::MAU" : {
"file" : "lib/SNMP/Info/MAU.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::MRO" : {
"file" : "lib/SNMP/Info/MRO.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::NortelStack" : {
"file" : "lib/SNMP/Info/NortelStack.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::PortAccessEntity" : {
"file" : "lib/SNMP/Info/PortAccessEntity.pm",
"version" : "3.89"
},
"SNMP::Info::PowerEthernet" : {
"file" : "lib/SNMP/Info/PowerEthernet.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::RapidCity" : {
"file" : "lib/SNMP/Info/RapidCity.pm",
"version" : "3.80"
"version" : "3.89"
},
"SNMP::Info::SONMP" : {
"file" : "lib/SNMP/Info/SONMP.pm",
"version" : "3.80"
"version" : "3.89"
}
},
"release_status" : "stable",
@@ -631,6 +644,6 @@
"x_IRC" : "irc://irc.libera.chat/#netdisco",
"x_MailingList" : "https://lists.sourceforge.net/lists/listinfo/snmp-info-users"
},
"version" : "3.80",
"version" : "3.89",
"x_serialization_backend" : "JSON::PP version 4.06"
}

294
META.yml
View File

@@ -27,427 +27,436 @@ name: SNMP-Info
provides:
SNMP::Info:
file: lib/SNMP/Info.pm
version: '3.80'
version: '3.89'
SNMP::Info::AMAP:
file: lib/SNMP/Info/AMAP.pm
version: '3.80'
version: '3.89'
SNMP::Info::AdslLine:
file: lib/SNMP/Info/AdslLine.pm
version: '3.80'
version: '3.89'
SNMP::Info::Aggregate:
file: lib/SNMP/Info/Aggregate.pm
version: '3.80'
version: '3.89'
SNMP::Info::Airespace:
file: lib/SNMP/Info/Airespace.pm
version: '3.80'
version: '3.89'
SNMP::Info::Bridge:
file: lib/SNMP/Info/Bridge.pm
version: '3.80'
version: '3.89'
SNMP::Info::CDP:
file: lib/SNMP/Info/CDP.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoAgg:
file: lib/SNMP/Info/CiscoAgg.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoBGP:
file: lib/SNMP/Info/CiscoBGP.pm
version: '3.89'
SNMP::Info::CiscoConfig:
file: lib/SNMP/Info/CiscoConfig.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoPortSecurity:
file: lib/SNMP/Info/CiscoPortSecurity.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoPower:
file: lib/SNMP/Info/CiscoPower.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoQOS:
file: lib/SNMP/Info/CiscoQOS.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoRTT:
file: lib/SNMP/Info/CiscoRTT.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoStack:
file: lib/SNMP/Info/CiscoStack.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoStats:
file: lib/SNMP/Info/CiscoStats.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoStpExtensions:
file: lib/SNMP/Info/CiscoStpExtensions.pm
version: '3.80'
version: '3.89'
SNMP::Info::CiscoVTP:
file: lib/SNMP/Info/CiscoVTP.pm
version: '3.80'
version: '3.89'
SNMP::Info::DocsisCM:
file: lib/SNMP/Info/DocsisCM.pm
version: '3.80'
version: '3.89'
SNMP::Info::DocsisHE:
file: lib/SNMP/Info/DocsisHE.pm
version: '3.80'
version: '3.89'
SNMP::Info::EDP:
file: lib/SNMP/Info/EDP.pm
version: '3.80'
version: '3.89'
SNMP::Info::Entity:
file: lib/SNMP/Info/Entity.pm
version: '3.80'
version: '3.89'
SNMP::Info::EtherLike:
file: lib/SNMP/Info/EtherLike.pm
version: '3.80'
version: '3.89'
SNMP::Info::FDP:
file: lib/SNMP/Info/FDP.pm
version: '3.80'
version: '3.89'
SNMP::Info::IEEE802_Bridge:
file: lib/SNMP/Info/IEEE802_Bridge.pm
version: '3.80'
version: '3.89'
SNMP::Info::IEEE802dot11:
file: lib/SNMP/Info/IEEE802dot11.pm
version: '3.80'
version: '3.89'
SNMP::Info::IEEE802dot3ad:
file: lib/SNMP/Info/IEEE802dot3ad.pm
version: '3.80'
version: '3.89'
SNMP::Info::IPv6:
file: lib/SNMP/Info/IPv6.pm
version: '3.80'
version: '3.89'
SNMP::Info::LLDP:
file: lib/SNMP/Info/LLDP.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer1:
file: lib/SNMP/Info/Layer1.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer1::Allied:
file: lib/SNMP/Info/Layer1/Allied.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer1::Asante:
file: lib/SNMP/Info/Layer1/Asante.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer1::Bayhub:
file: lib/SNMP/Info/Layer1/Bayhub.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer1::Cyclades:
file: lib/SNMP/Info/Layer1/Cyclades.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer1::S3000:
file: lib/SNMP/Info/Layer1/S3000.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2:
file: lib/SNMP/Info/Layer2.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::3Com:
file: lib/SNMP/Info/Layer2/3Com.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Adtran:
file: lib/SNMP/Info/Layer2/Adtran.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Aerohive:
file: lib/SNMP/Info/Layer2/Aerohive.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Airespace:
file: lib/SNMP/Info/Layer2/Airespace.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Aironet:
file: lib/SNMP/Info/Layer2/Aironet.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Allied:
file: lib/SNMP/Info/Layer2/Allied.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Atmedia:
file: lib/SNMP/Info/Layer2/Atmedia.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Baystack:
file: lib/SNMP/Info/Layer2/Baystack.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::C1900:
file: lib/SNMP/Info/Layer2/C1900.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::C2900:
file: lib/SNMP/Info/Layer2/C2900.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Catalyst:
file: lib/SNMP/Info/Layer2/Catalyst.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Centillion:
file: lib/SNMP/Info/Layer2/Centillion.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Cisco:
file: lib/SNMP/Info/Layer2/Cisco.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::CiscoSB:
file: lib/SNMP/Info/Layer2/CiscoSB.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Exinda:
file: lib/SNMP/Info/Layer2/Exinda.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::HP:
file: lib/SNMP/Info/Layer2/HP.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::HP4000:
file: lib/SNMP/Info/Layer2/HP4000.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::HPVC:
file: lib/SNMP/Info/Layer2/HPVC.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Kentrox:
file: lib/SNMP/Info/Layer2/Kentrox.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::N2270:
file: lib/SNMP/Info/Layer2/N2270.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::NAP222x:
file: lib/SNMP/Info/Layer2/NAP222x.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::NWSS2300:
file: lib/SNMP/Info/Layer2/NWSS2300.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Netgear:
file: lib/SNMP/Info/Layer2/Netgear.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Nexans:
file: lib/SNMP/Info/Layer2/Nexans.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Orinoco:
file: lib/SNMP/Info/Layer2/Orinoco.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Sixnet:
file: lib/SNMP/Info/Layer2/Sixnet.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Trapeze:
file: lib/SNMP/Info/Layer2/Trapeze.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::Ubiquiti:
file: lib/SNMP/Info/Layer2/Ubiquiti.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer2::ZyXEL_DSLAM:
file: lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3:
file: lib/SNMP/Info/Layer3.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Aironet:
file: lib/SNMP/Info/Layer3/Aironet.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::AlcatelLucent:
file: lib/SNMP/Info/Layer3/AlcatelLucent.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::AlteonAD:
file: lib/SNMP/Info/Layer3/AlteonAD.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Altiga:
file: lib/SNMP/Info/Layer3/Altiga.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Arista:
file: lib/SNMP/Info/Layer3/Arista.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Aruba:
file: lib/SNMP/Info/Layer3/Aruba.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::ArubaCX:
file: lib/SNMP/Info/Layer3/ArubaCX.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::BayRS:
file: lib/SNMP/Info/Layer3/BayRS.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::BlueCoatSG:
file: lib/SNMP/Info/Layer3/BlueCoatSG.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::C3550:
file: lib/SNMP/Info/Layer3/C3550.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::C4000:
file: lib/SNMP/Info/Layer3/C4000.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::C6500:
file: lib/SNMP/Info/Layer3/C6500.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::CheckPoint:
file: lib/SNMP/Info/Layer3/CheckPoint.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Ciena:
file: lib/SNMP/Info/Layer3/Ciena.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Cisco:
file: lib/SNMP/Info/Layer3/Cisco.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::CiscoASA:
file: lib/SNMP/Info/Layer3/CiscoASA.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::CiscoFWSM:
file: lib/SNMP/Info/Layer3/CiscoFWSM.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::CiscoSwitch:
file: lib/SNMP/Info/Layer3/CiscoSwitch.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Contivity:
file: lib/SNMP/Info/Layer3/Contivity.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Cumulus:
file: lib/SNMP/Info/Layer3/Cumulus.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::DLink:
file: lib/SNMP/Info/Layer3/DLink.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Dell:
file: lib/SNMP/Info/Layer3/Dell.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::ERX:
file: lib/SNMP/Info/Layer3/ERX.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Enterasys:
file: lib/SNMP/Info/Layer3/Enterasys.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Extreme:
file: lib/SNMP/Info/Layer3/Extreme.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::F5:
file: lib/SNMP/Info/Layer3/F5.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Force10:
file: lib/SNMP/Info/Layer3/Force10.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Fortinet:
file: lib/SNMP/Info/Layer3/Fortinet.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Foundry:
file: lib/SNMP/Info/Layer3/Foundry.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Genua:
file: lib/SNMP/Info/Layer3/Genua.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::H3C:
file: lib/SNMP/Info/Layer3/H3C.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::HP9300:
file: lib/SNMP/Info/Layer3/HP9300.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Huawei:
file: lib/SNMP/Info/Layer3/Huawei.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::IBMGbTor:
file: lib/SNMP/Info/Layer3/IBMGbTor.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Juniper:
file: lib/SNMP/Info/Layer3/Juniper.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Lantronix:
file: lib/SNMP/Info/Layer3/Lantronix.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Lenovo:
file: lib/SNMP/Info/Layer3/Lenovo.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Microsoft:
file: lib/SNMP/Info/Layer3/Microsoft.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Mikrotik:
file: lib/SNMP/Info/Layer3/Mikrotik.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::N1600:
file: lib/SNMP/Info/Layer3/N1600.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::NetSNMP:
file: lib/SNMP/Info/Layer3/NetSNMP.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Netscreen:
file: lib/SNMP/Info/Layer3/Netscreen.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Nexus:
file: lib/SNMP/Info/Layer3/Nexus.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::OneAccess:
file: lib/SNMP/Info/Layer3/OneAccess.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::PacketFront:
file: lib/SNMP/Info/Layer3/PacketFront.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::PaloAlto:
file: lib/SNMP/Info/Layer3/PaloAlto.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Passport:
file: lib/SNMP/Info/Layer3/Passport.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Pf:
file: lib/SNMP/Info/Layer3/Pf.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Pica8:
file: lib/SNMP/Info/Layer3/Pica8.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Redlion:
file: lib/SNMP/Info/Layer3/Redlion.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Scalance:
file: lib/SNMP/Info/Layer3/Scalance.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::SonicWALL:
file: lib/SNMP/Info/Layer3/SonicWALL.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Steelfusion:
file: lib/SNMP/Info/Layer3/Steelfusion.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Steelhead:
file: lib/SNMP/Info/Layer3/Steelhead.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::SteelheadEx:
file: lib/SNMP/Info/Layer3/SteelheadEx.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Sun:
file: lib/SNMP/Info/Layer3/Sun.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Tasman:
file: lib/SNMP/Info/Layer3/Tasman.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Teltonika:
file: lib/SNMP/Info/Layer3/Teltonika.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Timetra:
file: lib/SNMP/Info/Layer3/Timetra.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::VMware:
file: lib/SNMP/Info/Layer3/VMware.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::VyOS:
file: lib/SNMP/Info/Layer3/VyOS.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer3::Whiterabbit:
file: lib/SNMP/Info/Layer3/Whiterabbit.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7:
file: lib/SNMP/Info/Layer7.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7::APC:
file: lib/SNMP/Info/Layer7/APC.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7::Arbor:
file: lib/SNMP/Info/Layer7/Arbor.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7::CiscoIPS:
file: lib/SNMP/Info/Layer7/CiscoIPS.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7::Gigamon:
file: lib/SNMP/Info/Layer7/Gigamon.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7::HWGroup:
file: lib/SNMP/Info/Layer7/HWGroup.pm
version: '3.89'
SNMP::Info::Layer7::Liebert:
file: lib/SNMP/Info/Layer7/Liebert.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7::Neoteris:
file: lib/SNMP/Info/Layer7/Neoteris.pm
version: '3.80'
version: '3.89'
SNMP::Info::Layer7::Netscaler:
file: lib/SNMP/Info/Layer7/Netscaler.pm
version: '3.80'
version: '3.89'
SNMP::Info::MAU:
file: lib/SNMP/Info/MAU.pm
version: '3.80'
version: '3.89'
SNMP::Info::MRO:
file: lib/SNMP/Info/MRO.pm
version: '3.80'
version: '3.89'
SNMP::Info::NortelStack:
file: lib/SNMP/Info/NortelStack.pm
version: '3.80'
version: '3.89'
SNMP::Info::PortAccessEntity:
file: lib/SNMP/Info/PortAccessEntity.pm
version: '3.89'
SNMP::Info::PowerEthernet:
file: lib/SNMP/Info/PowerEthernet.pm
version: '3.80'
version: '3.89'
SNMP::Info::RapidCity:
file: lib/SNMP/Info/RapidCity.pm
version: '3.80'
version: '3.89'
SNMP::Info::SONMP:
file: lib/SNMP/Info/SONMP.pm
version: '3.80'
version: '3.89'
recommends:
Class::ISA: '0'
File::Slurp: '0'
@@ -457,6 +466,7 @@ recommends:
requires:
Math::BigInt: '0'
NetAddr::IP: '4.068'
Regexp::Common: '0'
SNMP: '0'
resources:
IRC: irc://irc.libera.chat/#netdisco
@@ -465,5 +475,5 @@ resources:
homepage: http://netdisco.org/
license: http://opensource.org/licenses/bsd-license.php
repository: https://github.com/netdisco/snmp-info
version: '3.80'
version: '3.89'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'

30
README
View File

@@ -2,7 +2,7 @@ NAME
SNMP::Info - OO Interface to Network devices and MIBs through SNMP
VERSION
SNMP::Info - Version 3.80
SNMP::Info - Version 3.89
AUTHOR
SNMP::Info is maintained by team of Open Source authors headed by Eric
@@ -31,6 +31,14 @@ SYNOPSIS
DestHost => 'router',
Community => 'public',
Version => 2
# Parameter reference for SNMPv3
# Version => 3
# SecLevel => 'authPriv', # authPriv|authNoPriv|noAuthNoPriv
# SecName => 'myuser',
# AuthProto => 'MD5', # MD5|SHA
# AuthPass => 'authp4ss',
# PrivProto => 'DES', # DES|AES
# PrivPass => 'pr1vp4ss',
) or die "Can't connect to device.\n";
my $err = $info->error();
@@ -224,6 +232,12 @@ SUBCLASSES
See documentation in SNMP::Info::CiscoAgg for details.
SNMP::Info::CiscoBGP
CISCO-BGP4-MIB. Cisco BGPv4 support. Inherited by Cisco devices with
Layer3 support.
See documentation in SNMP::Info::CiscoBGP for details.
SNMP::Info::CiscoConfig
CISCO-CONFIG-COPY-MIB, CISCO-FLASH-MIB, and OLD-CISCO-SYS-MIB. These
OIDs facilitate the writing of configuration files.
@@ -351,6 +365,11 @@ SUBCLASSES
See documentation in SNMP::Info::NortelStack for details.
SNMP::Info::PortAccessEntity
IEEE8021-PAE-MIB
See documentation in SNMP::Info::PortAccessEntity for details.
SNMP::Info::PowerEthernet
POWER-ETHERNET-MIB
@@ -940,6 +959,11 @@ SUBCLASSES
See documentation in SNMP::Info::Layer7::Gigamon for details.
SNMP::Info::Layer7::HWGroup
Subclass for HW Group devices.
See documentation in SNMP::Info::Layer7::HWGroup for details.
SNMP::Info::Layer7::Liebert
Subclass for Liebert devices.
@@ -2015,6 +2039,10 @@ SNMP::INFO INTERNALS
munge_ip()
Takes a binary IP and makes it dotted ASCII.
munge_inetaddress
Takes a binary IP address as defined by the SNMP InetAddress type
and returns it as human readable string;
munge_mac()
Takes an octet stream (HEX-STRING) and returns a colon separated
ASCII hex string.

View File

@@ -25,7 +25,7 @@ our
($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG, %SPEED_MAP,
$NOSUCH, $BIGINT, $REPEATERS);
$VERSION = '3.80';
$VERSION = '3.89';
=head1 NAME
@@ -33,7 +33,7 @@ SNMP::Info - OO Interface to Network devices and MIBs through SNMP
=head1 VERSION
SNMP::Info - Version 3.80
SNMP::Info - Version 3.89
=head1 AUTHOR
@@ -64,6 +64,14 @@ list any missing functionality (such as neighbor discovery tables).
DestHost => 'router',
Community => 'public',
Version => 2
# Parameter reference for SNMPv3
# Version => 3
# SecLevel => 'authPriv', # authPriv|authNoPriv|noAuthNoPriv
# SecName => 'myuser',
# AuthProto => 'MD5', # MD5|SHA
# AuthPass => 'authp4ss',
# PrivProto => 'DES', # DES|AES
# PrivPass => 'pr1vp4ss',
) or die "Can't connect to device.\n";
my $err = $info->error();
@@ -278,6 +286,13 @@ SNMP Interface to Cisco Aggregated Links
See documentation in L<SNMP::Info::CiscoAgg> for details.
=item SNMP::Info::CiscoBGP
F<CISCO-BGP4-MIB>. Cisco BGPv4 support. Inherited by Cisco devices with
Layer3 support.
See documentation in L<SNMP::Info::CiscoBGP> for details.
=item SNMP::Info::CiscoConfig
F<CISCO-CONFIG-COPY-MIB>, F<CISCO-FLASH-MIB>, and F<OLD-CISCO-SYS-MIB>.
@@ -428,6 +443,12 @@ F<S5-AGENT-MIB>, F<S5-CHASSIS-MIB>.
See documentation in L<SNMP::Info::NortelStack> for details.
=item SNMP::Info::PortAccessEntity
F<IEEE8021-PAE-MIB>
See documentation in L<SNMP::Info::PortAccessEntity> for details.
=item SNMP::Info::PowerEthernet
F<POWER-ETHERNET-MIB>
@@ -1130,6 +1151,12 @@ Subclass for Gigamon devices.
See documentation in L<SNMP::Info::Layer7::Gigamon> for details.
=item SNMP::Info::Layer7::HWGroup
Subclass for HW Group devices.
See documentation in L<SNMP::Info::Layer7::HWGroup> for details.
=item SNMP::Info::Layer7::Liebert
Subclass for Liebert devices.
@@ -1816,6 +1843,7 @@ sub device_type {
9694 => 'SNMP::Info::Layer7::Arbor',
12532 => 'SNMP::Info::Layer7::Neoteris',
14525 => 'SNMP::Info::Layer2::Trapeze',
21796 => 'SNMP::Info::Layer7::HWGroup',
26866 => 'SNMP::Info::Layer7::Gigamon',
);
@@ -3009,7 +3037,7 @@ sub ip_netmask {
$prefix = $1;
}
my $new_iid = join( ".", @parts );
my $mask = NetAddr::IP::Lite->new( $new_iid . '/' . $prefix )->mask()
my $mask = eval { NetAddr::IP::Lite->new( $new_iid . '/' . $prefix )->mask() }
|| undef;
$ip_netmask{$new_iid} = $mask;
@@ -3822,6 +3850,27 @@ sub munge_ip {
return join( '.', unpack( 'C4', $ip ) );
}
=item munge_inetaddress
Takes a binary IP address as defined by the SNMP InetAddress type and returns
it as human readable string;
=cut
sub munge_inetaddress {
my $ip = shift;
# 4 bytes = IPv4
if (length($ip) == 4) {
return SNMP::Info::munge_ip($ip);
}
# 16 bytes = IPv6
elsif (length($ip) == 16) {
return sprintf( "%x:%x:%x:%x:%x:%x:%x:%x",
unpack( 'n8', $ip ));
}
return '';
}
=item munge_mac()
Takes an octet stream (HEX-STRING) and returns a colon separated ASCII hex
@@ -3990,6 +4039,8 @@ Takes an OID and return the object name if the right MIB is loaded.
sub munge_e_type {
my $oid = shift;
return unless $oid;
return $oid if $oid =~ m/^\.0/;
my $name = &SNMP::translateObj($oid);
return $name if defined($name);
@@ -5132,9 +5183,9 @@ subclass.
sub AUTOLOAD {
my $self = shift;
my ($sub_name) = $AUTOLOAD =~ /::(\w+)$/;
my ($sub_name) = $AUTOLOAD =~ /::([a-zA-Z0-9_-]+)$/;
return if $sub_name eq 'CARP_TRACE';
return if $sub_name eq 'CARP_TRACE';
# Typos in function calls in SNMP::Info subclasses turn into
# AUTOLOAD requests for non-methods. While this is deprecated,

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'ADSL-LINE-MIB' => 'adslLineType' );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
# Load MIB for leafs referenced within class
%MIBS = ('IF-MIB' => 'ifIndex',);

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, $INIT);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'BRIDGE-MIB' => 'dot1dBaseBridgeAddress',

View File

@@ -43,7 +43,7 @@ use SNMP::Info;
our
($VERSION, $DEBUG, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $INIT, %CDP_CAPABILITIES);
$VERSION = '3.80';
$VERSION = '3.89';
# Five data structures required by SNMP::Info
%MIBS = ( 'CISCO-CDP-MIB' => 'cdpGlobalRun' );

View File

@@ -48,7 +48,7 @@ use SNMP::Info::IEEE802dot3ad;
our ($DEBUG, $VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::IEEE802dot3ad::MIBS,

267
lib/SNMP/Info/CiscoBGP.pm Normal file
View File

@@ -0,0 +1,267 @@
# SNMP::Info::CiscoBGP
#
# Copyright (c) 2022 Alexander Hartmaier
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the University of California, Santa Cruz nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
package SNMP::Info::CiscoBGP;
use strict;
use warnings;
use Exporter;
use SNMP::Info;
@SNMP::Info::CiscoBGP::ISA = qw( SNMP::Info Exporter );
@SNMP::Info::CiscoBGP::EXPORT_OK = qw(
parse_cisco_bgp_peer2_entry_index
);
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.89';
%MIBS = ( 'CISCO-BGP4-MIB' => 'cbgpPeer2State', );
%GLOBALS = ();
%FUNCS = (
# cbgpPeer2Table
'cisco_bgp_peer2_state' => 'cbgpPeer2State',
'cisco_bgp_peer2_adminstatus' => 'cbgpPeer2AdminStatus',
'cisco_bgp_peer2_localaddr' => 'cbgpPeer2LocalAddr',
'cisco_bgp_peer2_localport' => 'cbgpPeer2LocalPort',
'cisco_bgp_peer2_localas' => 'cbgpPeer2LocalAs',
'cisco_bgp_peer2_localidentifier' => 'cbgpPeer2LocalIdentifier',
'cisco_bgp_peer2_remoteport' => 'cbgpPeer2RemotePort',
'cisco_bgp_peer2_remoteas' => 'cbgpPeer2RemoteAs',
'cisco_bgp_peer2_remoteidentifier' => 'cbgpPeer2RemoteIdentifier',
'cisco_bgp_peer2_inupdates' => 'cbgpPeer2InUpdates',
'cisco_bgp_peer2_outupdates' => 'cbgpPeer2OutUpdates',
'cisco_bgp_peer2_intotalmessages' => 'cbgpPeer2InTotalMessages',
'cisco_bgp_peer2_outtotalmessages' => 'cbgpPeer2OutTotalMessages',
'cisco_bgp_peer2_lasterror' => 'cbgpPeer2LastError',
'cisco_bgp_peer2_fsmestablishedtransitions'
=> 'cbgpPeer2FsmEstablishedTransitions',
'cisco_bgp_peer2_fsmestablishedtime' => 'cbgpPeer2FsmEstablishedTime',
'cisco_bgp_peer2_connectretryinterval'=> 'cbgpPeer2ConnectRetryInterval',
'cisco_bgp_peer2_holdtime' => 'cbgpPeer2HoldTime',
'cisco_bgp_peer2_keepalive' => 'cbgpPeer2KeepAlive',
'cisco_bgp_peer2_holdtimeconfigured' => 'cbgpPeer2HoldTimeConfigured',
'cisco_bgp_peer2_keepaliveconfigured' => 'cbgpPeer2KeepAliveConfigured',
'cisco_bgp_peer2_minasoriginationinterval'
=> 'cbgpPeer2MinASOriginationInterval',
'cisco_bgp_peer2_inupdatelapsedtime' => 'cbgpPeer2InUpdateElapsedTime',
'cisco_bgp_peer2_lasterrortxt' => 'cbgpPeer2LastErrorTxt',
'cisco_bgp_peer2_prevstate' => 'cbgpPeer2PrevState',
# cbgpPeer2AddrFamilyPrefixTable
'cisco_bgp_peer2_acceptedprefixes' => 'cbgpPeer2AcceptedPrefixes',
'cisco_bgp_peer2_deniedprefixes' => 'cbgpPeer2DeniedPrefixes',
'cisco_bgp_peer2_prefixadminlimit' => 'cbgpPeer2PrefixAdminLimit',
'cisco_bgp_peer2_prefixthreshold' => 'cbgpPeer2PrefixThreshold',
'cisco_bgp_peer2_prefixclearthreshold'=> 'cbgpPeer2PrefixClearThreshold',
'cisco_bgp_peer2_advertisedprefixes' => 'cbgpPeer2AdvertisedPrefixes',
'cisco_bgp_peer2_suppressedprefixes' => 'cbgpPeer2SuppressedPrefixes',
'cisco_bgp_peer2_withdrawnprefixes' => 'cbgpPeer2WithdrawnPrefixes',
);
%MUNGE = (
'cisco_bgp_peer2_localaddr' => \&SNMP::Info::munge_inetaddress,
'cisco_bgp_peer2_lasterror' => \&SNMP::Info::munge_octet2hex,
);
sub parse_cisco_bgp_peer2_entry_index {
my ($self, $index) = @_;
my ($type, $addrlength, $ip) = split(/\./, $index, 3);
# decode IPv6 remote address
if ($addrlength == 16) {
# copied from SNMP::Info::IPv6/ipv6_addr
my @parts = split(/\./, $ip);
$ip = sprintf("%x:%x:%x:%x:%x:%x:%x:%x",
unpack('n8', pack('C*', @parts)));
}
return $type, $addrlength, $ip;
}
1;
__END__
=head1 NAME
SNMP::Info::CiscoBGP - SNMP Interface to Cisco's BGP MIBs
=head1 AUTHOR
Alexander Hartmaier
=head1 SYNOPSIS
# Let SNMP::Info determine the correct subclass for you.
my $device = SNMP::Info->(
AutoSpecify => 1,
Debug => 1,
DestHost => 'myswitch',
Community => 'public',
Version => 2
) or die "Can't connect to DestHost.\n";
my $remoteas_for_index = $device->cisco_bgp_peer2_remoteas;
for my $index (keys $remoteas_for_index->%*) {
my ($type, $addrlength, $ip) =
$device->parse_cisco_bgp_peer2_entry_index($index);
printf('remote: %-39s type: %-4s remote AS: %5d',
$ip, $type, $remoteas_for_index->{$index});
}
=head1 DESCRIPTION
SNMP::Info::CiscoBGP is a subclass of SNMP::Info that provides
information about a cisco device's BGP configuration and state.
Use or create in a subclass of SNMP::Info. Do not use directly.
=head2 Inherited Classes
none.
=head2 Required MIBs
=over
=item F<CISCO-BGP4-MIB>
=back
=head1 GLOBALS
=over
None
=back
=head1 TABLE METHODS
=head2 Cisco BGP Peer 2 Table (cbgpPeer2Table)
This table contains, one entry per BGP peer, information about the connections
with BGP peers.
=over
=item cisco_bgp_peer2_state (cbgpPeer2State)
=item cisco_bgp_peer2_adminstatus (cbgpPeer2AdminStatus)
=item cisco_bgp_peer2_localaddr (cbgpPeer2LocalAddr)
=item cisco_bgp_peer2_localport (cbgpPeer2LocalPort)
=item cisco_bgp_peer2_localas (cbgpPeer2LocalAs)
=item cisco_bgp_peer2_localidentifier (cbgpPeer2LocalIdentifier)
=item cisco_bgp_peer2_remoteport (cbgpPeer2RemotePort)
=item cisco_bgp_peer2_remoteas (cbgpPeer2RemoteAs)
=item cisco_bgp_peer2_remoteidentifier (cbgpPeer2RemoteIdentifier)
=item cisco_bgp_peer2_inupdates (cbgpPeer2InUpdates)
=item cisco_bgp_peer2_outupdates (cbgpPeer2OutUpdates)
=item cisco_bgp_peer2_intotalmessages (cbgpPeer2InTotalMessages)
=item cisco_bgp_peer2_outtotalmessages (cbgpPeer2OutTotalMessages)
=item cisco_bgp_peer2_lasterror (cbgpPeer2LastError)
=item cisco_bgp_peer2_fsmestablishedtransitions (cbgpPeer2FsmEstablishedTransitions)
=item cisco_bgp_peer2_fsmestablishedtime (cbgpPeer2FsmEstablishedTime)
=item cisco_bgp_peer2_connectretryinterval (cbgpPeer2ConnectRetryInterval)
=item cisco_bgp_peer2_holdtime (cbgpPeer2HoldTime)
=item cisco_bgp_peer2_keepalive (cbgpPeer2KeepAlive)
=item cisco_bgp_peer2_holdtimeconfigured (cbgpPeer2HoldTimeConfigured)
=item cisco_bgp_peer2_keepaliveconfigured (cbgpPeer2KeepAliveConfigured)
=item cisco_bgp_peer2_minasoriginationinterval (cbgpPeer2MinASOriginationInterval)
=item cisco_bgp_peer2_inupdatelapsedtime (cbgpPeer2InUpdateElapsedTime)
=item cisco_bgp_peer2_lasterrortxt (cbgpPeer2LastErrorTxt)
=item cisco_bgp_peer2_prevstate (cbgpPeer2PrevState)
=back
=head2 Cisco BGP Peer 2 Address Family Prefix Table (cbgpPeer2AddrFamilyPrefixTable)
This table contains prefix related information related to address families
supported by a peer.
=over
=item cisco_bgp_peer2_acceptedprefixes (cbgpPeer2AcceptedPrefixes)
=item cisco_bgp_peer2_deniedprefixes (cbgpPeer2DeniedPrefixes)
=item cisco_bgp_peer2_prefixadminlimit (cbgpPeer2PrefixAdminLimit)
=item cisco_bgp_peer2_prefixthreshold (cbgpPeer2PrefixThreshold)
=item cisco_bgp_peer2_prefixclearthreshold (cbgpPeer2PrefixClearThreshold)
=item cisco_bgp_peer2_advertisedprefixes (cbgpPeer2AdvertisedPrefixes)
=item cisco_bgp_peer2_suppressedprefixes (cbgpPeer2SuppressedPrefixes)
=item cisco_bgp_peer2_withdrawnprefixes (cbgpPeer2WithdrawnPrefixes)
=back
=head2 METHODS
=over
=item parse_cisco_bgp_peer2_entry_index
Takes a cbgpPeer2Entry index as returned by all methods of the Cisco BGP Peer
2 Table methods.
Returns a list of type (numeric, cbgpPeer2Type), address length (in bytes:
4 for IPv4, 16 for IPv6) and the remote IP address as string.
=back
=cut

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'CISCO-CONFIG-COPY-MIB' => 'ccCopyTable',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PAECAPABILITIES);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'CISCO-PORT-SECURITY-MIB' => 'ciscoPortSecurityMIB',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
'CISCO-CDP-MIB' => 'cdpCachePowerConsumption',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'CISCO-CLASS-BASED-QOS-MIB' => 'cbQosIfIndex', );

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'CISCO-RTTMON-MIB' => 'rttMonCtrlAdminOwner', );

View File

@@ -38,7 +38,7 @@ use Exporter;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'CISCO-STACK-MIB' => 'ciscoStackMIB', );

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'SNMPv2-MIB' => 'sysDescr',
@@ -109,6 +109,7 @@ sub os {
return 'ios-xe' if ( $descr =~ /Fuji/ );
return 'ios-xe' if ( $descr =~ /Everest/ );
return 'ios-xe' if ( $descr =~ /Gibraltar/ );
return 'ios-xe' if ( $descr =~ /Amsterdam/ );
return 'ios-xe' if ( $descr =~ /IOS-XE/ );
return 'ios-xr' if ( $descr =~ /IOS XR/ );
return 'ios' if ( $descr =~ /IOS/ );

View File

@@ -36,7 +36,7 @@ use SNMP::Info::Bridge;
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT, $INIT);
$VERSION = '3.80';
$VERSION = '3.89';
@SNMP::Info::CiscoStpExtensions::ISA = qw/SNMP::Info::Bridge SNMP::Info Exporter/;
@SNMP::Info::CiscoStpExtensions::EXPORT_OK = qw//;

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'CISCO-VTP-MIB' => 'vtpVlanName',
@@ -199,6 +199,32 @@ sub i_vlan {
return \%i_vlans;
}
sub i_subinterfaces {
my $vtp = shift;
my %i_subs = %{ $vtp->SUPER::i_subinterfaces() || {} };
# CISCO-VLAN-IFTABLE-RELATION-MIB
# Used for traditional Cisco Routers and Aironet
my $v_cvi_if = $vtp->v_cvi_if();
if ( defined $v_cvi_if ) {
# Translate vlan.parent_physical_interface_iid -> iid
# to iid -> [iid, iid, ...]
foreach my $i ( keys %$v_cvi_if ) {
my ( $vlan, $phys ) = split( /\./, $i );
my $iid = $v_cvi_if->{$i};
next unless $phys and $iid;
next if $phys == $iid;
push @{ $i_subs{$phys} }, $iid;
}
}
return \%i_subs;
}
sub i_untagged {
my $vtp = shift;
my ( $ifindex ) = @_;
@@ -625,6 +651,22 @@ IDs. These are the VLANs which are members of enabled VLAN list for the port.
print "Port: $port VLAN: $vlan\n";
}
=item $vtp->i_subinterfaces()
Returns reference to hash of arrays: key = C<ifIndex>, value = array of
C<ifIndex>. These are the VLAN subinterfaces (C<l2vlan> type) for the parent
(C<ethernetCsmacd> type) interface.
Example:
my $interfaces = $vtp->interfaces();
my $i_subs = $vtp->i_subinterfaces();
foreach my $iid (sort keys %$interfaces) {
my $port = $interfaces->{$iid};
my $subs = join(',', sort(map {$interfaces->{$_}} @{$i_subs->{$iid}}));
print "Port: $port has subinterfaces: $subs\n";
}
=item $vtp->i_vlan_membership_untagged()
Returns reference to hash of arrays: key = C<ifIndex>, value = array of VLAN

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS

View File

@@ -11,7 +11,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'DOCS-IF3-MIB' => 'docsIf3Mib',

View File

@@ -40,7 +40,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'EXTREME-EDP-MIB' => 'extremeEdpPortIfIndex',

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'ENTITY-MIB' => 'entPhysicalSerialNum' );

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'EtherLike-MIB' => 'etherMIB' );

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' );

View File

@@ -42,7 +42,7 @@ use SNMP::Info;
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, $INIT);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'IEEE8021-Q-BRIDGE-MIB' => 'ieee8021QBridgeVlanCurrentEgressPorts',

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( 'IEEE802dot11-MIB' => 'dot11DesiredSSID', );

View File

@@ -44,7 +44,7 @@ use SNMP::Info::Aggregate;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Aggregate::MIBS,

View File

@@ -45,7 +45,7 @@ use constant {
IPV6MIB => 3,
};
$VERSION = '3.80';
$VERSION = '3.89';
@@ -349,7 +349,7 @@ sub ipv6_addr_prefixlength {
# Remove interface specific part from vrf interfaces
if ($row =~ /^((\d+\.){17}\d+)/) { $row = $1 }
# Remove the OID part from the value
my $val = $ipv6_addr_prefix->{$row};
my $val = $ipv6_addr_prefix->{$row} || '';
if ( $val =~ /^.+?((?:\d+\.){19}(\d+))$/ ) {
$val = $2;
$return->{$row} = $val;
@@ -363,7 +363,7 @@ sub ipv6_addr_prefixlength {
sub ipv6_addr {
my $info = shift;
my $return;
my $return = {};
my $indexes = $info->ipv6_index();
foreach my $row (keys %$indexes) {
my @parts = split(/\./, $row);
@@ -377,8 +377,8 @@ sub ipv6_addr {
my $addrsize = shift @parts; # First element now is addrsize, should be 16
if ($is_valid && $addrsize == 16) {
$return->{$row} = join(':', unpack('(H4)*', pack('C*', @parts)));
} else {
warn sprintf("%s: unable to decode table index to IPv6 address. Raw data is [%s].\n", &_my_sub_name, $row);
} elsif ($info->debug()) {
printf("%s: unable to decode table index to IPv6 address. Raw data is [%s].\n", &_my_sub_name, $row);
}
}
return $return;

View File

@@ -39,7 +39,7 @@ use SNMP::Info;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
'LLDP-MIB' => 'lldpLocSysCapEnabled',
@@ -52,6 +52,8 @@ $VERSION = '3.80';
'lldp_sysname' => 'lldpLocSysName',
'lldp_sysdesc' => 'lldpLocSysDesc',
'lldp_sys_cap' => 'lldpLocSysCapEnabled',
'lldp_loc_id_type' => 'lldpLocChassisIdSubtype',
'lldp_loc_id_os' => 'lldpLocChassisId',
);
%FUNCS = (
@@ -283,6 +285,29 @@ sub lldp_port {
return \%lldp_port;
}
sub _lldp_id_string {
my $lldp = shift;
my $id = shift;
my $type = shift;
# May need to format other types in the future
if ( $type =~ /mac/ ) {
$id = SNMP::Info::munge_mac($id)
} elsif ( $type eq 'networkAddress' ) {
if ( length( unpack( 'H*', $id ) ) == 10 ) {
# IP address - first octet is IANA Address Family Number, need
# walk with IPv6
my @octets
= ( map { sprintf "%02x", $_ } unpack( 'C*', $id ) )
[ 1 .. 4 ];
$id = join '.', map { hex($_) } @octets;
}
}
return $id;
}
sub lldp_id {
my $lldp = shift;
my $partial = shift;
@@ -297,26 +322,19 @@ sub lldp_id {
my $type = $ch_type->{$key};
next unless $type;
# May need to format other types in the future
if ( $type =~ /mac/ ) {
$id = SNMP::Info::munge_mac($id)
}
elsif ( $type eq 'networkAddress' ) {
if ( length( unpack( 'H*', $id ) ) == 10 ) {
# IP address - first octet is IANA Address Family Number, need
# walk with IPv6
my @octets
= ( map { sprintf "%02x", $_ } unpack( 'C*', $id ) )
[ 1 .. 4 ];
$id = join '.', map { hex($_) } @octets;
}
}
$id = $lldp->_lldp_id_string($id, $type);
$lldp_id{$key} = $id;
}
return \%lldp_id;
}
sub lldp_loc_id {
my $lldp = shift;
my $ch_type = $lldp->lldp_loc_id_type();
my $ch = $lldp->lldp_loc_id_os();
return $lldp->_lldp_id_string($ch, $ch_type);
}
sub lldp_platform {
my $lldp = shift;
my $partial = shift;
@@ -586,6 +604,22 @@ capability and nothing else."
(C<lldpLocSysCapEnabled>)
=item $lldp->lldp_loc_id()
The string value used to identify the chassis component associated with
the local system.
(C<lldpLocChassisId>)
=item $lldp->lldp_loc_id_type()
The type of encoding used to identify the chassis associated with the
local system.
This is used by the above method to decode the octet string in C<lldpLocChassisId>
(C<lldpLocChassisIdSubtype>)
=back
=head1 TABLE METHODS

View File

@@ -41,7 +41,7 @@ use SNMP::Info;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( %SNMP::Info::MIBS, 'SNMP-REPEATER-MIB' => 'rptrPortGroupIndex' );

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, 'root_ip' => 'actualIPAddr', );

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, );

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer1::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -37,22 +37,32 @@ use Exporter;
use SNMP::Info;
use SNMP::Info::Bridge;
use SNMP::Info::Entity;
use SNMP::Info::PortAccessEntity;
use SNMP::Info::PowerEthernet;
use SNMP::Info::LLDP;
use SNMP::Info::DocsisHE;
@SNMP::Info::Layer2::ISA
= qw/SNMP::Info SNMP::Info::Bridge SNMP::Info::Entity SNMP::Info::PowerEthernet SNMP::Info::LLDP SNMP::Info::DocsisHE Exporter/;
@SNMP::Info::Layer2::ISA = qw/
SNMP::Info SNMP::Info::Bridge
SNMP::Info::Entity
SNMP::Info::PowerEthernet
SNMP::Info::LLDP
SNMP::Info::DocsisHE
SNMP::Info::PortAccessEntity
Exporter
/;
@SNMP::Info::Layer2::EXPORT_OK = qw//;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,
%SNMP::Info::Entity::MIBS, %SNMP::Info::PowerEthernet::MIBS,
%SNMP::Info::LLDP::MIBS, %SNMP::Info::DocsisHE::MIBS,
%SNMP::Info::PortAccessEntity::MIBS
);
%GLOBALS = (
@@ -62,6 +72,7 @@ $VERSION = '3.80';
%SNMP::Info::Entity::GLOBALS,
%SNMP::Info::PowerEthernet::GLOBALS,
%SNMP::Info::LLDP::GLOBALS,
%SNMP::Info::PortAccessEntity::GLOBALS,
'serial1' =>
'.1.3.6.1.4.1.9.3.6.3.0', # OLD-CISCO-CHASSIS-MIB::chassisId.0
);
@@ -70,6 +81,7 @@ $VERSION = '3.80';
%SNMP::Info::FUNCS, %SNMP::Info::Bridge::FUNCS,
%SNMP::Info::Entity::FUNCS, %SNMP::Info::PowerEthernet::FUNCS,
%SNMP::Info::LLDP::FUNCS, %SNMP::Info::DocsisHE::FUNCS,
%SNMP::Info::PortAccessEntity::FUNCS
);
%MUNGE = (
@@ -81,6 +93,7 @@ $VERSION = '3.80';
%SNMP::Info::Entity::MUNGE,
%SNMP::Info::PowerEthernet::MUNGE,
%SNMP::Info::LLDP::MUNGE,
%SNMP::Info::PortAccessEntity::MUNGE,
);
# Method OverRides
@@ -105,8 +118,8 @@ sub model {
sub vendor {
my $l2 = shift;
my $model = $l2->model();
my $descr = $l2->description();
my $model = $l2->model() || '';
my $descr = $l2->description() || '';
if ( $model =~ /hp/i or $descr =~ /\bhp\b/i ) {
return 'hp';
@@ -236,6 +249,8 @@ after determining a more specific class using the method above.
=item SNMP::Info::PowerEthernet
=item SNMP::Info::PortAccessEntity
=back
=head2 Required MIBs
@@ -293,6 +308,10 @@ See documentation in L<SNMP::Info::Entity/"GLOBALS"> for details.
See documentation in L<SNMP::Info::LLDP/"GLOBALS"> for details.
=head2 Globals imported from SNMP::Info::PortAccessEntity
See documentation in L<SNMP::Info::PortAccessEntity/"GLOBALS"> for details.
=head1 TABLE METHODS
These are methods that return tables of information in the form of a reference
@@ -327,4 +346,8 @@ See documentation in L<SNMP::Info::Entity/"TABLE METHODS"> for details.
See documentation in L<SNMP::Info::LLDP/"TABLE METHODS"> for details.
=head2 Table Methods imported from SNMP::Info::PortAccessEntity
See documentation in L<SNMP::Info::PortAccessEntity/"TABLE METHODS"> for details.
=cut

View File

@@ -39,7 +39,7 @@ use SNMP::Info::CDP;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Airespace;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::MIBS, %SNMP::Info::Bridge::MIBS,

View File

@@ -48,7 +48,7 @@ use SNMP::Info::IEEE802dot11;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%GLOBALS = (
%SNMP::Info::IEEE802dot11::GLOBALS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer1;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( %SNMP::Info::Layer2::MIBS );

View File

@@ -45,7 +45,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -552,10 +552,6 @@ Returns reference to the map between IID and physical Port.
The physical port name is returned as slot.port.
=item $baystack->i_ignore()
Returns reference to hash of IIDs to ignore.
=item $baystack->i_mac()
Returns the C<ifPhysAddress> table entries.

View File

@@ -48,7 +48,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2::Cisco;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%GLOBALS = (
%SNMP::Info::Layer2::Cisco::GLOBALS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2::Cisco;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::Cisco::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::SONMP;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::MIBS,

View File

@@ -52,7 +52,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -49,7 +49,7 @@ use SNMP::Info::CDP;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -50,7 +50,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -45,7 +45,7 @@ use SNMP::Info::CDP;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -37,7 +37,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Airespace;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::IEEE802dot11::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,
@@ -53,9 +53,9 @@ $VERSION = '3.80';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
'os_ver' => 'ntwsVersionString',
'serial' => 'ntwsSerialNumber',
'mac' => 'dot1dBaseBridgeAddress',
'os_ver' => 'ntwsVersionString',
'nws_serial' => 'ntwsSerialNumber',
'mac' => 'dot1dBaseBridgeAddress',
);
%FUNCS = (
@@ -139,6 +139,14 @@ sub vendor {
return 'avaya';
}
sub serial {
my $nwss2300 = shift;
my $ser = $nwss2300->ntwsSerialNumber();
# my $ser = $nwss2300->nws_serial();
return $ser;
}
sub model {
my $nwss2300 = shift;
my $id = $nwss2300->id();
@@ -654,7 +662,7 @@ sub e_serial {
my %e_serial;
# Chassis
$e_serial{1} = $nwss2300->serial();
$e_serial{1} = $nwss2300->serial() || '';
# APs
foreach my $iid ( keys %$ap_serial ) {

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
# This will be filled in with the device's index into the EntPhysicalEntry
# table by the serial() function.

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (%SNMP::Info::Layer2::MIBS, 'SIXNET-MIB' => 'sxid',);

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,
@@ -53,9 +53,9 @@ $VERSION = '3.80';
%GLOBALS = (
%SNMP::Info::Layer2::GLOBALS,
'os_ver' => 'trpzVersionString',
'serial' => 'trpzSerialNumber',
'mac' => 'dot1dBaseBridgeAddress',
'os_ver' => 'trpzVersionString',
'tr_serial' => 'trpzSerialNumber',
'mac' => 'dot1dBaseBridgeAddress',
);
%FUNCS = (
@@ -138,6 +138,14 @@ sub vendor {
return 'juniper';
}
sub serial {
my $trapeze = shift;
my $ser = $trapeze->trpzSerialNumber();
# my $ser = $trapeze->tr_serial();
return $ser;
}
sub model {
my $trapeze = shift;
my $id = $trapeze->id();
@@ -653,7 +661,7 @@ sub e_serial {
my %e_serial;
# Chassis
$e_serial{1} = $trapeze->serial();
$e_serial{1} = $trapeze->serial() || '';
# APs
foreach my $iid ( keys %$ap_serial ) {

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Layer3; # only used in sub mac()
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
# Set for No CDP
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );

View File

@@ -54,7 +54,7 @@ use SNMP::Info::DocsisHE;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::MIBS,
@@ -277,6 +277,30 @@ sub model {
return $model;
}
sub i_subinterfaces {
my $dev = shift;
my $partial = shift;
my $ifstack = $dev->i_stack_status() || {};
# TODO: if we want to do partial, we need to use inverse status
my $iftype = $dev->i_type() || {};
my $ret = $dev->SUPER::i_subinterfaces() || {};
foreach my $idx ( keys %$ifstack ) {
next unless $ifstack->{$idx} eq 'active';
my ( $higher, $lower ) = split /\./, $idx;
next if ( $higher == 0 or $lower == 0 );
if ( $iftype->{ $higher } eq 'l2vlan' or $iftype->{ $higher } eq 'l3ipvlan') {
push @{ $ret->{ $lower } }, $higher;
}
}
return $ret;
}
sub i_name {
my $l3 = shift;
my $partial = shift;
@@ -357,8 +381,8 @@ sub interfaces {
sub vendor {
my $l3 = shift;
my $descr = $l3->description();
my $id = $l3->id();
my $descr = $l3->description() || '';
my $id = $l3->id() || '';
# .1.3.6.1.4.1.9.1 is the CISCO-PRODUCTS-MIB
# .1.3.6.1.4.1.9.9.368.4 is an old tree that Cisco CSSs were numbered from
@@ -611,6 +635,22 @@ name.
Only returns those iids that have a description listed in $l3->i_description()
=item $l3->i_subinterfaces()
Returns reference to hash of arrays: key = C<ifIndex>, value = array of
C<ifIndex>. These are the VLAN subinterfaces (C<l2vlan> type) for the parent
(C<ethernetCsmacd> type) interface.
Example:
my $interfaces = $l3->interfaces();
my $i_subs = $l3->i_subinterfaces();
foreach my $iid (sort keys %$interfaces) {
my $port = $interfaces->{$iid};
my $subs = join(',', sort(map {$interfaces->{$_}} @{$i_subs->{$iid}}));
print "Port: $port has subinterfaces: $subs\n";
}
=item $l3->i_name()
Returns reference to hash of iid to human set name.

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -49,7 +49,7 @@ use SNMP::Info::LLDP;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE,
$int_include_vpn, $fake_idx, $type_class);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -46,7 +46,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -48,7 +48,7 @@ use SNMP::Info::IEEE802_Bridge;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE, %MODEL_MAP,
%MODID_MAP, %PROCID_MAP);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -37,7 +37,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,

View File

@@ -46,7 +46,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
$VERSION = '3.80';
$VERSION = '3.89';
# NOTE: Order creates precedence
# Example: v_name exists in Bridge.pm and CiscoVTP.pm

View File

@@ -43,7 +43,7 @@ use SNMP::Info::MAU;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::MAU::MIBS,

View File

@@ -48,7 +48,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@SNMP::Info::Layer3::C6500::EXPORT_OK = qw//;
$VERSION = '3.80';
$VERSION = '3.89';
# NOTE: Order creates precedence
# Example: v_name exists in Bridge.pm and CiscoVTP.pm

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -32,6 +32,7 @@ package SNMP::Info::Layer3::Cisco;
use strict;
use warnings;
use Exporter;
use SNMP::Info::CiscoBGP;
use SNMP::Info::CiscoVTP;
use SNMP::Info::CDP;
use SNMP::Info::CiscoStats;
@@ -42,7 +43,9 @@ use SNMP::Info::CiscoPower;
use SNMP::Info::CiscoStpExtensions;
use SNMP::Info::Layer3;
@SNMP::Info::Layer3::Cisco::ISA = qw/SNMP::Info::CiscoVTP
@SNMP::Info::Layer3::Cisco::ISA = qw/
SNMP::Info::CiscoBGP
SNMP::Info::CiscoVTP
SNMP::Info::CDP
SNMP::Info::CiscoStats SNMP::Info::CiscoRTT
SNMP::Info::CiscoQOS SNMP::Info::CiscoConfig
@@ -53,10 +56,11 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
%SNMP::Info::CiscoBGP::MIBS,
%SNMP::Info::CiscoStpExtensions::MIBS,
%SNMP::Info::CiscoPower::MIBS,
%SNMP::Info::CiscoConfig::MIBS,
@@ -70,6 +74,7 @@ $VERSION = '3.80';
%GLOBALS = (
%SNMP::Info::Layer3::GLOBALS,
%SNMP::Info::CiscoBGP::GLOBALS,
%SNMP::Info::CiscoStpExtensions::GLOBALS,
%SNMP::Info::CiscoPower::GLOBALS,
%SNMP::Info::CiscoConfig::GLOBALS,
@@ -83,6 +88,7 @@ $VERSION = '3.80';
%FUNCS = (
%SNMP::Info::Layer3::FUNCS,
%SNMP::Info::CiscoBGP::FUNCS,
%SNMP::Info::CiscoStpExtensions::FUNCS,
%SNMP::Info::CiscoPower::FUNCS,
%SNMP::Info::CiscoConfig::FUNCS,
@@ -98,13 +104,21 @@ $VERSION = '3.80';
);
%MUNGE = (
%SNMP::Info::Layer3::MUNGE, %SNMP::Info::CiscoStpExtensions::MUNGE,
%SNMP::Info::CiscoPower::MUNGE, %SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoQOS::MUNGE, %SNMP::Info::CiscoRTT::MUNGE,
%SNMP::Info::CiscoStats::MUNGE, %SNMP::Info::CDP::MUNGE,
%SNMP::Info::Layer3::MUNGE,
%SNMP::Info::CiscoBGP::MUNGE,
%SNMP::Info::CiscoStpExtensions::MUNGE,
%SNMP::Info::CiscoPower::MUNGE,
%SNMP::Info::CiscoConfig::MUNGE,
%SNMP::Info::CiscoQOS::MUNGE,
%SNMP::Info::CiscoRTT::MUNGE,
%SNMP::Info::CiscoStats::MUNGE,
%SNMP::Info::CDP::MUNGE,
%SNMP::Info::CiscoVTP::MUNGE,
);
# the i_vlan in SUPER is just fine; this exists to catch any dotted vlan
# subinterfaces not caught by CiscoVTP
sub i_vlan {
my $cisco = shift;
my $partial = shift;
@@ -115,18 +129,17 @@ sub i_vlan {
foreach my $idx ( keys %$i_descr ) {
next unless $i_type->{$idx};
if ( $i_type->{$idx} eq 'l2vlan'
|| $i_type->{$idx} eq '135' && !defined $i_vlan->{$idx} )
{
# Not sure where this regex came from, anchored at end?
if ( $i_descr->{$idx} =~ /\.(\d+)$/ ) {
$i_vlan->{$idx} = $1;
}
next unless (($i_type->{$idx} eq 'l2vlan' or $i_type->{$idx} eq '135')
and !defined $i_vlan->{$idx});
# This matches 101 in 'Ethernet0.101-802.1Q vLAN subif'
elsif ( $i_descr->{$idx} =~ /\.(\d+)-/ ) {
$i_vlan->{$idx} = $1;
}
# Not sure where this regex came from, anchored at end?
if ( $i_descr->{$idx} =~ /\.(\d+)$/ ) {
$i_vlan->{$idx} = $1;
}
# This matches 101 in 'Ethernet0.101-802.1Q vLAN subif'
elsif ( $i_descr->{$idx} =~ /\.(\d+)-/ ) {
$i_vlan->{$idx} = $1;
}
}
return $i_vlan;

View File

@@ -44,7 +44,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );

View File

@@ -35,6 +35,7 @@ use Exporter;
use SNMP::Info::CiscoAgg;
use SNMP::Info::CiscoPortSecurity;
use SNMP::Info::Layer3::Cisco;
use SNMP::Info::PortAccessEntity;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
@@ -42,35 +43,40 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
SNMP::Info::CiscoAgg
SNMP::Info::CiscoPortSecurity
SNMP::Info::Layer3::Cisco
SNMP::Info::PortAccessEntity
Exporter
/;
@SNMP::Info::Layer3::CiscoSwitch::EXPORT_OK = qw//;
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::Cisco::MIBS,
%SNMP::Info::CiscoPortSecurity::MIBS,
%SNMP::Info::CiscoAgg::MIBS,
%SNMP::Info::PortAccessEntity::MIBS,
);
%GLOBALS = (
%SNMP::Info::Layer3::Cisco::GLOBALS,
%SNMP::Info::CiscoPortSecurity::GLOBALS,
%SNMP::Info::CiscoAgg::GLOBALS,
%SNMP::Info::PortAccessEntity::GLOBALS,
);
%FUNCS = (
%SNMP::Info::Layer3::Cisco::FUNCS,
%SNMP::Info::CiscoPortSecurity::FUNCS,
%SNMP::Info::CiscoAgg::FUNCS,
%SNMP::Info::PortAccessEntity::FUNCS,
);
%MUNGE = (
%SNMP::Info::Layer3::Cisco::MUNGE,
%SNMP::Info::CiscoPortSecurity::MUNGE,
%SNMP::Info::CiscoAgg::MUNGE,
%SNMP::Info::PortAccessEntity::MUNGE,
);
sub cisco_comm_indexing { return 1; }

View File

@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -44,7 +44,7 @@ use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -80,7 +80,8 @@ sub os_ver {
my $descr = $netsnmp->description();
# STRING: "Cumulus Linux version 3.5.1 running on innotek GmbH VirtualBox"
return $1 if ( defined ($descr) && $descr =~ /^Cumulus Linux.+(\d+\.\d+\.\d+)\s/ );
# STRING: "Cumulus-Linux 4.1.1 (Linux Kernel 4.19.94-1+cl4u3)"
return $1 if ( defined ($descr) && $descr =~ /^Cumulus(?: |-)Linux.+(\d+\.\d+\.\d+)\s/ );
return;
}

View File

@@ -38,7 +38,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,
@@ -74,6 +74,18 @@ $VERSION = '3.80';
%MUNGE = ( %SNMP::Info::Layer3::MUNGE, );
sub layers {
my $dlink = shift;
my $layers = $dlink->SUPER::layers();
if ($layers) {
substr $layers, 5, 1, "1";
substr $layers, 6, 1, "1";
}
return $layers;
}
sub model {
my $dlink=shift;
my $id = $dlink->id();
@@ -233,6 +245,10 @@ These are methods that return scalar value from SNMP
=over
=item $dlink->layers()
Makes sure to always report layer 2 and 3.
=item $dlink->model()
Returns the ID or else description.

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -42,7 +42,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS

View File

@@ -43,7 +43,7 @@ use SNMP::Info::Layer3;
our ($VERSION, $DEBUG, %GLOBALS, %FUNCS, $INIT, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS, %SNMP::Info::CDP::MIBS,

View File

@@ -45,7 +45,7 @@ use SNMP::Info::EDP;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

View File

@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
$VERSION = '3.80';
$VERSION = '3.89';
%MIBS = (
%SNMP::Info::Layer3::MIBS,

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