check for unreachable root ip before assignment
This commit is contained in:
		| @@ -317,23 +317,17 @@ sub root_ip { | ||||
|         my $idx = $ip_index->{$entry}; | ||||
|         next unless $idx == 0; | ||||
|         my $clip = $ip_table->{$entry}; | ||||
|         next unless ((defined $clip) and ($clip eq '0.0.0.0')); | ||||
|         next unless ( (defined $clip) and ($clip eq '0.0.0.0') and ($bayrs->_snmp_connect_ip($clip)) ); | ||||
|         print " SNMP::Layer3::BayRS::root_ip() using $clip\n" if $bayrs->debug(); | ||||
|         return $clip; | ||||
|     } | ||||
|     # Check for OSPF Router ID | ||||
|     my $ospf_ip  = $bayrs->ospf_rtr_id(); | ||||
|     if ((defined $ospf_ip) and ($ospf_ip ne '0.0.0.0')) { | ||||
|     if ((defined $ospf_ip) and ($ospf_ip ne '0.0.0.0') and ($bayrs->_snmp_connect_ip($ospf_ip)) ) { | ||||
|         print " SNMP::Layer3::BayRS::root_ip() using $ospf_ip\n" if $bayrs->debug(); | ||||
|         return $ospf_ip; | ||||
|     } | ||||
|     # Else Return First IP Address | ||||
|     foreach my $entry (keys %$ip_table){ | ||||
|         my $ip = $ip_table->{$entry}; | ||||
|         print " SNMP::Layer3::BayRS::root_ip() using $ip\n" if $bayrs->debug(); | ||||
|         next unless $ip; | ||||
|         return $ip if ($ip ne '0.0.0.0'); | ||||
|     } | ||||
|  | ||||
|     return undef; | ||||
| } | ||||
|  | ||||
| @@ -459,8 +453,7 @@ Returns (B<wfHwBpSerialNumber>) after conversion to ASCII decimal | ||||
|  | ||||
| Returns the primary IP used to communicate with the router. | ||||
|  | ||||
| Returns the first found:  CLIP (CircuitLess IP), (B<wfOspfRouterId>), or the first | ||||
| IP interface. | ||||
| Returns the first found:  CLIP (CircuitLess IP), (B<wfOspfRouterId>), or undefined. | ||||
|  | ||||
| =back | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Eric Miller
					Eric Miller