diff options
Diffstat (limited to 'include/nms.pm')
-rwxr-xr-x | include/nms.pm | 80 |
1 files changed, 1 insertions, 79 deletions
diff --git a/include/nms.pm b/include/nms.pm index 4012cc6..6a9598e 100755 --- a/include/nms.pm +++ b/include/nms.pm @@ -6,7 +6,6 @@ use Net::OpenSSH; use Net::Telnet; use Data::Dumper; use FileHandle; -use SNMP; use JSON; package nms; @@ -18,22 +17,9 @@ BEGIN { eval { require "config.local.pm"; }; - - # $SNMP::debugging = 1; - - # sudo mkdir /usr/share/mibs/site - # cd /usr/share/mibs/site - # wget -O- ftp://ftp.cisco.com/pub/mibs/v2/v2.tar.gz | sudo tar --strip-components=3 -zxvvf - - SNMP::initMib(); - SNMP::addMibDirs("../mibs"); - SNMP::loadModules('SNMPv2-MIB'); - SNMP::loadModules('ENTITY-MIB'); - SNMP::loadModules('IF-MIB'); - SNMP::loadModules('LLDP-MIB'); - SNMP::loadModules('IP-MIB'); - SNMP::loadModules('IP-FORWARD-MIB'); } + sub db_connect { my $connstr = "dbi:Pg:dbname=" . $nms::config::db_name; $connstr .= ";host=" . $nms::config::db_host unless (!defined($nms::config::db_host)); @@ -157,70 +143,6 @@ sub switch_disconnect($) { waitpid($struct->{pid}, 0); } } - -sub snmp_open_session { - my ($ip, $community, $async) = @_; - - $async //= 0; - - my %options = (UseEnums => 1); - if ($ip =~ /:/) { - $options{'DestHost'} = "udp6:$ip"; - } else { - $options{'DestHost'} = "udp:$ip"; - } - - if ($community =~ /^snmpv3:(.*)$/) { - my ($username, $authprotocol, $authpassword, $privprotocol, $privpassword) = split /\//, $1; - - $options{'SecName'} = $username; - $options{'SecLevel'} = 'authNoPriv'; - $options{'AuthProto'} = $authprotocol; - $options{'AuthPass'} = $authpassword; - - if (defined($privprotocol) && defined($privpassword)) { - $options{'SecLevel'} = 'authPriv'; - $options{'PrivProto'} = $privprotocol; - $options{'PrivPass'} = $privpassword; - } - - $options{'Version'} = 3; - } else { - $options{'Community'} = $community; - $options{'Version'} = 2; - } - - my $session = SNMP::Session->new(%options); - if (defined($session) && ($async || defined($session->getnext('sysDescr')))) { - return $session; - } else { - die 'Could not open SNMP session to ' . $ip; - } -} - -# Not currently in use; kept around for reference. -sub fetch_multi_snmp { - my ($session, @oids) = @_; - - my %results = (); - - # Do bulk reads of 40 and 40; seems to be about the right size for 1500-byte packets. - for (my $i = 0; $i < scalar @oids; $i += 40) { - my $end = $i + 39; - $end = $#oids if ($end > $#oids); - my @oid_slice = @oids[$i..$end]; - - my $localresults = $session->get_request(-varbindlist => \@oid_slice); - return undef if (!defined($localresults)); - - while (my ($key, $value) = each %$localresults) { - $results{$key} = $value; - } - } - - return \%results; -} - # A few utilities to convert from SNMP binary address format to human-readable. sub convert_mac { |