Changeset 209 for trunk/klask


Ignore:
Timestamp:
Feb 16, 2017, 9:38:46 PM (7 years ago)
Author:
g7moreau
Message:
  • Init all param SNMP session at startup
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/klask

    r208 r209  
    4040my %SWITCH_DB    = ();
    4141LEVEL_OF_EACH_SWITCH:
    42 for my $sw (@SWITCH_LIST){
     42for my $sw (@SWITCH_LIST) {
    4343   $SWITCH_LEVEL{$sw->{hostname}} = $sw->{level} || $DEFAULT{switch_level}  || 2;
    4444   $SWITCH_DB{$sw->{hostname}} = $sw;
     
    349349   INIT_EACH_SWITCH:
    350350   for my $sw (@SWITCH_LIST) {
    351       my %session = ( -hostname   => $sw->{hostname} );
    352          $session{-version} = $sw->{version}   || 1;
    353          $session{-port}    = $sw->{snmpport}  || $DEFAULT{snmpport}  || 161;
    354          if (exists $sw->{version} and $sw->{version} eq '3') {
    355             $session{-username} = $sw->{username} || 'snmpadmin';
    356             }
    357          else {
    358             $session{-community} = $sw->{community} || $DEFAULT{community} || 'public';
    359             }
    360 
    361       $sw->{local_session} = \%session;
    362 
    363       my ($session, $error) = Net::SNMP->session( %{$sw->{local_session}} );
     351      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    364352      print "$error \n" if $error;
    365353
     
    483471   LOOP_ON_SWITCH:
    484472   for my $sw (@switch_search) {
    485       my ($session, $error) = Net::SNMP->session( %{$sw->{local_session}} );
     473      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    486474      print "$error \n" if $error;
    487475
     
    541529   LOOP_ON_ALL_SWITCH:
    542530   for my $sw (@SWITCH_LIST) {
    543       my ($session, $error) = Net::SNMP->session( %{$sw->{local_session}} );
     531      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    544532      print "$error \n" if $error;
    545533
     
    623611      my @line  = @{$KLASK_CFG->{network}{$net}{'ip-subnet'}};
    624612      for my $cmd (@line) {
    625          for my $method (keys %{$cmd}){
     613         for my $method (keys %{$cmd}) {
    626614            $cidrlist->add_any($cmd->{$method}) if $method eq 'add';
    627615            }
     
    994982      $db_switch_chained_port{$sw_connect} .= "$port_connect:";
    995983      }
    996    for my $sw (@SWITCH_LIST){
     984   for my $sw (@SWITCH_LIST) {
    997985      push @{$sw->{portignore}}, $db_switch_output_port{$sw->{hostname}}  if exists $db_switch_output_port{$sw->{hostname}};
    998986      if ( exists $db_switch_chained_port{$sw->{hostname}} ) {
     
    16681656         }
    16691657
    1670       my $sw = $SWITCH_DB{$sw_name};
    1671       my %session = ( -hostname => $sw->{hostname} );
    1672          $session{-version} = $sw->{version}   || 1;
    1673          $session{-port}    = $sw->{snmpport}  || $DEFAULT{snmpport}  || 161;
    1674       if (exists $sw->{version} and $sw->{version} eq '3') {
    1675          $session{-username} = $sw->{username} || 'snmpadmin';
    1676          }
    1677       else {
    1678          $session{-community} = $sw->{community} || $DEFAULT{community} || 'public';
    1679          }
    1680 
    16811658      my $research1 = $OID_NUMBER{searchPort1} . mac_address_hex_to_dec($mac_address);
    16821659      my $research2 = $OID_NUMBER{searchPort2} .'.'. 0 . mac_address_hex_to_dec($mac_address);
     
    16841661      print "Klask search OID $research2 on switch $sw_name\n";
    16851662
    1686       my ($session, $error) = Net::SNMP->session( %session );
     1663      my $sw = $SWITCH_DB{$sw_name};
     1664      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    16871665      print "$error \n" if $error;
    16881666
     
    17301708         }
    17311709
     1710      my $search = $OID_NUMBER{'vlanPortDefault'} . ".$switch_port";
     1711
    17321712      my $sw = $SWITCH_DB{$sw_name};
    1733       my %session = ( -hostname => $sw->{hostname} );
    1734          $session{-version} = $sw->{version}   || 1;
    1735          $session{-port}    = $sw->{snmpport}  || $DEFAULT{snmpport}  || 161;
    1736       if (exists $sw->{version} and $sw->{version} eq '3') {
    1737          $session{-username} = $sw->{username} || 'snmpadmin';
    1738          }
    1739       else {
    1740          $session{-community} = $sw->{community} || $DEFAULT{community} || 'public';
    1741          }
    1742 
    1743       my $search = $OID_NUMBER{'vlanPortDefault'} . ".$switch_port";
    1744 
    1745       my ($session, $error) = Net::SNMP->session( %session );
     1713      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    17461714      print "$error \n" if $error;
    17471715
     
    17871755
    17881756      my $sw = $SWITCH_DB{$sw_name};
    1789       my %session = ( -hostname => $sw->{hostname} );
    1790          $session{-version} = $sw->{version}   || 1;
    1791          $session{-port}    = $sw->{snmpport}  || $DEFAULT{snmpport}  || 161;
    1792       if (exists $sw->{version} and $sw->{version} eq '3') {
    1793          $session{-username} = $sw->{username} || 'snmpadmin';
    1794          }
    1795       else {
    1796          $session{-community} = $sw->{community} || $DEFAULT{community} || 'public';
    1797          }
    1798 
    1799       my ($session, $error) = Net::SNMP->session( %session );
     1757      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    18001758      print "$error \n" if $error;
    18011759
     
    18241782         }
    18251783
     1784      my $search_vlan_name = $OID_NUMBER{vlanName} . ".$vlan_id";
     1785
    18261786      my $sw = $SWITCH_DB{$sw_name};
    1827       my %session = ( -hostname => $sw->{hostname} );
    1828          $session{-version} = $sw->{version}   || 1;
    1829          $session{-port}    = $sw->{snmpport}  || $DEFAULT{snmpport}  || 161;
    1830       if (exists $sw->{version} and $sw->{version} eq '3') {
    1831          $session{-username} = $sw->{username} || 'snmpadmin';
    1832          }
    1833       else {
    1834          $session{-community} = $sw->{community} || $DEFAULT{community} || 'public';
    1835          }
    1836 
    1837       my $search_vlan_name = $OID_NUMBER{vlanName} . ".$vlan_id";
    1838 
    1839       my ($session, $error) = Net::SNMP->session( %session );
     1787      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    18401788      print "$error \n" if $error;
    18411789
     
    20592007      }
    20602008
     2009   my $search_portstatus = $OID_NUMBER{'portUpDown'} .'.'. $port;
     2010   print "Info: switch $switch_name port $port SNMP OID $search_portstatus\n" if $verbose;
     2011
    20612012   my $sw = $SWITCH_DB{$switch_name};
    20622013   my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    20632014   print "$error \n" if $error;
    20642015
    2065    my $oid_portstatus = $OID_NUMBER{'portUpDown'} .'.'. $port;
    2066    print "Info: switch $switch_name port $port SNMP OID $oid_portstatus\n" if $verbose;
    20672016   my $result = $session->get_request(
    2068       -varbindlist => [$oid_portstatus]
     2017      -varbindlist => [$search_portstatus]
    20692018      );
    20702019   if (defined $result) {
    2071       print "$PORT_UPDOWN{$result->{$oid_portstatus}}\n";
     2020      print "$PORT_UPDOWN{$result->{$search_portstatus}}\n";
    20722021      }
    20732022
     
    21022051         }
    21032052
    2104       my $sw = $SWITCH_DB{$sw_name};
    2105       my %session = ( -hostname => $sw->{hostname} );
    2106          $session{-version} = $sw->{version}   || 1;
    2107          $session{-port}    = $sw->{snmpport}  || $DEFAULT{snmpport}  || 161;
    2108       if (exists $sw->{version} and $sw->{version} eq '3') {
    2109          $session{-username} = $sw->{username} || 'snmpadmin';
    2110          }
    2111       else {
    2112          $session{-community} = $sw->{community} || $DEFAULT{community} || 'public';
    2113          }
    2114 
    21152053      my $research1 = $OID_NUMBER{searchPort1} . mac_address_hex_to_dec($mac_address);
    21162054      my $research2 = $OID_NUMBER{searchPort2} .'.'. $vlan_id . mac_address_hex_to_dec($mac_address);
     
    21182056      print "Klask search OID $research2 on switch $sw_name\n" if $verbose;
    21192057
    2120       my ($session, $error) = Net::SNMP->session( %session );
     2058      my $sw = $SWITCH_DB{$sw_name};
     2059      my ($session, $error) = Net::SNMP->session( %{$sw->{snmp_param_session}} );
    21212060      print "$error \n" if $error;
    21222061
     
    21952134   my @list_all_switch = ();
    21962135   my @list_switch_ipv4 = ();
    2197    for my $sw (@SWITCH_LIST){
     2136   for my $sw (@SWITCH_LIST) {
    21982137      push @list_all_switch, $sw->{hostname};
    21992138      }
Note: See TracChangeset for help on using the changeset viewer.