Compare commits
	
		
			39 Commits
		
	
	
		
			3.72
			...
			159ab659cb
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					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 | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -11,4 +11,3 @@ _build
 | 
			
		||||
blib
 | 
			
		||||
cover_db
 | 
			
		||||
.idea
 | 
			
		||||
.vscode
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ notifications:
 | 
			
		||||
    on_success: change
 | 
			
		||||
    on_failure: change
 | 
			
		||||
    channels:
 | 
			
		||||
      - 'irc.libera.chat#netdisco'
 | 
			
		||||
      - 'chat.freenode.net#netdisco'
 | 
			
		||||
#  email:
 | 
			
		||||
#    on_success: always
 | 
			
		||||
#    on_failure: always
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								Build.PL
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								Build.PL
									
									
									
									
									
								
							@@ -6,13 +6,13 @@ Module::Build->new(
 | 
			
		||||
  module_name => 'SNMP::Info',
 | 
			
		||||
  license     => 'bsd',
 | 
			
		||||
  dist_author => 'Eric A. Miller <emiller@cpan.org>',
 | 
			
		||||
  # dynamic_config => 1,
 | 
			
		||||
  # dynamic_config => 1,
 | 
			
		||||
  create_readme => 1,
 | 
			
		||||
  configure_requires => {
 | 
			
		||||
    'Module::Build' => '0.42',
 | 
			
		||||
  },
 | 
			
		||||
  # build_requires => {
 | 
			
		||||
  # },
 | 
			
		||||
  # build_requires => {
 | 
			
		||||
  # },
 | 
			
		||||
  requires => {
 | 
			
		||||
    'SNMP' => '0',
 | 
			
		||||
    'Math::BigInt' => '0',
 | 
			
		||||
@@ -39,16 +39,16 @@ Module::Build->new(
 | 
			
		||||
    'Module::Find' => '0',
 | 
			
		||||
    'Hook::LexWrap' => '0',
 | 
			
		||||
  },
 | 
			
		||||
  # script_files => [
 | 
			
		||||
  # ],
 | 
			
		||||
  # share_dir => 'share',
 | 
			
		||||
  # script_files => [
 | 
			
		||||
  # ],
 | 
			
		||||
  # share_dir => 'share',
 | 
			
		||||
  meta_merge => {
 | 
			
		||||
    resources => {
 | 
			
		||||
      homepage => 'http://netdisco.org/',
 | 
			
		||||
      bugtracker => 'https://github.com/netdisco/snmp-info/issues',
 | 
			
		||||
      repository => 'https://github.com/netdisco/snmp-info',
 | 
			
		||||
      MailingList => 'https://lists.sourceforge.net/lists/listinfo/snmp-info-users',
 | 
			
		||||
      IRC => 'irc://irc.libera.chat/#netdisco',
 | 
			
		||||
      IRC => 'irc://irc.freenode.org/#netdisco',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
)->create_build_script;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								Changes
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								Changes
									
									
									
									
									
								
							@@ -1,30 +1,3 @@
 | 
			
		||||
Version 3.72 (2021-06-28)
 | 
			
		||||
 | 
			
		||||
  [NEW FEATURES]
 | 
			
		||||
 | 
			
		||||
  * Support for Aruba CX switches
 | 
			
		||||
  * IEEE802_Bridge module
 | 
			
		||||
 | 
			
		||||
  [BUG FIXES]
 | 
			
		||||
 | 
			
		||||
  * #403 don't use layer3::dell for layer3::aruba devices
 | 
			
		||||
  * layer2::aerohive supports version numbers above 9
 | 
			
		||||
 | 
			
		||||
Version 3.71 (2020-11-27)
 | 
			
		||||
 | 
			
		||||
  [NEW FEATURES]
 | 
			
		||||
 | 
			
		||||
  * #386 Teltonika RUT9XX support (jeroenvis)
 | 
			
		||||
 | 
			
		||||
  [ENHANCEMENTS]
 | 
			
		||||
 | 
			
		||||
  * #398, 411 more ubiquiti cleanup and support for er-12 (lbegnaud & inphobia)
 | 
			
		||||
 | 
			
		||||
  [BUG FIXES]
 | 
			
		||||
 | 
			
		||||
  * #409, 410 Don't add AUTOLOAD generated methods in symbol table
 | 
			
		||||
  * #372, 375 fix lldp on nx-os6 (inphobia)
 | 
			
		||||
 | 
			
		||||
Version 3.70 (2019-10-15)
 | 
			
		||||
 | 
			
		||||
  [NEW FEATURES]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								MANIFEST
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								MANIFEST
									
									
									
									
									
								
							@@ -32,7 +32,6 @@ lib/SNMP/Info/EDP.pm
 | 
			
		||||
lib/SNMP/Info/Entity.pm
 | 
			
		||||
lib/SNMP/Info/EtherLike.pm
 | 
			
		||||
lib/SNMP/Info/FDP.pm
 | 
			
		||||
lib/SNMP/Info/IEEE802_Bridge.pm
 | 
			
		||||
lib/SNMP/Info/IEEE802dot11.pm
 | 
			
		||||
lib/SNMP/Info/IEEE802dot3ad.pm
 | 
			
		||||
lib/SNMP/Info/IPv6.pm
 | 
			
		||||
@@ -127,7 +126,6 @@ lib/SNMP/Info/Layer3/SonicWALL.pm
 | 
			
		||||
lib/SNMP/Info/Layer3/Steelhead.pm
 | 
			
		||||
lib/SNMP/Info/Layer3/Sun.pm
 | 
			
		||||
lib/SNMP/Info/Layer3/Tasman.pm
 | 
			
		||||
lib/SNMP/Info/Layer3/Teltonika.pm
 | 
			
		||||
lib/SNMP/Info/Layer3/Timetra.pm
 | 
			
		||||
lib/SNMP/Info/Layer3/VMware.pm
 | 
			
		||||
lib/SNMP/Info/Layer3/VyOS.pm
 | 
			
		||||
@@ -276,7 +274,6 @@ xt/lib/Test/SNMP/Info/Layer3/SonicWALL.pm
 | 
			
		||||
xt/lib/Test/SNMP/Info/Layer3/Steelhead.pm
 | 
			
		||||
xt/lib/Test/SNMP/Info/Layer3/Sun.pm
 | 
			
		||||
xt/lib/Test/SNMP/Info/Layer3/Tasman.pm
 | 
			
		||||
xt/lib/Test/SNMP/Info/Layer3/Teltonika.pm
 | 
			
		||||
xt/lib/Test/SNMP/Info/Layer3/Timetra.pm
 | 
			
		||||
xt/lib/Test/SNMP/Info/Layer3/VMware.pm
 | 
			
		||||
xt/lib/Test/SNMP/Info/Layer3/VyOS.pm
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										286
									
								
								META.json
									
									
									
									
									
								
							
							
						
						
									
										286
									
								
								META.json
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
			
		||||
      "Eric A. Miller <emiller@cpan.org>"
 | 
			
		||||
   ],
 | 
			
		||||
   "dynamic_config" : 1,
 | 
			
		||||
   "generated_by" : "Module::Build version 0.4231",
 | 
			
		||||
   "generated_by" : "Module::Build version 0.4224",
 | 
			
		||||
   "license" : [
 | 
			
		||||
      "bsd"
 | 
			
		||||
   ],
 | 
			
		||||
@@ -53,551 +53,543 @@
 | 
			
		||||
   "provides" : {
 | 
			
		||||
      "SNMP::Info" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::AMAP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/AMAP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::AdslLine" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/AdslLine.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Aggregate" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Aggregate.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Airespace" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Airespace.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Bridge" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Bridge.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CDP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CDP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoAgg" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoAgg.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoConfig" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoConfig.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoPortSecurity" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoPortSecurity.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoPower" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoPower.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoQOS" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoQOS.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoRTT" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoRTT.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoStack" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoStack.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoStats" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoStats.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoStpExtensions" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoStpExtensions.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::CiscoVTP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/CiscoVTP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::DocsisCM" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/DocsisCM.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::DocsisHE" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/DocsisHE.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::EDP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/EDP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Entity" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Entity.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::EtherLike" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/EtherLike.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::FDP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/FDP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::IEEE802_Bridge" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/IEEE802_Bridge.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::IEEE802dot11" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/IEEE802dot11.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::IEEE802dot3ad" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/IEEE802dot3ad.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::IPv6" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/IPv6.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::LLDP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/LLDP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer1" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer1.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer1::Allied" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer1/Allied.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer1::Asante" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer1/Asante.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer1::Bayhub" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer1/Bayhub.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer1::Cyclades" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer1/Cyclades.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer1::S3000" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer1/S3000.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::3Com" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/3Com.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Adtran" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Adtran.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Aerohive" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Aerohive.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Airespace" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Airespace.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Aironet" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Aironet.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Allied" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Allied.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Atmedia" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Atmedia.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Baystack" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Baystack.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::C1900" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/C1900.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::C2900" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/C2900.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Catalyst" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Catalyst.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Centillion" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Centillion.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Cisco" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Cisco.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::CiscoSB" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/CiscoSB.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Exinda" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Exinda.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::HP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/HP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::HP4000" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/HP4000.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::HPVC" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/HPVC.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Kentrox" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Kentrox.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::N2270" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/N2270.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::NAP222x" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/NAP222x.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::NWSS2300" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/NWSS2300.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Netgear" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Netgear.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Nexans" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Nexans.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Orinoco" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Orinoco.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Sixnet" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Sixnet.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Trapeze" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Trapeze.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::Ubiquiti" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/Ubiquiti.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer2::ZyXEL_DSLAM" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Aironet" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Aironet.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::AlcatelLucent" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/AlcatelLucent.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::AlteonAD" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/AlteonAD.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Altiga" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Altiga.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Arista" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Arista.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Aruba" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Aruba.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::BayRS" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/BayRS.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::BlueCoatSG" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/BlueCoatSG.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::C3550" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/C3550.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::C4000" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/C4000.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::C6500" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/C6500.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::CheckPoint" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/CheckPoint.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Ciena" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Ciena.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Cisco" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Cisco.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::CiscoASA" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/CiscoASA.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::CiscoFWSM" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/CiscoFWSM.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::CiscoSwitch" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/CiscoSwitch.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Contivity" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Contivity.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Cumulus" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Cumulus.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::DLink" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/DLink.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Dell" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Dell.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::ERX" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/ERX.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Enterasys" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Enterasys.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Extreme" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Extreme.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::F5" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/F5.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Force10" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Force10.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Fortinet" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Fortinet.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Foundry" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Foundry.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Genua" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Genua.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::H3C" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/H3C.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::HP9300" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/HP9300.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Huawei" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Huawei.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::IBMGbTor" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/IBMGbTor.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Juniper" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Juniper.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Lantronix" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Lantronix.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Lenovo" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Lenovo.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Microsoft" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Microsoft.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Mikrotik" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Mikrotik.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::N1600" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/N1600.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::NetSNMP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/NetSNMP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Netscreen" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Netscreen.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Nexus" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Nexus.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::OneAccess" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/OneAccess.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::PacketFront" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/PacketFront.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::PaloAlto" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/PaloAlto.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Passport" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Passport.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Pf" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Pf.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Pica8" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Pica8.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Redlion" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Redlion.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Scalance" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Scalance.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::SonicWALL" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/SonicWALL.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Steelhead" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Steelhead.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Sun" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Sun.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Tasman" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Tasman.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Teltonika" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Teltonika.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::Timetra" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/Timetra.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::VMware" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/VMware.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer3::VyOS" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer3/VyOS.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7::APC" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7/APC.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7::Arbor" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7/Arbor.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7::CiscoIPS" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7/CiscoIPS.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7::Gigamon" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7/Gigamon.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7::Liebert" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7/Liebert.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7::Neoteris" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7/Neoteris.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::Layer7::Netscaler" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/Layer7/Netscaler.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::MAU" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/MAU.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::MRO" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/MRO.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::NortelStack" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/NortelStack.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::PowerEthernet" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/PowerEthernet.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::RapidCity" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/RapidCity.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      },
 | 
			
		||||
      "SNMP::Info::SONMP" : {
 | 
			
		||||
         "file" : "lib/SNMP/Info/SONMP.pm",
 | 
			
		||||
         "version" : "3.72"
 | 
			
		||||
         "version" : "3.70"
 | 
			
		||||
      }
 | 
			
		||||
   },
 | 
			
		||||
   "release_status" : "stable",
 | 
			
		||||
@@ -612,9 +604,9 @@
 | 
			
		||||
      "repository" : {
 | 
			
		||||
         "url" : "https://github.com/netdisco/snmp-info"
 | 
			
		||||
      },
 | 
			
		||||
      "x_IRC" : "irc://irc.libera.chat/#netdisco",
 | 
			
		||||
      "x_IRC" : "irc://irc.freenode.org/#netdisco",
 | 
			
		||||
      "x_MailingList" : "https://lists.sourceforge.net/lists/listinfo/snmp-info-users"
 | 
			
		||||
   },
 | 
			
		||||
   "version" : "3.72",
 | 
			
		||||
   "x_serialization_backend" : "JSON::PP version 4.06"
 | 
			
		||||
   "version" : "3.70",
 | 
			
		||||
   "x_serialization_backend" : "JSON::PP version 2.97001"
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										282
									
								
								META.yml
									
									
									
									
									
								
							
							
						
						
									
										282
									
								
								META.yml
									
									
									
									
									
								
							@@ -18,7 +18,7 @@ build_requires:
 | 
			
		||||
configure_requires:
 | 
			
		||||
  Module::Build: '0.42'
 | 
			
		||||
dynamic_config: 1
 | 
			
		||||
generated_by: 'Module::Build version 0.4231, CPAN::Meta::Converter version 2.150010'
 | 
			
		||||
generated_by: 'Module::Build version 0.4224, CPAN::Meta::Converter version 2.150010'
 | 
			
		||||
license: bsd
 | 
			
		||||
meta-spec:
 | 
			
		||||
  url: http://module-build.sourceforge.net/META-spec-v1.4.html
 | 
			
		||||
@@ -27,415 +27,409 @@ name: SNMP-Info
 | 
			
		||||
provides:
 | 
			
		||||
  SNMP::Info:
 | 
			
		||||
    file: lib/SNMP/Info.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::AMAP:
 | 
			
		||||
    file: lib/SNMP/Info/AMAP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::AdslLine:
 | 
			
		||||
    file: lib/SNMP/Info/AdslLine.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Aggregate:
 | 
			
		||||
    file: lib/SNMP/Info/Aggregate.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Airespace:
 | 
			
		||||
    file: lib/SNMP/Info/Airespace.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Bridge:
 | 
			
		||||
    file: lib/SNMP/Info/Bridge.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CDP:
 | 
			
		||||
    file: lib/SNMP/Info/CDP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoAgg:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoAgg.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoConfig:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoConfig.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoPortSecurity:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoPortSecurity.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoPower:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoPower.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoQOS:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoQOS.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoRTT:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoRTT.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoStack:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoStack.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoStats:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoStats.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoStpExtensions:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoStpExtensions.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::CiscoVTP:
 | 
			
		||||
    file: lib/SNMP/Info/CiscoVTP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::DocsisCM:
 | 
			
		||||
    file: lib/SNMP/Info/DocsisCM.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::DocsisHE:
 | 
			
		||||
    file: lib/SNMP/Info/DocsisHE.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::EDP:
 | 
			
		||||
    file: lib/SNMP/Info/EDP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Entity:
 | 
			
		||||
    file: lib/SNMP/Info/Entity.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::EtherLike:
 | 
			
		||||
    file: lib/SNMP/Info/EtherLike.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::FDP:
 | 
			
		||||
    file: lib/SNMP/Info/FDP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
  SNMP::Info::IEEE802_Bridge:
 | 
			
		||||
    file: lib/SNMP/Info/IEEE802_Bridge.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::IEEE802dot11:
 | 
			
		||||
    file: lib/SNMP/Info/IEEE802dot11.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::IEEE802dot3ad:
 | 
			
		||||
    file: lib/SNMP/Info/IEEE802dot3ad.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::IPv6:
 | 
			
		||||
    file: lib/SNMP/Info/IPv6.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::LLDP:
 | 
			
		||||
    file: lib/SNMP/Info/LLDP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer1:
 | 
			
		||||
    file: lib/SNMP/Info/Layer1.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer1::Allied:
 | 
			
		||||
    file: lib/SNMP/Info/Layer1/Allied.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer1::Asante:
 | 
			
		||||
    file: lib/SNMP/Info/Layer1/Asante.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer1::Bayhub:
 | 
			
		||||
    file: lib/SNMP/Info/Layer1/Bayhub.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer1::Cyclades:
 | 
			
		||||
    file: lib/SNMP/Info/Layer1/Cyclades.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer1::S3000:
 | 
			
		||||
    file: lib/SNMP/Info/Layer1/S3000.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::3Com:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/3Com.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Adtran:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Adtran.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Aerohive:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Aerohive.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Airespace:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Airespace.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Aironet:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Aironet.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Allied:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Allied.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Atmedia:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Atmedia.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Baystack:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Baystack.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::C1900:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/C1900.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::C2900:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/C2900.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Catalyst:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Catalyst.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Centillion:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Centillion.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Cisco:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Cisco.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::CiscoSB:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/CiscoSB.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Exinda:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Exinda.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::HP:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/HP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::HP4000:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/HP4000.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::HPVC:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/HPVC.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Kentrox:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Kentrox.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::N2270:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/N2270.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::NAP222x:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/NAP222x.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::NWSS2300:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/NWSS2300.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Netgear:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Netgear.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Nexans:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Nexans.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Orinoco:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Orinoco.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Sixnet:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Sixnet.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Trapeze:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Trapeze.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::Ubiquiti:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/Ubiquiti.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer2::ZyXEL_DSLAM:
 | 
			
		||||
    file: lib/SNMP/Info/Layer2/ZyXEL_DSLAM.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Aironet:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Aironet.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::AlcatelLucent:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/AlcatelLucent.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::AlteonAD:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/AlteonAD.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Altiga:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Altiga.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Arista:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Arista.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Aruba:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Aruba.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::BayRS:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/BayRS.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::BlueCoatSG:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/BlueCoatSG.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::C3550:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/C3550.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::C4000:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/C4000.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::C6500:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/C6500.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::CheckPoint:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/CheckPoint.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Ciena:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Ciena.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Cisco:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Cisco.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::CiscoASA:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/CiscoASA.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::CiscoFWSM:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/CiscoFWSM.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::CiscoSwitch:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/CiscoSwitch.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Contivity:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Contivity.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Cumulus:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Cumulus.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::DLink:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/DLink.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Dell:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Dell.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::ERX:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/ERX.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Enterasys:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Enterasys.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Extreme:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Extreme.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::F5:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/F5.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Force10:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Force10.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Fortinet:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Fortinet.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Foundry:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Foundry.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Genua:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Genua.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::H3C:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/H3C.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::HP9300:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/HP9300.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Huawei:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Huawei.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::IBMGbTor:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/IBMGbTor.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Juniper:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Juniper.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Lantronix:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Lantronix.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Lenovo:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Lenovo.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Microsoft:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Microsoft.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Mikrotik:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Mikrotik.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::N1600:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/N1600.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::NetSNMP:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/NetSNMP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Netscreen:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Netscreen.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Nexus:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Nexus.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::OneAccess:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/OneAccess.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::PacketFront:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/PacketFront.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::PaloAlto:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/PaloAlto.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Passport:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Passport.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Pf:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Pf.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Pica8:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Pica8.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Redlion:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Redlion.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Scalance:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Scalance.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::SonicWALL:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/SonicWALL.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Steelhead:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Steelhead.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Sun:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Sun.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Tasman:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Tasman.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
  SNMP::Info::Layer3::Teltonika:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Teltonika.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::Timetra:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/Timetra.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::VMware:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/VMware.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer3::VyOS:
 | 
			
		||||
    file: lib/SNMP/Info/Layer3/VyOS.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7::APC:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7/APC.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7::Arbor:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7/Arbor.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7::CiscoIPS:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7/CiscoIPS.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7::Gigamon:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7/Gigamon.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7::Liebert:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7/Liebert.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7::Neoteris:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7/Neoteris.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::Layer7::Netscaler:
 | 
			
		||||
    file: lib/SNMP/Info/Layer7/Netscaler.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::MAU:
 | 
			
		||||
    file: lib/SNMP/Info/MAU.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::MRO:
 | 
			
		||||
    file: lib/SNMP/Info/MRO.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::NortelStack:
 | 
			
		||||
    file: lib/SNMP/Info/NortelStack.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::PowerEthernet:
 | 
			
		||||
    file: lib/SNMP/Info/PowerEthernet.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::RapidCity:
 | 
			
		||||
    file: lib/SNMP/Info/RapidCity.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
  SNMP::Info::SONMP:
 | 
			
		||||
    file: lib/SNMP/Info/SONMP.pm
 | 
			
		||||
    version: '3.72'
 | 
			
		||||
    version: '3.70'
 | 
			
		||||
recommends:
 | 
			
		||||
  Class::ISA: '0'
 | 
			
		||||
  File::Slurp: '0'
 | 
			
		||||
@@ -447,11 +441,11 @@ requires:
 | 
			
		||||
  NetAddr::IP: '4.068'
 | 
			
		||||
  SNMP: '0'
 | 
			
		||||
resources:
 | 
			
		||||
  IRC: irc://irc.libera.chat/#netdisco
 | 
			
		||||
  IRC: irc://irc.freenode.org/#netdisco
 | 
			
		||||
  MailingList: https://lists.sourceforge.net/lists/listinfo/snmp-info-users
 | 
			
		||||
  bugtracker: https://github.com/netdisco/snmp-info/issues
 | 
			
		||||
  homepage: http://netdisco.org/
 | 
			
		||||
  license: http://opensource.org/licenses/bsd-license.php
 | 
			
		||||
  repository: https://github.com/netdisco/snmp-info
 | 
			
		||||
version: '3.72'
 | 
			
		||||
version: '3.70'
 | 
			
		||||
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										78
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										78
									
								
								README
									
									
									
									
									
								
							@@ -2,7 +2,7 @@ NAME
 | 
			
		||||
    SNMP::Info - OO Interface to Network devices and MIBs through SNMP
 | 
			
		||||
 | 
			
		||||
VERSION
 | 
			
		||||
    SNMP::Info - Version 3.72
 | 
			
		||||
    SNMP::Info - Version 3.70
 | 
			
		||||
 | 
			
		||||
AUTHOR
 | 
			
		||||
    SNMP::Info is maintained by team of Open Source authors headed by Eric
 | 
			
		||||
@@ -213,17 +213,17 @@ SUBCLASSES
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::Bridge for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::CiscoAgg
 | 
			
		||||
        SNMP Interface to Cisco Aggregated Links
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CiscoAgg for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::CDP
 | 
			
		||||
        CISCO-CDP-MIB. Cisco Discovery Protocol (CDP) Support. Inherited by
 | 
			
		||||
        Cisco, Enterasys, and HP devices.
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CDP for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::CiscoAgg
 | 
			
		||||
        SNMP Interface to Cisco Aggregated Links
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CiscoAgg 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.
 | 
			
		||||
@@ -257,6 +257,11 @@ SUBCLASSES
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CiscoStack for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::CiscoStpExtensions
 | 
			
		||||
        CISCO-STP-EXTENSIONS-MIB
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CiscoStpExtensions for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::CiscoStats
 | 
			
		||||
        OLD-CISCO-CPU-MIB, CISCO-PROCESS-MIB, and CISCO-MEMORY-POOL-MIB.
 | 
			
		||||
        Provides common interfaces for memory, cpu, and os statistics for
 | 
			
		||||
@@ -264,27 +269,22 @@ SUBCLASSES
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CiscoStats for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::CiscoStpExtensions
 | 
			
		||||
        CISCO-STP-EXTENSIONS-MIB
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CiscoStpExtensions for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::CiscoVTP
 | 
			
		||||
        CISCO-VTP-MIB, CISCO-VLAN-MEMBERSHIP-MIB,
 | 
			
		||||
        CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::CiscoVTP for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::DocsisCM
 | 
			
		||||
        SNMP Interface for DOCSIS Cable Modems
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::DocsisCM 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
 | 
			
		||||
        Extreme Discovery Protocol. EXTREME-EDP-MIB
 | 
			
		||||
 | 
			
		||||
@@ -306,11 +306,6 @@ SUBCLASSES
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::FDP for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::IEEE802_Bridge
 | 
			
		||||
        SNMP Interface to data available through the IEEE8021-Q-BRIDGE-MIB
 | 
			
		||||
 | 
			
		||||
        See documentation in SNMP::Info::IEEE802_Bridge for details.
 | 
			
		||||
 | 
			
		||||
    SNMP::Info::IEEE802dot11
 | 
			
		||||
        IEEE802dot11-MIB. A collection of OIDs providing information about
 | 
			
		||||
        standards based 802.11 wireless devices.
 | 
			
		||||
@@ -428,7 +423,7 @@ SUBCLASSES
 | 
			
		||||
            See documentation in SNMP::Info::Layer2::Adtran for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer2::Aerohive
 | 
			
		||||
            Subclass for Aerohive / Extreme access points.
 | 
			
		||||
            Subclass for Aerohive Access Points.
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer2::Aerohive for details.
 | 
			
		||||
 | 
			
		||||
@@ -625,7 +620,7 @@ SUBCLASSES
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::BayRS for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer3::BlueCoatSG
 | 
			
		||||
            Subclass for BlueCoat SG series proxy devices.
 | 
			
		||||
            Subclass for Blue Coat SG series proxy devices.
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::BlueCoatSG for details.
 | 
			
		||||
 | 
			
		||||
@@ -688,6 +683,11 @@ SUBCLASSES
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::Cumulus for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer3::DLink
 | 
			
		||||
            Subclass for DLink devices.
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::DLink for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer3::Dell
 | 
			
		||||
            Subclass for Dell PowerConnect switches. The IBM BladeCenter
 | 
			
		||||
            Gigabit Ethernet Switch Module and some Linksys switches also
 | 
			
		||||
@@ -695,11 +695,6 @@ SUBCLASSES
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::Dell for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer3::DLink
 | 
			
		||||
            Subclass for DLink devices.
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::DLink for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer3::Enterasys
 | 
			
		||||
            Subclass for Enterasys devices.
 | 
			
		||||
 | 
			
		||||
@@ -872,11 +867,6 @@ SUBCLASSES
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::Tasman for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer3::Teltonika
 | 
			
		||||
            Subclass for Teltonika RUT9xx series routers.
 | 
			
		||||
 | 
			
		||||
            See documentation in SNMP::Info::Layer3::Teltonika for details.
 | 
			
		||||
 | 
			
		||||
        SNMP::Info::Layer3::Timetra
 | 
			
		||||
            Alcatel-Lucent SR Class.
 | 
			
		||||
 | 
			
		||||
@@ -1608,12 +1598,12 @@ USAGE
 | 
			
		||||
 | 
			
		||||
    For protocol specific information and implementation:
 | 
			
		||||
 | 
			
		||||
    AMAP: See SNMP::Info::AMAP for details.
 | 
			
		||||
    CDP: See SNMP::Info::CDP for details.
 | 
			
		||||
    EDP: See SNMP::Info::EDP for details.
 | 
			
		||||
    FDP: See SNMP::Info::FDP for details.
 | 
			
		||||
    LLDP: See SNMP::Info::LLDP for details.
 | 
			
		||||
    CDP: See SNMP::Info::CDP for details.
 | 
			
		||||
    SONMP: See SNMP::Info::SONMP for details.
 | 
			
		||||
    FDP: See SNMP::Info::FDP for details.
 | 
			
		||||
    EDP: See SNMP::Info::EDP for details.
 | 
			
		||||
    AMAP: See SNMP::Info::AMAP for details.
 | 
			
		||||
 | 
			
		||||
   Topology Capabilities
 | 
			
		||||
    $info->has_topo()
 | 
			
		||||
@@ -1943,7 +1933,7 @@ SNMP::INFO INTERNALS
 | 
			
		||||
         %SPEED_MAP = (
 | 
			
		||||
                        '56000'      => '56 kbps',
 | 
			
		||||
                        '64000'      => '64 kbps',
 | 
			
		||||
                        '115000'     => '115 kbps',
 | 
			
		||||
                        '115000'     => '115 kpbs',
 | 
			
		||||
                        '1500000'    => '1.5 Mbps',
 | 
			
		||||
                        '1536000'    => 'T1',
 | 
			
		||||
                        '1544000'    => 'T1',
 | 
			
		||||
@@ -1954,9 +1944,9 @@ SNMP::INFO INTERNALS
 | 
			
		||||
                        '4000000'    => '4.0 Mbps',
 | 
			
		||||
                        '10000000'   => '10 Mbps',
 | 
			
		||||
                        '11000000'   => '11 Mbps',
 | 
			
		||||
                        '20000000'   => '20 Mbps',
 | 
			
		||||
                        '16000000'   => '16 Mbps',
 | 
			
		||||
                        '16777216'   => '16 Mbps',
 | 
			
		||||
                        '20000000'   => '20 Mbps',
 | 
			
		||||
                        '44210000'   => 'T3',
 | 
			
		||||
                        '44736000'   => 'T3',
 | 
			
		||||
                        '45000000'   => '45 Mbps',
 | 
			
		||||
@@ -1966,11 +1956,11 @@ SNMP::INFO INTERNALS
 | 
			
		||||
                        '54000000'   => '54 Mbps',
 | 
			
		||||
                        '64000000'   => '64 Mbps',
 | 
			
		||||
                        '100000000'  => '100 Mbps',
 | 
			
		||||
                        '200000000'  => '200 Mbps',
 | 
			
		||||
                        '149760000'  => 'ATM on OC-3',
 | 
			
		||||
                        '155000000'  => 'OC-3',
 | 
			
		||||
                        '155519000'  => 'OC-3',
 | 
			
		||||
                        '155520000'  => 'OC-3',
 | 
			
		||||
                        '200000000'  => '200 Mbps',
 | 
			
		||||
                        '400000000'  => '400 Mbps',
 | 
			
		||||
                        '599040000'  => 'ATM on OC-12',
 | 
			
		||||
                        '622000000'  => 'OC-12',
 | 
			
		||||
@@ -2217,13 +2207,17 @@ SNMP::INFO INTERNALS
 | 
			
		||||
 | 
			
		||||
        Calls parent can() first to see if method exists, if not validates
 | 
			
		||||
        that a method should be created then dispatches to the appropriate
 | 
			
		||||
        internal method for creation.
 | 
			
		||||
        internal method for creation. The newly created method is inserted
 | 
			
		||||
        into the symbol table returning to AUTOLOAD only for the initial
 | 
			
		||||
        method call.
 | 
			
		||||
 | 
			
		||||
        Returns undef if the method does not exist and can not be created.
 | 
			
		||||
 | 
			
		||||
  AUTOLOAD
 | 
			
		||||
    Each entry in either %FUNCS, %GLOBALS, or MIB Leaf node names present in
 | 
			
		||||
    loaded MIBs are used by AUTOLOAD() to create dynamic methods.
 | 
			
		||||
    loaded MIBs are used by AUTOLOAD() to create dynamic methods. Generated
 | 
			
		||||
    methods are inserted into the symbol table so that subsequent calls can
 | 
			
		||||
    avoid AUTOLOAD() and dispatch directly.
 | 
			
		||||
 | 
			
		||||
    1. Returns unless method is listed in %FUNCS, %GLOBALS, or is a MIB Leaf
 | 
			
		||||
    node name in a loaded MIB for given class.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										168
									
								
								lib/SNMP/Info.pm
									
									
									
									
									
								
							
							
						
						
									
										168
									
								
								lib/SNMP/Info.pm
									
									
									
									
									
								
							@@ -25,7 +25,7 @@ our
 | 
			
		||||
    ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG, %SPEED_MAP,
 | 
			
		||||
     $NOSUCH, $BIGINT, $REPEATERS);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135-20.5.6';
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
@@ -33,7 +33,7 @@ SNMP::Info - OO Interface to Network devices and MIBs through SNMP
 | 
			
		||||
 | 
			
		||||
=head1 VERSION
 | 
			
		||||
 | 
			
		||||
SNMP::Info - Version 3.72
 | 
			
		||||
SNMP::Info - Version 3.70-135
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
@@ -265,6 +265,12 @@ support.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Bridge> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoAgg
 | 
			
		||||
 | 
			
		||||
SNMP Interface to Cisco Aggregated Links
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoAgg> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CDP
 | 
			
		||||
 | 
			
		||||
F<CISCO-CDP-MIB>.  Cisco Discovery Protocol (CDP) Support.  Inherited by
 | 
			
		||||
@@ -272,12 +278,6 @@ Cisco, Enterasys, and HP devices.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CDP> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoAgg
 | 
			
		||||
 | 
			
		||||
SNMP Interface to Cisco Aggregated Links
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoAgg> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoConfig
 | 
			
		||||
 | 
			
		||||
F<CISCO-CONFIG-COPY-MIB>, F<CISCO-FLASH-MIB>, and F<OLD-CISCO-SYS-MIB>.
 | 
			
		||||
@@ -317,6 +317,12 @@ F<CISCO-STACK-MIB>.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoStack> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoStpExtensions
 | 
			
		||||
 | 
			
		||||
F<CISCO-STP-EXTENSIONS-MIB>
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoStpExtensions> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoStats
 | 
			
		||||
 | 
			
		||||
F<OLD-CISCO-CPU-MIB>, F<CISCO-PROCESS-MIB>, and F<CISCO-MEMORY-POOL-MIB>.
 | 
			
		||||
@@ -325,12 +331,6 @@ devices.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoStats> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoStpExtensions
 | 
			
		||||
 | 
			
		||||
F<CISCO-STP-EXTENSIONS-MIB>
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoStpExtensions> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoVTP
 | 
			
		||||
 | 
			
		||||
F<CISCO-VTP-MIB>, F<CISCO-VLAN-MEMBERSHIP-MIB>,
 | 
			
		||||
@@ -338,18 +338,18 @@ F<CISCO-VLAN-IFTABLE-RELATIONSHIP-MIB>
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::CiscoVTP> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::DocsisCM
 | 
			
		||||
 | 
			
		||||
SNMP Interface for DOCSIS Cable Modems
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::DocsisCM> 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
 | 
			
		||||
 | 
			
		||||
Extreme Discovery Protocol.  F<EXTREME-EDP-MIB>
 | 
			
		||||
@@ -375,12 +375,6 @@ Foundry (Brocade) Discovery Protocol.  F<FOUNDRY-SN-SWITCH-GROUP-MIB>
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::FDP> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::IEEE802_Bridge
 | 
			
		||||
 | 
			
		||||
SNMP Interface to data available through the F<IEEE8021-Q-BRIDGE-MIB>
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::IEEE802_Bridge> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::IEEE802dot11
 | 
			
		||||
 | 
			
		||||
F<IEEE802dot11-MIB>.  A collection of OIDs providing information about
 | 
			
		||||
@@ -528,7 +522,7 @@ See documentation in L<SNMP::Info::Layer2::Adtran> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer2::Aerohive
 | 
			
		||||
 | 
			
		||||
Subclass for Aerohive / Extreme access points.
 | 
			
		||||
Subclass for Aerohive Access Points.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer2::Aerohive> for details.
 | 
			
		||||
 | 
			
		||||
@@ -756,7 +750,7 @@ See documentation in L<SNMP::Info::Layer3::BayRS> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::BlueCoatSG
 | 
			
		||||
 | 
			
		||||
Subclass for BlueCoat SG series proxy devices.
 | 
			
		||||
Subclass for Blue Coat SG series proxy devices.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::BlueCoatSG> for details.
 | 
			
		||||
 | 
			
		||||
@@ -828,6 +822,12 @@ Subclass for Cumulus Networks Routers.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Cumulus> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::DLink
 | 
			
		||||
 | 
			
		||||
Subclass for DLink devices.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::DLink> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::Dell
 | 
			
		||||
 | 
			
		||||
Subclass for Dell PowerConnect switches. The IBM BladeCenter
 | 
			
		||||
@@ -836,12 +836,6 @@ also use this module based upon MIB support.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Dell> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::DLink
 | 
			
		||||
 | 
			
		||||
Subclass for DLink devices.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::DLink> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::Enterasys
 | 
			
		||||
 | 
			
		||||
Subclass for Enterasys devices.
 | 
			
		||||
@@ -1044,12 +1038,6 @@ Subclass for Avaya Secure Routers.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Tasman> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::Teltonika
 | 
			
		||||
 | 
			
		||||
Subclass for Teltonika RUT9xx series routers.
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3::Teltonika> for details.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3::Timetra
 | 
			
		||||
 | 
			
		||||
Alcatel-Lucent SR Class.
 | 
			
		||||
@@ -1362,7 +1350,7 @@ sub new {
 | 
			
		||||
        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}};
 | 
			
		||||
        delete $sess_args{Cache};
 | 
			
		||||
    }
 | 
			
		||||
@@ -1583,7 +1571,7 @@ sub cache {
 | 
			
		||||
    my $self = 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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -1683,9 +1671,15 @@ sub device_type {
 | 
			
		||||
        45    => 'SNMP::Info::Layer2::Baystack',
 | 
			
		||||
        171   => 'SNMP::Info::Layer3::DLink',
 | 
			
		||||
        244   => 'SNMP::Info::Layer3::Lantronix',
 | 
			
		||||
        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',
 | 
			
		||||
        674   => 'SNMP::Info::Layer3::Dell',
 | 
			
		||||
        776   => 'SNMP::Info::Layer2::Telindus',
 | 
			
		||||
        890   => 'SNMP::Info::Layer2::Zyxel',
 | 
			
		||||
        1286  => 'SNMP::Info::Layer2::ECI',
 | 
			
		||||
        1588  => 'SNMP::Info::Layer3::Foundry',
 | 
			
		||||
        1872  => 'SNMP::Info::Layer3::AlteonAD',
 | 
			
		||||
        1890  => 'SNMP::Info::Layer3::Redlion',
 | 
			
		||||
@@ -1708,10 +1702,13 @@ sub device_type {
 | 
			
		||||
        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',
 | 
			
		||||
        10418 => 'SNMP::Info::Layer1::Cyclades',
 | 
			
		||||
@@ -1729,14 +1726,18 @@ sub device_type {
 | 
			
		||||
        25506 => 'SNMP::Info::Layer3::H3C',
 | 
			
		||||
        26543 => 'SNMP::Info::Layer3::IBMGbTor',
 | 
			
		||||
        26928 => 'SNMP::Info::Layer2::Aerohive',
 | 
			
		||||
        27514 => 'SNMP::Info::Layer3::Qtech',
 | 
			
		||||
        30065 => 'SNMP::Info::Layer3::Arista',
 | 
			
		||||
        30803 => 'SNMP::Info::Layer3::VyOS',
 | 
			
		||||
        32761 => 'SNMP::Info::Layer3::Rotek',
 | 
			
		||||
        34300 => 'SNMP::Info::Layer3::Eltex',
 | 
			
		||||
        35098 => 'SNMP::Info::Layer3::Pica8',
 | 
			
		||||
        35265 => 'SNMP::Info::Layer3::Eltex',
 | 
			
		||||
        40310 => 'SNMP::Info::Layer3::Cumulus',
 | 
			
		||||
        40418 => 'SNMP::Info::Layer3::Nag',
 | 
			
		||||
        41112 => 'SNMP::Info::Layer2::Ubiquiti',
 | 
			
		||||
        44641 => 'SNMP::Info::Layer3::VyOS',
 | 
			
		||||
        47196 => 'SNMP::Info::Layer3::ArubaCX',
 | 
			
		||||
        48690 => 'SNMP::Info::Layer3::Teltonika',
 | 
			
		||||
        41752 => 'SNMP::Info::Layer3::Raisecom',
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    my %l2sysoidmap = (
 | 
			
		||||
@@ -1746,9 +1747,15 @@ sub device_type {
 | 
			
		||||
        45    => 'SNMP::Info::Layer2::Baystack',
 | 
			
		||||
        171   => 'SNMP::Info::Layer3::DLink',
 | 
			
		||||
        207   => 'SNMP::Info::Layer2::Allied',
 | 
			
		||||
        259   => 'SNMP::Info::Layer3::Accton',
 | 
			
		||||
        266   => 'SNMP::Info::Layer2::Nexans',
 | 
			
		||||
        637   => 'SNMP::Info::Layer3::AlcatelLucent',
 | 
			
		||||
        655   => 'SNMP::Info::Layer2::Carelink',
 | 
			
		||||
        664   => 'SNMP::Info::Layer2::Adtran',
 | 
			
		||||
        674   => 'SNMP::Info::Layer3::Dell',
 | 
			
		||||
        776   => 'SNMP::Info::Layer2::Telindus',
 | 
			
		||||
        890   => 'SNMP::Info::Layer2::Zyxel',
 | 
			
		||||
        1286  => 'SNMP::Info::Layer2::ECI',
 | 
			
		||||
        1872  => 'SNMP::Info::Layer3::AlteonAD',
 | 
			
		||||
        1890  => 'SNMP::Info::Layer3::Redlion',
 | 
			
		||||
        1916  => 'SNMP::Info::Layer3::Extreme',
 | 
			
		||||
@@ -1761,7 +1768,10 @@ sub device_type {
 | 
			
		||||
        4526  => 'SNMP::Info::Layer2::Netgear',
 | 
			
		||||
        5624  => 'SNMP::Info::Layer3::Enterasys',
 | 
			
		||||
        6141  => 'SNMP::Info::Layer3::Ciena',
 | 
			
		||||
        6339  => 'SNMP::Info::Layer3::DigitalChina',
 | 
			
		||||
        6486  => 'SNMP::Info::Layer3::AlcatelLucent',
 | 
			
		||||
        6672  => 'SNMP::Info::Layer2::Proscend',
 | 
			
		||||
        8886  => 'SNMP::Info::Layer3::Raisecom',
 | 
			
		||||
        9303  => 'SNMP::Info::Layer3::PacketFront',
 | 
			
		||||
        10418 => 'SNMP::Info::Layer1::Cyclades',
 | 
			
		||||
        11898 => 'SNMP::Info::Layer2::Orinoco',
 | 
			
		||||
@@ -1774,8 +1784,12 @@ sub device_type {
 | 
			
		||||
        21091 => 'SNMP::Info::Layer2::Exinda',
 | 
			
		||||
        26543 => 'SNMP::Info::Layer3::IBMGbTor',
 | 
			
		||||
        26928 => 'SNMP::Info::Layer2::Aerohive',
 | 
			
		||||
        47196 => 'SNMP::Info::Layer3::ArubaCX',
 | 
			
		||||
        48690 => 'SNMP::Info::Layer3::Teltonika',
 | 
			
		||||
        27514 => 'SNMP::Info::Layer3::Qtech',
 | 
			
		||||
        32761 => 'SNMP::Info::Layer3::Rotek',
 | 
			
		||||
        34300 => 'SNMP::Info::Layer3::Eltex',
 | 
			
		||||
        35265 => 'SNMP::Info::Layer3::Eltex',
 | 
			
		||||
        40418 => 'SNMP::Info::Layer3::Nag',
 | 
			
		||||
        41752 => 'SNMP::Info::Layer3::Raisecom',
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
    my %l1sysoidmap = (
 | 
			
		||||
@@ -1939,14 +1953,6 @@ sub device_type {
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::Scalance'
 | 
			
		||||
	    if ( $soid =~ /\.1\.3\.6\.1\.4\.1\.4329\.6\.1\.2/i );
 | 
			
		||||
 | 
			
		||||
        # Aruba wireless switches (issue #403)
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::Aruba'
 | 
			
		||||
            if ( $desc =~ /ArubaOS/ );
 | 
			
		||||
 | 
			
		||||
        # Teltonika RUT9xx Series
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::Teltonika'
 | 
			
		||||
            if (
 | 
			
		||||
            $desc =~ /\bTeltonika.*RUT9\d{2}\b/);
 | 
			
		||||
 | 
			
		||||
        # Generic device classification based upon sysObjectID
 | 
			
		||||
        if (    ( $objtype eq 'SNMP::Info::Layer3' )
 | 
			
		||||
@@ -2158,11 +2164,6 @@ sub device_type {
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::Scalance'
 | 
			
		||||
	    if ( $soid =~ /\.1\.3\.6\.1\.4\.1\.4329\.6\.1\.2/i );
 | 
			
		||||
 | 
			
		||||
        # Teltonika RUT9xx Series
 | 
			
		||||
        $objtype = 'SNMP::Info::Layer3::Teltonika'
 | 
			
		||||
            if (
 | 
			
		||||
            $desc =~ /\bTeltonika.*RUT9\d{2}\b/);
 | 
			
		||||
 | 
			
		||||
        # Generic device classification based upon sysObjectID
 | 
			
		||||
        if ( defined($id) and $objtype eq 'SNMP::Info') {
 | 
			
		||||
            if ( defined $l3sysoidmap{$id} ) {
 | 
			
		||||
@@ -2864,17 +2865,17 @@ For protocol specific information and implementation:
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item AMAP: See L<SNMP::Info::AMAP> for details.
 | 
			
		||||
=item LLDP: See L<SNMP::Info::LLDP> for details.
 | 
			
		||||
 | 
			
		||||
=item CDP: See L<SNMP::Info::CDP> for details.
 | 
			
		||||
 | 
			
		||||
=item EDP: See L<SNMP::Info::EDP> for details.
 | 
			
		||||
=item SONMP: See L<SNMP::Info::SONMP> for details.
 | 
			
		||||
 | 
			
		||||
=item FDP: See L<SNMP::Info::FDP> for details.
 | 
			
		||||
 | 
			
		||||
=item LLDP: See L<SNMP::Info::LLDP> for details.
 | 
			
		||||
=item EDP: See L<SNMP::Info::EDP> for details.
 | 
			
		||||
 | 
			
		||||
=item SONMP: See L<SNMP::Info::SONMP> for details.
 | 
			
		||||
=item AMAP: See L<SNMP::Info::AMAP> for details.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
@@ -2900,7 +2901,7 @@ sub ip_index {
 | 
			
		||||
 | 
			
		||||
    my $o_ip_idx = $self->old_ip_index();
 | 
			
		||||
    return $o_ip_idx
 | 
			
		||||
        if ( ref {} eq ref $o_ip_idx and scalar keys %$o_ip_idx );
 | 
			
		||||
        if ( ref({}) eq ref $o_ip_idx and scalar keys %$o_ip_idx );
 | 
			
		||||
 | 
			
		||||
    # Since callers may be using the old iid to get the IP, strip protocol
 | 
			
		||||
    # and length from the index
 | 
			
		||||
@@ -2926,7 +2927,7 @@ sub ip_table {
 | 
			
		||||
 | 
			
		||||
    my $o_ip_table = $self->old_ip_table();
 | 
			
		||||
    return $o_ip_table
 | 
			
		||||
        if ( ref {} eq ref $o_ip_table and scalar keys %$o_ip_table );
 | 
			
		||||
        if ( ref({}) eq ref $o_ip_table and scalar keys %$o_ip_table );
 | 
			
		||||
 | 
			
		||||
    my $n_ip_idx  = $self->new_ip_index() || {};
 | 
			
		||||
    my $n_ip_type = $self->new_ip_type()  || {};
 | 
			
		||||
@@ -2950,7 +2951,7 @@ sub ip_netmask {
 | 
			
		||||
 | 
			
		||||
    my $o_ip_mask = $self->old_ip_netmask();
 | 
			
		||||
    return $o_ip_mask
 | 
			
		||||
        if ( ref {} eq ref $o_ip_mask and scalar keys %$o_ip_mask );
 | 
			
		||||
        if ( ref({}) eq ref $o_ip_mask and scalar keys %$o_ip_mask );
 | 
			
		||||
 | 
			
		||||
    my $n_ip_pfx  = $self->new_ip_prefix() || {};
 | 
			
		||||
    my $n_ip_type = $self->new_ip_type()   || {};
 | 
			
		||||
@@ -3650,7 +3651,7 @@ Makes human friendly speed ratings using C<%SPEED_MAP>.
 | 
			
		||||
 %SPEED_MAP = (
 | 
			
		||||
                '56000'      => '56 kbps',
 | 
			
		||||
                '64000'      => '64 kbps',
 | 
			
		||||
                '115000'     => '115 kbps',
 | 
			
		||||
                '115000'     => '115 kpbs',
 | 
			
		||||
                '1500000'    => '1.5 Mbps',
 | 
			
		||||
                '1536000'    => 'T1',
 | 
			
		||||
                '1544000'    => 'T1',
 | 
			
		||||
@@ -3661,9 +3662,9 @@ Makes human friendly speed ratings using C<%SPEED_MAP>.
 | 
			
		||||
                '4000000'    => '4.0 Mbps',
 | 
			
		||||
                '10000000'   => '10 Mbps',
 | 
			
		||||
                '11000000'   => '11 Mbps',
 | 
			
		||||
                '20000000'   => '20 Mbps',
 | 
			
		||||
                '16000000'   => '16 Mbps',
 | 
			
		||||
                '16777216'   => '16 Mbps',
 | 
			
		||||
                '20000000'   => '20 Mbps',
 | 
			
		||||
                '44210000'   => 'T3',
 | 
			
		||||
                '44736000'   => 'T3',
 | 
			
		||||
                '45000000'   => '45 Mbps',
 | 
			
		||||
@@ -3673,11 +3674,11 @@ Makes human friendly speed ratings using C<%SPEED_MAP>.
 | 
			
		||||
                '54000000'   => '54 Mbps',
 | 
			
		||||
                '64000000'   => '64 Mbps',
 | 
			
		||||
                '100000000'  => '100 Mbps',
 | 
			
		||||
                '200000000'  => '200 Mbps',
 | 
			
		||||
                '149760000'  => 'ATM on OC-3',
 | 
			
		||||
                '155000000'  => 'OC-3',
 | 
			
		||||
                '155519000'  => 'OC-3',
 | 
			
		||||
                '155520000'  => 'OC-3',
 | 
			
		||||
                '200000000'  => '200 Mbps',
 | 
			
		||||
                '400000000'  => '400 Mbps',
 | 
			
		||||
                '599040000'  => 'ATM on OC-12',
 | 
			
		||||
                '622000000'  => 'OC-12',
 | 
			
		||||
@@ -3697,7 +3698,7 @@ munge_highspeed(). SNMP::Info can return speeds up to terabit levels this way.
 | 
			
		||||
%SPEED_MAP = (
 | 
			
		||||
    '56000'      => '56 kbps',
 | 
			
		||||
    '64000'      => '64 kbps',
 | 
			
		||||
    '115000'     => '115 kbps',
 | 
			
		||||
    '115000'     => '115 kpbs',
 | 
			
		||||
    '1500000'    => '1.5 Mbps',
 | 
			
		||||
    '1536000'    => 'T1',
 | 
			
		||||
    '1544000'    => 'T1',
 | 
			
		||||
@@ -3708,9 +3709,9 @@ munge_highspeed(). SNMP::Info can return speeds up to terabit levels this way.
 | 
			
		||||
    '4000000'    => '4.0 Mbps',
 | 
			
		||||
    '10000000'   => '10 Mbps',
 | 
			
		||||
    '11000000'   => '11 Mbps',
 | 
			
		||||
    '20000000'   => '20 Mbps',
 | 
			
		||||
    '16000000'   => '16 Mbps',
 | 
			
		||||
    '16777216'   => '16 Mbps',
 | 
			
		||||
    '20000000'   => '20 Mbps',
 | 
			
		||||
    '44210000'   => 'T3',
 | 
			
		||||
    '44736000'   => 'T3',
 | 
			
		||||
    '45000000'   => '45 Mbps',
 | 
			
		||||
@@ -3720,11 +3721,11 @@ munge_highspeed(). SNMP::Info can return speeds up to terabit levels this way.
 | 
			
		||||
    '54000000'   => '54 Mbps',
 | 
			
		||||
    '64000000'   => '64 Mbps',
 | 
			
		||||
    '100000000'  => '100 Mbps',
 | 
			
		||||
    '200000000'  => '200 Mbps',
 | 
			
		||||
    '149760000'  => 'ATM on OC-3',
 | 
			
		||||
    '155000000'  => 'OC-3',
 | 
			
		||||
    '155519000'  => 'OC-3',
 | 
			
		||||
    '155520000'  => 'OC-3',
 | 
			
		||||
    '200000000'  => '200 Mbps',
 | 
			
		||||
    '400000000'  => '400 Mbps',
 | 
			
		||||
    '599040000'  => 'ATM on OC-12',
 | 
			
		||||
    '622000000'  => 'OC-12',
 | 
			
		||||
@@ -4831,7 +4832,7 @@ sub _cache {
 | 
			
		||||
    my ($attr, $data) = @_;
 | 
			
		||||
    my $store = $self->store();
 | 
			
		||||
 | 
			
		||||
    if (ref {} eq ref $data) {
 | 
			
		||||
    if (ref({}) eq ref $data) {
 | 
			
		||||
        $self->{"_${attr}"}++;
 | 
			
		||||
        $store->{$attr} = $data;
 | 
			
		||||
    }
 | 
			
		||||
@@ -4859,7 +4860,7 @@ sub _munge {
 | 
			
		||||
 | 
			
		||||
    return $data unless defined $munge->{$attr};
 | 
			
		||||
 | 
			
		||||
    if (ref {} eq ref $data) {
 | 
			
		||||
    if (ref({}) eq ref $data) {
 | 
			
		||||
        my $subref = $munge->{$attr};
 | 
			
		||||
        my %munged;
 | 
			
		||||
        foreach my $key ( keys %$data ) {
 | 
			
		||||
@@ -5001,7 +5002,8 @@ capabilities to include dynamic methods generated at run time via AUTOLOAD.
 | 
			
		||||
 | 
			
		||||
Calls parent can() first to see if method exists, if not validates that a
 | 
			
		||||
method should be created then dispatches to the appropriate internal method
 | 
			
		||||
for creation.
 | 
			
		||||
for creation.  The newly created method is inserted into the symbol table
 | 
			
		||||
returning to AUTOLOAD only for the initial method call.
 | 
			
		||||
 | 
			
		||||
Returns undef if the method does not exist and can not be created.
 | 
			
		||||
 | 
			
		||||
@@ -5038,21 +5040,15 @@ sub can {
 | 
			
		||||
    # we’ll just create if/when they are called rather than pollute the
 | 
			
		||||
    # symbol table with entries that never get called.
 | 
			
		||||
 | 
			
		||||
    # Between 2012-2020 we actually added the methods generated below to the
 | 
			
		||||
    # symbol table, but they were global to the SNMP::Info class, while
 | 
			
		||||
    # methods for different device classes may point to different SNMP
 | 
			
		||||
    # objects. This made interacting with multiple device types from a single
 | 
			
		||||
    # script somewhat unreliable.
 | 
			
		||||
 | 
			
		||||
    # Check for set_ ing.
 | 
			
		||||
    if ( $method =~ /^set_/ ) {
 | 
			
		||||
        return _make_setter( $method, $oid, @_ );
 | 
			
		||||
        return *{$method} = _make_setter( $method, $oid, @_ );
 | 
			
		||||
    }
 | 
			
		||||
    elsif ( defined $funcs->{$base_method} || $table ) {
 | 
			
		||||
        return _load_attr( $method, $oid, @_ );
 | 
			
		||||
        return *{$method} = _load_attr( $method, $oid, @_ );
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        return _global( $method, $oid );
 | 
			
		||||
        return *{$method} = _global( $method, $oid );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -5061,7 +5057,9 @@ sub can {
 | 
			
		||||
=head2 AUTOLOAD
 | 
			
		||||
 | 
			
		||||
Each entry in either %FUNCS, %GLOBALS, or MIB Leaf node names present in
 | 
			
		||||
loaded MIBs are used by AUTOLOAD() to create dynamic methods.
 | 
			
		||||
loaded MIBs are used by AUTOLOAD() to create dynamic methods.  Generated
 | 
			
		||||
methods are inserted into the symbol table so that subsequent calls can avoid
 | 
			
		||||
AUTOLOAD() and dispatch directly.
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
  'ALCATEL-IND1-INTERSWITCH-PROTOCOL-MIB' => 'aipAMAPRemDeviceType',
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'ADSL-LINE-MIB' => 'adslLineType' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# Load MIB for leafs referenced within class
 | 
			
		||||
%MIBS = ('IF-MIB' => 'ifIndex',);
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, $INIT);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'BRIDGE-MIB'   => 'dot1dBaseBridgeAddress',
 | 
			
		||||
@@ -105,7 +105,7 @@ $VERSION = '3.72';
 | 
			
		||||
    'stp_p_bridge'   => 'dot1dStpPortDesignatedBridge',
 | 
			
		||||
    'stp_p_port'     => 'dot1dStpPortDesignatedPort',
 | 
			
		||||
 | 
			
		||||
    # Rapid Spanning Tree Protocol Table : dot1dStpExtPortEntry
 | 
			
		||||
    # Rapid Spanning Tree Protocol Table : dot1dStpExtPortEntry
 | 
			
		||||
    'is_edgeport_admin' => 'dot1dStpPortAdminEdgePort',
 | 
			
		||||
    'is_edgeport_oper'  => 'dot1dStpPortOperEdgePort',
 | 
			
		||||
 | 
			
		||||
@@ -429,7 +429,7 @@ sub _vlan_hoa {
 | 
			
		||||
        my $vlan;
 | 
			
		||||
 | 
			
		||||
        # Strip TimeFilter if we're using VlanCurrentTable
 | 
			
		||||
        ($vlan = $idx) =~ s/^(\d+\.)*//g;
 | 
			
		||||
        ( $vlan = $idx ) =~ s/^\d+\.//;
 | 
			
		||||
 | 
			
		||||
        # Convert portlist bit array to bp_index array
 | 
			
		||||
        for ( my $i = 0; $i <= $#$portlist; $i++ ) {
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info;
 | 
			
		||||
our
 | 
			
		||||
    ($VERSION, $DEBUG, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $INIT, %CDP_CAPABILITIES);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# Five data structures required by SNMP::Info
 | 
			
		||||
%MIBS = ( 'CISCO-CDP-MIB' => 'cdpGlobalRun' );
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ use SNMP::Info::IEEE802dot3ad;
 | 
			
		||||
 | 
			
		||||
our ($DEBUG, $VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
  %SNMP::Info::IEEE802dot3ad::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'CISCO-CONFIG-COPY-MIB' => 'ccCopyTable',
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PAECAPABILITIES);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'CISCO-PORT-SECURITY-MIB' => 'ciscoPortSecurityMIB',
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-POWER-ETHERNET-EXT-MIB' => 'cpeExtPsePortEntPhyIndex',
 | 
			
		||||
          'CISCO-CDP-MIB' => 'cdpCachePowerConsumption',
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-CLASS-BASED-QOS-MIB' => 'cbQosIfIndex', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-RTTMON-MIB' => 'rttMonCtrlAdminOwner', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use Exporter;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'CISCO-STACK-MIB' => 'ciscoStackMIB', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'SNMPv2-MIB'            => 'sysDescr',
 | 
			
		||||
 
 | 
			
		||||
@@ -36,7 +36,7 @@ use SNMP::Info::Bridge;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, %PORTSTAT, $INIT);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::CiscoStpExtensions::ISA = qw/SNMP::Info::Bridge SNMP::Info Exporter/;
 | 
			
		||||
@SNMP::Info::CiscoStpExtensions::EXPORT_OK = qw//;
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'CISCO-VTP-MIB'                       => 'vtpVlanName',
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'DOCS-IF3-MIB' => 'docsIf3Mib',
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'EXTREME-EDP-MIB'   => 'extremeEdpPortIfIndex',
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'ENTITY-MIB' => 'entPhysicalSerialNum' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'EtherLike-MIB' => 'etherMIB' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'FOUNDRY-SN-SWITCH-GROUP-MIB' => 'snFdpGlobalRun' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,230 +0,0 @@
 | 
			
		||||
# SNMP::Info::IEEE802_Bridge
 | 
			
		||||
#
 | 
			
		||||
# Changes since Version 0.7 Copyright (c) 2004 Max Baker
 | 
			
		||||
# All rights reserved.
 | 
			
		||||
#
 | 
			
		||||
# Copyright (c) 2002,2003 Regents of the University of California
 | 
			
		||||
# 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::IEEE802_Bridge;
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
use Exporter;
 | 
			
		||||
use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::IEEE802_Bridge::ISA       = qw/SNMP::Info Exporter/;
 | 
			
		||||
@SNMP::Info::IEEE802_Bridge::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, $DEBUG, %MIBS, %FUNCS, %GLOBALS, %MUNGE, $INIT);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'IEEE8021-Q-BRIDGE-MIB' => 'ieee8021QBridgeVlanCurrentEgressPorts',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%FUNCS = (
 | 
			
		||||
    'iqb_i_vlan'        => 'ieee8021QBridgePvid',
 | 
			
		||||
    'iqb_i_vlan_type'   => 'ieee8021QBridgePortAcceptableFrameTypes',
 | 
			
		||||
    'iqb_i_vlan_in_flt' => 'ieee8021QBridgePortIngressFiltering',
 | 
			
		||||
 | 
			
		||||
    'iqb_cv_egress'   => 'ieee8021QBridgeVlanCurrentEgressPorts',
 | 
			
		||||
    'iqb_cv_untagged' => 'ieee8021QBridgeVlanCurrentUntaggedPorts',
 | 
			
		||||
    'iqb_cv_stat'     => 'ieee8021QBridgeVlanStatus',
 | 
			
		||||
 | 
			
		||||
    'iqb_v_name'        => 'ieee8021QBridgeVlanStaticName',
 | 
			
		||||
    'iqb_v_egress'      => 'ieee8021QBridgeVlanStaticEgressPorts',
 | 
			
		||||
    'iqb_v_fbdn_egress' => 'ieee8021QBridgeVlanForbiddenEgressPorts',
 | 
			
		||||
    'iqb_v_untagged'    => 'ieee8021QBridgeVlanStaticUntaggedPorts',
 | 
			
		||||
    'iqb_v_stat'        => 'ieee8021QBridgeVlanStaticRowStatus',
 | 
			
		||||
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%MUNGE = (
 | 
			
		||||
 | 
			
		||||
    # Inherit all the built in munging
 | 
			
		||||
    %SNMP::Info::MUNGE,
 | 
			
		||||
 | 
			
		||||
    # Add ones for our class
 | 
			
		||||
    'iqb_cv_egress'     => \&SNMP::Info::munge_port_list,
 | 
			
		||||
    'iqb_cv_untagged'   => \&SNMP::Info::munge_port_list,
 | 
			
		||||
    'iqb_v_egress'      => \&SNMP::Info::munge_port_list,
 | 
			
		||||
    'iqb_v_fbdn_egress' => \&SNMP::Info::munge_port_list,
 | 
			
		||||
    'iqb_v_untagged'    => \&SNMP::Info::munge_port_list,
 | 
			
		||||
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
1;
 | 
			
		||||
 | 
			
		||||
__END__
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
SNMP::Info::IEEE802_Bridge - SNMP Interface to SNMP data available through the
 | 
			
		||||
F<IEEE8021-Q-BRIDGE-MIB>
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
Jeroen van Ingen
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
FIXME update with better example
 | 
			
		||||
 my $bridge = new SNMP::Info (
 | 
			
		||||
                             AutoSpecify => 1,
 | 
			
		||||
                             Debug       => 1,
 | 
			
		||||
                             DestHost    => 'switch',
 | 
			
		||||
                             Community   => 'public',
 | 
			
		||||
                             Version     => 2
 | 
			
		||||
                             );
 | 
			
		||||
 | 
			
		||||
 my $class = $bridge->class();
 | 
			
		||||
 print " Using device sub class : $class\n";
 | 
			
		||||
 | 
			
		||||
 # Grab Forwarding Tables
 | 
			
		||||
 my $interfaces = $bridge->interfaces();
 | 
			
		||||
 my $fw_mac     = $bridge->fw_mac();
 | 
			
		||||
 my $fw_port    = $bridge->fw_port();
 | 
			
		||||
 my $bp_index   = $bridge->bp_index();
 | 
			
		||||
 | 
			
		||||
 foreach my $fw_index (keys %$fw_mac){
 | 
			
		||||
    my $mac   = $fw_mac->{$fw_index};
 | 
			
		||||
    my $bp_id = $fw_port->{$fw_index};
 | 
			
		||||
    my $iid   = $bp_index->{$bp_id};
 | 
			
		||||
    my $port  = $interfaces->{$iid};
 | 
			
		||||
 | 
			
		||||
    print "Port:$port forwarding to $mac\n";
 | 
			
		||||
 }
 | 
			
		||||
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
F<IEEE8021-Q-BRIDGE-MIB> is used by some newer switches / Layer 2 devices.
 | 
			
		||||
It is derived from the IETF Q-BRIDGE-MIB (RFC 4363), extending it with the
 | 
			
		||||
concept of multiple VLAN-aware bridges (PBB).
 | 
			
		||||
 | 
			
		||||
Create or use a subclass of SNMP::Info that inherits this class.  Do not use
 | 
			
		||||
directly.
 | 
			
		||||
 | 
			
		||||
For debugging you can call new() directly as you would in SNMP::Info
 | 
			
		||||
 | 
			
		||||
 my $bridge = new SNMP::Info::IEEE802_Bridge(...);
 | 
			
		||||
 | 
			
		||||
=head2 Inherited Classes
 | 
			
		||||
 | 
			
		||||
None.
 | 
			
		||||
 | 
			
		||||
=head2 Required MIBs
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item F<IEEE8021-Q-BRIDGE-MIB>
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 GLOBALS
 | 
			
		||||
 | 
			
		||||
These are methods that return scalar values from SNMP
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 TABLE METHODS
 | 
			
		||||
 | 
			
		||||
These are methods that return tables of information in the form of a reference
 | 
			
		||||
to a hash.
 | 
			
		||||
 | 
			
		||||
=head2 Per-port VLAN configuration in the device (C<ieee8021QBridgePortVlanTable>)
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_i_vlan()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgePvid>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_i_vlan_type()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgePortAcceptableFrameTypes>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_i_vlan_in_flt()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgePortIngressFiltering>)
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 VLAN Current Table (C<ieee8021QBridgeVlanCurrentTable>)
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_cv_egress()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanCurrentEgressPorts>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_cv_untagged()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanCurrentUntaggedPorts>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_cv_stat()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanStatus>)
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 VLAN Static Table (C<ieee8021QBridgeVlanStaticTable>)
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_v_name()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanStaticName>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_v_egress()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanStaticEgressPorts>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_v_fbdn_egress()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanForbiddenEgressPorts>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_v_untagged()
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanStaticUntaggedPorts>)
 | 
			
		||||
 | 
			
		||||
=item $bridge->iqb_v_stat()
 | 
			
		||||
 | 
			
		||||
C<active> !
 | 
			
		||||
 | 
			
		||||
(C<ieee8021QBridgeVlanStaticRowStatus>)
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( 'IEEE802dot11-MIB' => 'dot11DesiredSSID', );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ use SNMP::Info::Aggregate;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
  %SNMP::Info::Aggregate::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ use constant {
 | 
			
		||||
    IPV6MIB => 3,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    'LLDP-MIB'          => 'lldpLocSysCapEnabled',
 | 
			
		||||
@@ -55,13 +55,10 @@ $VERSION = '3.72';
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%FUNCS = (
 | 
			
		||||
 | 
			
		||||
    # LLDP-MIB::lldpLocManAddrTable
 | 
			
		||||
    'lldp_lman_addr' => 'lldpLocManAddrIfId',
 | 
			
		||||
 | 
			
		||||
    # LLDP-MIB::LldpLocPortEntry
 | 
			
		||||
    'lldp_lport_id'   => 'lldpLocPortId',
 | 
			
		||||
    'lldp_lport_desc' => 'lldpLocPortDesc',
 | 
			
		||||
 | 
			
		||||
    # LLDP-MIB::lldpRemTable
 | 
			
		||||
    'lldp_rem_id_type'  => 'lldpRemChassisIdSubtype',
 | 
			
		||||
    'lldp_rem_id'       => 'lldpRemChassisId',
 | 
			
		||||
@@ -95,8 +92,6 @@ $VERSION = '3.72';
 | 
			
		||||
    'lldp_rem_sysname'   => \&SNMP::Info::munge_null,
 | 
			
		||||
    'lldp_rem_sysdesc'   => \&SNMP::Info::munge_null,
 | 
			
		||||
    'lldp_rem_port_desc' => \&SNMP::Info::munge_null,
 | 
			
		||||
    'lldp_lport_id'      => \&SNMP::Info::munge_null,
 | 
			
		||||
    'lldp_lport_desc'    => \&SNMP::Info::munge_null,
 | 
			
		||||
    'lldp_sys_cap'       => \&SNMP::Info::munge_bits,
 | 
			
		||||
    'lldp_rem_sys_cap'   => \&SNMP::Info::munge_bits,
 | 
			
		||||
    'lldp_rem_cap_spt'   => \&SNMP::Info::munge_bits,
 | 
			
		||||
@@ -151,11 +146,7 @@ sub lldp_if {
 | 
			
		||||
        # ifAlias because using cross ref with description is correct
 | 
			
		||||
        # behavior according to the LLDP-MIB. Some devices (eg H3C gear)
 | 
			
		||||
        # seem to use ifAlias though.
 | 
			
		||||
        # snmp::info #372 -> to make things even more complex some devices
 | 
			
		||||
        # have different behaviour depending on os version (nx-os 6 vs 7)
 | 
			
		||||
        # so we made this a function to allow overrides in more specific
 | 
			
		||||
        # modules
 | 
			
		||||
        my $lldp_desc = $lldp->lldp_lport_desc($port);
 | 
			
		||||
        my $lldp_desc = $lldp->lldpLocPortDesc($port);
 | 
			
		||||
        my $desc      = $lldp_desc->{$port};
 | 
			
		||||
 | 
			
		||||
        # If cross reference is successful use it, otherwise stick with
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::MIBS, 'SNMP-REPEATER-MIB' => 'rptrPortGroupIndex' );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# Set for No CDP
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, 'root_ip' => 'actualIPAddr', );
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# Set for No CDP
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer1::GLOBALS, );
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer1::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ use SNMP::Info::DocsisHE;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,         %SNMP::Info::Bridge::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::CDP;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# This will be filled in with the device's index into the EntPhysicalEntry
 | 
			
		||||
# table by the serial() function.
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
@@ -108,7 +108,7 @@ sub os_ver {
 | 
			
		||||
    my $aerohive = shift;
 | 
			
		||||
    my $descr    = $aerohive->description();
 | 
			
		||||
 | 
			
		||||
    if ( defined ($descr) && $descr =~ m/\bHiveOS\s(\d+\.\w+)\b/ix ) {
 | 
			
		||||
    if ( defined ($descr) && $descr =~ m/\bHiveOS\s(\d\.\w+)\b/ix ) {
 | 
			
		||||
        return $1;
 | 
			
		||||
    }
 | 
			
		||||
    return;
 | 
			
		||||
@@ -318,8 +318,7 @@ __END__
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
SNMP::Info::Layer2::Aerohive - SNMP Interface to Aerohive / Extreme
 | 
			
		||||
access points
 | 
			
		||||
SNMP::Info::Layer2::Aerohive - SNMP Interface to Aerohive Access Points
 | 
			
		||||
 | 
			
		||||
=head1 AUTHOR
 | 
			
		||||
 | 
			
		||||
@@ -343,7 +342,7 @@ Eric Miller
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
Provides abstraction to the configuration information obtainable from an
 | 
			
		||||
Aerohive / Extreme wireless access point through SNMP.
 | 
			
		||||
Aerohive wireless Access Point through SNMP.
 | 
			
		||||
 | 
			
		||||
=head2 Inherited Classes
 | 
			
		||||
 | 
			
		||||
@@ -449,11 +448,11 @@ radio interface.
 | 
			
		||||
 | 
			
		||||
C<ahRadioTxPower>
 | 
			
		||||
 | 
			
		||||
=item $aerohive->cd11_port()
 | 
			
		||||
=item $aironet->cd11_port()
 | 
			
		||||
 | 
			
		||||
Returns radio interfaces.
 | 
			
		||||
 | 
			
		||||
=item $aerohive->cd11_mac()
 | 
			
		||||
=item $aironet->cd11_mac()
 | 
			
		||||
 | 
			
		||||
Returns client radio interface MAC addresses.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,6 @@ package SNMP::Info::Layer2::Airespace;
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
use Exporter;
 | 
			
		||||
use SNMP::Info::Bridge;
 | 
			
		||||
use SNMP::Info::CDP;
 | 
			
		||||
use SNMP::Info::Airespace;
 | 
			
		||||
 | 
			
		||||
@@ -41,7 +40,7 @@ use SNMP::Info::Airespace;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,      %SNMP::Info::Bridge::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ use SNMP::Info::IEEE802dot11;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::IEEE802dot11::GLOBALS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer1;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::Layer2::MIBS );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer2::GLOBALS,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer2::Cisco;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer2::Cisco::GLOBALS,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Layer2::Cisco;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::Cisco::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::SONMP;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -52,7 +52,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ use SNMP::Info::CDP;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer2::GLOBALS,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,7 @@ use SNMP::Info::CDP;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %PORTSTAT, %MODEL_MAP, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Airespace;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE, $AUTOLOAD, $INIT, $DEBUG);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS, %SNMP::Info::IEEE802dot11::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# This will be filled in with the device's index into the EntPhysicalEntry
 | 
			
		||||
# table by the serial() function.
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (%SNMP::Info::Layer2::MIBS, 'SIXNET-MIB' => 'sxid',);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::Layer3;  # only used in sub mac()
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS,
 | 
			
		||||
@@ -199,9 +199,6 @@ sub model {
 | 
			
		||||
        }if($ethCount eq 8){
 | 
			
		||||
            ## Could be ER-8 Pro, ER-8, or EP-R8
 | 
			
		||||
            return "EdgeRouter 8-Port"
 | 
			
		||||
        }if($ethCount eq 12){
 | 
			
		||||
            ## ER-12
 | 
			
		||||
            return "EdgeRouter 12-Port"
 | 
			
		||||
        }elsif($ethCount eq 5 and $cpuCount eq 4){
 | 
			
		||||
            ## Could be ER-X or ER-X-SFP
 | 
			
		||||
            return "EdgeRouter X 5-Port"
 | 
			
		||||
@@ -233,14 +230,13 @@ sub serial {
 | 
			
		||||
sub mac {
 | 
			
		||||
    my $ubnt = shift;
 | 
			
		||||
    my $ifDescs = $ubnt->ifDescr;
 | 
			
		||||
    my $erModel = $ubnt->model;
 | 
			
		||||
 | 
			
		||||
    foreach my $iid ( keys %$ifDescs ) {
 | 
			
		||||
        my $ifDesc = $ifDescs->{$iid};
 | 
			
		||||
        next unless defined $ifDesc;
 | 
			
		||||
        ## CPU Interface will have the primary MAC for EdgeSwitch
 | 
			
		||||
        ## eth0 will have primary MAC for linux-based UBNT devices, except ER-12 which is eth11
 | 
			
		||||
        if($ifDesc =~ /CPU/ or ($ifDesc eq 'eth0' and !($erModel =~ /EdgeRouter 12/)) or ($ifDesc eq 'eth11' and ($erModel =~ /EdgeRouter 12/))){
 | 
			
		||||
        ## eth0 will have primary MAC for linux-based UBNT devices
 | 
			
		||||
        if($ifDesc =~ /CPU/ or $ifDesc eq 'eth0'){
 | 
			
		||||
            my $mac = $ubnt->ifPhysAddress->{$iid};
 | 
			
		||||
 | 
			
		||||
            # syntax stolen from sub munge_mac in SNMP::Info
 | 
			
		||||
@@ -254,11 +250,11 @@ sub mac {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub interfaces {
 | 
			
		||||
    my $ubnt = shift;
 | 
			
		||||
    my $netgear = shift;
 | 
			
		||||
    my $partial = shift;
 | 
			
		||||
 | 
			
		||||
    my $interfaces = $ubnt->i_index($partial)       || {};
 | 
			
		||||
    my $i_descr    = $ubnt->i_description($partial) || {};
 | 
			
		||||
    my $interfaces = $netgear->i_index($partial)       || {};
 | 
			
		||||
    my $i_descr    = $netgear->i_description($partial) || {};
 | 
			
		||||
    my $return = {};
 | 
			
		||||
 | 
			
		||||
    foreach my $iid ( keys %$i_descr ) {
 | 
			
		||||
@@ -372,11 +368,11 @@ Bridge MAC address.
 | 
			
		||||
 | 
			
		||||
=item $ubnt->os()
 | 
			
		||||
 | 
			
		||||
Returns C<AirOS>, C<UniFi> or C<EdgeOS> depending on model.
 | 
			
		||||
Returns 'Ubiquiti Networks, Inc.'
 | 
			
		||||
 | 
			
		||||
=item $ubnt->os_ver()
 | 
			
		||||
 | 
			
		||||
Returns the software version extracted from C<dot11manufacturerProductVersion>, with fallback to description splitting for EdgeMax devices
 | 
			
		||||
Returns the software version extracted from C<dot11manufacturerProductVersion>, with failback to description splitting for EdgeMax devices
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
@@ -397,11 +393,11 @@ to a hash.
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $ubnt->interfaces()
 | 
			
		||||
=item $ubiquiti->interfaces()
 | 
			
		||||
 | 
			
		||||
Uses the i_name() field.
 | 
			
		||||
 | 
			
		||||
=item $ubnt->i_ignore()
 | 
			
		||||
=item $ubiquiti->i_ignore()
 | 
			
		||||
 | 
			
		||||
Ignores interfaces with "CPU Interface" in them.
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer2;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# Set for No CDP
 | 
			
		||||
%GLOBALS = ( %SNMP::Info::Layer2::GLOBALS );
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
@@ -54,7 +54,7 @@ use SNMP::Info::DocsisHE;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MIBS,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										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
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %MIBS, %FUNCS, %GLOBALS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ use SNMP::Info::LLDP;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
@@ -96,6 +96,8 @@ sub model {
 | 
			
		||||
    my $id    = $alu->id();
 | 
			
		||||
    my $model = &SNMP::translateObj($id);
 | 
			
		||||
 | 
			
		||||
    return 'ASAM 73xx' if $id =~ /637\.61\.1$/;
 | 
			
		||||
 | 
			
		||||
    return $id unless defined $model;
 | 
			
		||||
 | 
			
		||||
    $model =~ s/^device//;
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE,
 | 
			
		||||
            $int_include_vpn, $fake_idx, $type_class);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
            %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ use SNMP::Info::Aggregate 'agg_ports_ifstack';
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %FUNCS, %GLOBALS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,328 +0,0 @@
 | 
			
		||||
# SNMP::Info::Layer3::ArubaCX
 | 
			
		||||
#
 | 
			
		||||
# Copyright (c) 2021 Jeroen van Ingen
 | 
			
		||||
# 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::Layer3::ArubaCX;
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use warnings;
 | 
			
		||||
use Exporter;
 | 
			
		||||
use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
 | 
			
		||||
use SNMP::Info::Layer3;
 | 
			
		||||
use SNMP::Info::IEEE802_Bridge;
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::ArubaCX::ISA = qw/
 | 
			
		||||
  SNMP::Info::IEEE802dot3ad
 | 
			
		||||
  SNMP::Info::Layer3
 | 
			
		||||
  SNMP::Info::IEEE802_Bridge
 | 
			
		||||
  Exporter
 | 
			
		||||
/;
 | 
			
		||||
@SNMP::Info::Layer3::ArubaCX::EXPORT_OK = qw/
 | 
			
		||||
  agg_ports
 | 
			
		||||
/;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
    %SNMP::Info::IEEE802dot3ad::MIBS,
 | 
			
		||||
    %SNMP::Info::IEEE802_Bridge::MIBS,
 | 
			
		||||
    'ARUBAWIRED-FAN-MIB' => 'arubaWiredFanName',
 | 
			
		||||
    'ARUBAWIRED-VSF-MIB' => 'arubaWiredVsfTrapEnable',
 | 
			
		||||
    'ARUBAWIRED-POWERSUPPLY-MIB' => 'arubaWiredPSUName',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%GLOBALS = (
 | 
			
		||||
    %SNMP::Info::Layer3::GLOBALS,
 | 
			
		||||
    %SNMP::Info::IEEE802_Bridge::GLOBALS,
 | 
			
		||||
    'ps1_type' => 'arubaWiredPSUProductName.1.1',
 | 
			
		||||
    'ps2_type' => 'arubaWiredPSUProductName.1.2',
 | 
			
		||||
    'ps1_status' => 'arubaWiredPSUState.1.1',
 | 
			
		||||
    'ps2_status' => 'arubaWiredPSUState.1.2',
 | 
			
		||||
    'vsf_topology' => 'arubaWiredVsfTopology',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%FUNCS = (
 | 
			
		||||
    %SNMP::Info::Layer3::FUNCS,
 | 
			
		||||
    %SNMP::Info::IEEE802dot3ad::FUNCS,
 | 
			
		||||
    %SNMP::Info::IEEE802_Bridge::FUNCS,
 | 
			
		||||
    'fan_names' => 'arubaWiredFanName',
 | 
			
		||||
    'fan_states' => 'arubaWiredFanState',
 | 
			
		||||
    'psu_names' => 'arubaWiredPSUName',
 | 
			
		||||
    'psu_types' => 'arubaWiredPSUProductName',
 | 
			
		||||
    'psu_states' => 'arubaWiredPSUState',
 | 
			
		||||
    'vsf_prod_names' => 'arubaWiredVsfMemberProductName',
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
%MUNGE = (
 | 
			
		||||
    %SNMP::Info::Layer3::MUNGE,
 | 
			
		||||
    %SNMP::Info::IEEE802dot3ad::MUNGE,
 | 
			
		||||
    %SNMP::Info::IEEE802_Bridge::MUNGE,
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
sub _at_pbb_one {
 | 
			
		||||
    my $in = shift // {};
 | 
			
		||||
    my $ret = {};
 | 
			
		||||
    foreach my $key (keys %$in) {
 | 
			
		||||
        if ($key =~ /^1\.(\d+)$/) {
 | 
			
		||||
            $ret->{$1} = $in->{$key};
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    return $ret;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub fan {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    my $names = $cx->fan_names() || {};
 | 
			
		||||
    my $states = $cx->fan_states() || {};
 | 
			
		||||
    my @ary = ();
 | 
			
		||||
    foreach my $idx (sort keys %$names) {
 | 
			
		||||
        my $name = $names->{$idx} // 'n/a';
 | 
			
		||||
        my $state = $states->{$idx} // 'n/a';
 | 
			
		||||
        push @ary, sprintf("%s: %s", $name, $state);
 | 
			
		||||
    }
 | 
			
		||||
    return join (', ', @ary);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub vendor {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    my $mfg = $cx->entPhysicalMfgName(1) || {};
 | 
			
		||||
    my $vendor = $mfg->{1} || "aruba";
 | 
			
		||||
    return lc($vendor);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub stack_info {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    my $vsf_topo = $cx->vsf_topology();
 | 
			
		||||
    if (defined $vsf_topo and $vsf_topo ne 'standalone') {
 | 
			
		||||
        my $member_prod_names = $cx->vsf_prod_names() || {};
 | 
			
		||||
        my $num_members = scalar keys %$member_prod_names;
 | 
			
		||||
        my $fullname = (values %$member_prod_names)[0];
 | 
			
		||||
        my $modelname = '';
 | 
			
		||||
        if ($fullname =~ /^(\S+)/) {
 | 
			
		||||
            $modelname = $1;
 | 
			
		||||
        }
 | 
			
		||||
        return sprintf("%s (stack of %d)", $modelname, $num_members);
 | 
			
		||||
    } else {
 | 
			
		||||
        return undef;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub model {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    my $model = $cx->entPhysicalModelName(1) || {};
 | 
			
		||||
    my $id = $cx->id();
 | 
			
		||||
    my $translated_id = &SNMP::translateObj($id) || $id;
 | 
			
		||||
    $translated_id =~ s/arubaWiredSwitch//i;
 | 
			
		||||
    return $cx->stack_info() || $model->{1} || $translated_id;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub os {
 | 
			
		||||
    return "arubaos-cx";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub os_ver {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    my $ver_release = $cx->entPhysicalSoftwareRev(1) || {};
 | 
			
		||||
    return $ver_release->{1};
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub agg_ports { return agg_ports_lag(@_) }
 | 
			
		||||
 | 
			
		||||
# Overrides for VLAN & forwarding table methods
 | 
			
		||||
sub v_name {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    return _at_pbb_one($cx->iqb_v_name()) || $cx->SUPER::v_name();
 | 
			
		||||
}
 | 
			
		||||
sub qb_i_vlan {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    return _at_pbb_one($cx->iqb_i_vlan()) || $cx->SUPER::qb_i_vlan();
 | 
			
		||||
}
 | 
			
		||||
sub i_vlan_type {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    return _at_pbb_one($cx->iqb_i_vlan_type()) || $cx->SUPER::qb_i_vlan_type();
 | 
			
		||||
}
 | 
			
		||||
sub qb_v_egress {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    return $cx->iqb_v_egress() || $cx->SUPER::qb_v_egress();
 | 
			
		||||
}
 | 
			
		||||
sub qb_cv_egress {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    return $cx->iqb_cv_egress() || $cx->SUPER::qb_cv_egress();
 | 
			
		||||
}
 | 
			
		||||
sub qb_v_untagged {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    return $cx->iqb_v_untagged() || $cx->SUPER::qb_v_untagged();
 | 
			
		||||
}
 | 
			
		||||
sub qb_cv_untagged {
 | 
			
		||||
    my $cx = shift;
 | 
			
		||||
    return $cx->iqb_cv_untagged() || $cx->SUPER::qb_cv_untagged();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
1;
 | 
			
		||||
__END__
 | 
			
		||||
 | 
			
		||||
=head1 NAME
 | 
			
		||||
 | 
			
		||||
SNMP::Info::Layer3::ArubaCX - SNMP Interface to L3 Devices running ArubaOS-CX
 | 
			
		||||
 | 
			
		||||
=head1 AUTHORS
 | 
			
		||||
 | 
			
		||||
Jeroen van Ingen
 | 
			
		||||
 | 
			
		||||
=head1 SYNOPSIS
 | 
			
		||||
 | 
			
		||||
 # Let SNMP::Info determine the correct subclass for you.
 | 
			
		||||
 my $cx = new SNMP::Info(
 | 
			
		||||
                          AutoSpecify => 1,
 | 
			
		||||
                          Debug       => 1,
 | 
			
		||||
                          DestHost    => 'myrouter',
 | 
			
		||||
                          Community   => 'public',
 | 
			
		||||
                          Version     => 2
 | 
			
		||||
                        )
 | 
			
		||||
    or die "Can't connect to DestHost.\n";
 | 
			
		||||
 | 
			
		||||
 my $class      = $cx->class();
 | 
			
		||||
 print "SNMP::Info determined this device to fall under subclass : $class\n";
 | 
			
		||||
 | 
			
		||||
=head1 DESCRIPTION
 | 
			
		||||
 | 
			
		||||
Subclass for devices running ArubaOS-CX
 | 
			
		||||
 | 
			
		||||
=head2 Inherited Classes
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::Layer3
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::IEEE802dot3ad
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Required MIBs
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item F<ARUBAWIRED-FAN-MIB>
 | 
			
		||||
=item F<ARUBAWIRED-VSF-MIB>
 | 
			
		||||
=item F<ARUBAWIRED-POWERSUPPLY-MIB>
 | 
			
		||||
 | 
			
		||||
=item Inherited Classes' MIBs
 | 
			
		||||
 | 
			
		||||
See L<SNMP::Info::IEEE802dot3ad> for its own MIB requirements.
 | 
			
		||||
 | 
			
		||||
See L<SNMP::Info::Layer3> for its own MIB requirements.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head1 GLOBALS
 | 
			
		||||
 | 
			
		||||
These are methods that return scalar value from SNMP
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item $cx->stack_info()
 | 
			
		||||
 | 
			
		||||
If the device supports VSF stacking and is not in standalone mode, returns
 | 
			
		||||
a string describing the switch family and the number of stack members.
 | 
			
		||||
Example return value: '6300M (stack of 2)'. Will return undef when VSF is not
 | 
			
		||||
supported or when the device is VSF standalone/
 | 
			
		||||
 | 
			
		||||
=item $cx->model()
 | 
			
		||||
 | 
			
		||||
Returns L<stack_info()> if defined, otherwise will fall back to returning the
 | 
			
		||||
model from C<entPhysicalModelName.1>; if that's also not set, will use
 | 
			
		||||
C<sysObjectID> as a last resort, stripping 'arubaWiredSwitch' from the value.
 | 
			
		||||
 | 
			
		||||
=item $cx->vendor()
 | 
			
		||||
 | 
			
		||||
Returns (lowercased) value for C<entPhysicalMfgName.1>, or 'aruba'.
 | 
			
		||||
 | 
			
		||||
=item $cx->os()
 | 
			
		||||
 | 
			
		||||
Returns 'arubaos-cx'.
 | 
			
		||||
 | 
			
		||||
=item $cx->os_ver()
 | 
			
		||||
 | 
			
		||||
Returns the software version. Either C<entPhysicalSoftwareRev.1> or
 | 
			
		||||
extracted from C<sysDescr>.
 | 
			
		||||
 | 
			
		||||
=item $cx->fan()
 | 
			
		||||
 | 
			
		||||
Returns a string with status information for all fans listed in
 | 
			
		||||
C<ARUBAWIRED-FAN-MIB>.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::Layer3
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Globals imported from SNMP::Info::IEEE802dot3ad
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::IEEE802dot3ad> for details.
 | 
			
		||||
 | 
			
		||||
=head1 TABLE ENTRIES
 | 
			
		||||
 | 
			
		||||
These are methods that return tables of information in the form of a reference
 | 
			
		||||
to a hash.
 | 
			
		||||
 | 
			
		||||
=head2 Overrides
 | 
			
		||||
 | 
			
		||||
=over
 | 
			
		||||
 | 
			
		||||
=item C<agg_ports>
 | 
			
		||||
 | 
			
		||||
Returns a HASH reference mapping from slave to master port for each member of
 | 
			
		||||
a port bundle on the device. Keys are ifIndex of the slave ports, Values are
 | 
			
		||||
ifIndex of the corresponding master ports.
 | 
			
		||||
 | 
			
		||||
=item C<v_name>
 | 
			
		||||
=item C<qb_i_vlan>
 | 
			
		||||
=item C<i_vlan_type>
 | 
			
		||||
=item C<qb_v_egress>
 | 
			
		||||
=item C<qb_cv_egress>
 | 
			
		||||
=item C<qb_v_untagged>
 | 
			
		||||
=item C<qb_cv_untagged>
 | 
			
		||||
All overridden to return the VLAN data structures that we'd expect for a
 | 
			
		||||
device that implements C<Q-BRIDGE-MIB>, but with data from
 | 
			
		||||
L<SNMP::Info::IEEE8021_Bridge> at PBB 1.
 | 
			
		||||
 | 
			
		||||
=back
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::Layer3
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::Layer3> for details.
 | 
			
		||||
 | 
			
		||||
=head2 Table Methods imported from SNMP::Info::IEEE802dot3ad
 | 
			
		||||
 | 
			
		||||
See documentation in L<SNMP::Info::IEEE802dot3ad> for details.
 | 
			
		||||
 | 
			
		||||
=cut
 | 
			
		||||
@@ -41,7 +41,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE, %MODEL_MAP,
 | 
			
		||||
    %MODID_MAP, %PROCID_MAP);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer2::MIBS, %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::C3550::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# NOTE: Order creates precedence
 | 
			
		||||
#       Example: v_name exists in Bridge.pm and CiscoVTP.pm
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@ use SNMP::Info::MAU;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::MAU::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::C6500::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
# NOTE: Order creates precedence
 | 
			
		||||
#       Example: v_name exists in Bridge.pm and CiscoVTP.pm
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
@@ -218,7 +218,7 @@ for other device specific L3 Cisco classes.
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoConfig
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoPower
 | 
			
		||||
=item SNMP::Info::Power
 | 
			
		||||
 | 
			
		||||
=item SNMP::Info::CiscoStpExtensions
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = ( %SNMP::Info::Layer3::MIBS, %SNMP::Info::CiscoStats::MIBS, );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,7 @@ our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
@SNMP::Info::Layer3::CiscoSwitch::EXPORT_OK = qw//;
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::Cisco::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -44,7 +44,7 @@ use SNMP::Info::IEEE802dot3ad 'agg_ports_lag';
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %MIBS, %FUNCS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
 
 | 
			
		||||
@@ -38,7 +38,7 @@ use SNMP::Info::Layer3;
 | 
			
		||||
 | 
			
		||||
our ($VERSION, %GLOBALS, %FUNCS, %MIBS, %MUNGE);
 | 
			
		||||
 | 
			
		||||
$VERSION = '3.72';
 | 
			
		||||
$VERSION = '3.70-135';
 | 
			
		||||
 | 
			
		||||
%MIBS = (
 | 
			
		||||
    %SNMP::Info::Layer3::MIBS,
 | 
			
		||||
@@ -76,15 +76,9 @@ $VERSION = '3.72';
 | 
			
		||||
 | 
			
		||||
sub model {
 | 
			
		||||
    my $dlink=shift;
 | 
			
		||||
    my $id = $dlink->id();
 | 
			
		||||
    my $model = &SNMP::translateObj($id);
 | 
			
		||||
    return $id unless defined $model;
 | 
			
		||||
    if (defined $model && $model !~ /dlink-products/) {
 | 
			
		||||
	return $model;
 | 
			
		||||
    } else {
 | 
			
		||||
    	#If don't have a device MIB
 | 
			
		||||
	return $dlink->description();
 | 
			
		||||
    }
 | 
			
		||||
    my $hw = $dlink->hwver() || undef;
 | 
			
		||||
    return $dlink->description() . ' HW:' . $hw if defined($hw);
 | 
			
		||||
    return $dlink->description();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
# ifDescr is the same for all interfaces in a class, but the ifName is
 | 
			
		||||
@@ -102,6 +96,15 @@ sub vendor {
 | 
			
		||||
    return 'dlink';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub os {
 | 
			
		||||
    return 'dlink-os';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub os_ver {
 | 
			
		||||
    my $obj = shift;
 | 
			
		||||
    return $obj->fwver();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub serial {
 | 
			
		||||
    my $dlink = shift;
 | 
			
		||||
    my $model = $dlink->model();
 | 
			
		||||
@@ -134,8 +137,8 @@ sub fwver {
 | 
			
		||||
 | 
			
		||||
sub hwver {
 | 
			
		||||
    my $dlink=shift;
 | 
			
		||||
    my $model = $dlink->model();
 | 
			
		||||
    my $id = $dlink->id();
 | 
			
		||||
    my $model = &SNMP::translateObj($id);
 | 
			
		||||
    my $hw;
 | 
			
		||||
    if ($model =~ /1210/) {
 | 
			
		||||
	#Due to the zoo of MIB from DLink by 1210 series
 | 
			
		||||
@@ -144,6 +147,9 @@ sub hwver {
 | 
			
		||||
	$hw = $dlink->dlink_hw();
 | 
			
		||||
    }
 | 
			
		||||
    return $hw->{0} if ( defined $hw->{0} and $hw->{0} !~ /^\s*$/ and $hw->{0} !~ 'NOSUCHOBJECT');
 | 
			
		||||
 | 
			
		||||
    $hw = $dlink->session()->get('rmon.19.3.0');
 | 
			
		||||
    return $hw if defined($hw);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
sub stp_i_root_port {
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user