diff --git a/ChangeLog b/ChangeLog index d5e85701..62f3c716 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,7 @@ version 2.07 () * [3297786] LLDP INDEX munged to ignore TimeMark component (David Baldwin) * [3317739] Fix for Baystack without POE on stack member 1 (David Baldwin) * [2037444] os_ver fails on some Extreme versions (Robert Kerr) + * [2980789] Fix root_ip to try OSPF RouterID first (Brian De Wolf) version 2.06 (2011-09-28) diff --git a/Info/Layer3.pm b/Info/Layer3.pm index b24efed7..2f833f01 100644 --- a/Info/Layer3.pm +++ b/Info/Layer3.pm @@ -163,6 +163,12 @@ sub root_ip { my $router_ip = $l3->router_ip(); my $ospf_ip = $l3->ospf_ip(); + # if the router ip exists, we use it instead of OSPF host entries + return $router_ip + if (( defined $router_ip ) + and ( $router_ip ne '0.0.0.0' ) + and ( $l3->snmp_connect_ip($router_ip) ) ); + # return the first one found here (should be only one) if ( defined $ospf_ip and scalar( keys %$ospf_ip ) ) { foreach my $key ( keys %$ospf_ip ) { @@ -174,10 +180,6 @@ sub root_ip { } } - return $router_ip - if (( defined $router_ip ) - and ( $router_ip ne '0.0.0.0' ) - and ( $l3->snmp_connect_ip($router_ip) ) ); return; }