[#54] Possible bad values returned for cdp_id with some HP gear (Joel Leonhardt)

This commit is contained in:
Eric A. Miller
2014-07-01 23:01:24 -04:00
parent d09e4a125c
commit 08e049eb31
2 changed files with 19 additions and 2 deletions

View File

@@ -15,6 +15,8 @@ version 3.18
have overridden layers.
* [#58] Fix inheritance in L3::FWSM and L3::CiscoASA
* [#71] Don't try to match on a false port description in lldp_if
* [#54] Posible bad values returned for cdp_id with some HP
gear (Joel Leonhardt)
version 3.17 (2014-06-23)

View File

@@ -62,7 +62,7 @@ $VERSION = '3.17';
'cdp_proto' => 'cdpCacheAddressType',
'cdp_addr' => 'cdpCacheAddress',
'cdp_ver' => 'cdpCacheVersion',
'cdp_id' => 'cdpCacheDeviceId',
'cdp_dev_id' => 'cdpCacheDeviceId',
'cdp_port' => 'cdpCacheDevicePort',
'cdp_platform' => 'cdpCachePlatform',
'cdp_capabilities' => 'cdpCacheCapabilities',
@@ -81,7 +81,6 @@ $VERSION = '3.17';
'cdp_platform' => \&SNMP::Info::munge_null,
'cdp_domain' => \&SNMP::Info::munge_null,
'cdp_port' => \&SNMP::Info::munge_null,
'cdp_id' => \&SNMP::Info::munge_null,
'cdp_ver' => \&SNMP::Info::munge_null,
'cdp_ip' => \&SNMP::Info::munge_ip,
'cdp_power' => \&munge_power,
@@ -210,6 +209,22 @@ sub cdp_cap {
return \%cdp_cap;
}
sub cdp_id {
my $cdp = shift;
my $partial = shift;
my $ch = $cdp->cdp_dev_id($partial) || {};
my %cdp_id;
foreach my $key ( sort keys %$ch ) {
my $id = $ch->{$key};
next unless $id;
$id = SNMP::Info::munge_mac($id) || SNMP::Info::munge_null($id);
$cdp_id{$key} = $id;
}
return \%cdp_id;
}
1;
__END__