diff options
author | root <root@debian> | 2016-06-02 20:24:58 +0200 |
---|---|---|
committer | root <root@debian> | 2016-06-02 20:24:58 +0200 |
commit | be79767a00a2bfc0e77922669bcbddeaf003a84d (patch) | |
tree | 060acc53bac626a8716761f27ff80048312c95d6 /extras/tools/lldp | |
parent | 8b580cc21e08b187451cc36a379974ca898e5105 (diff) |
tweak lldpdiscover (more info)
Diffstat (limited to 'extras/tools/lldp')
-rwxr-xr-x | extras/tools/lldp/lldpdiscover.pl | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/extras/tools/lldp/lldpdiscover.pl b/extras/tools/lldp/lldpdiscover.pl index 32840ad..14c4fc5 100755 --- a/extras/tools/lldp/lldpdiscover.pl +++ b/extras/tools/lldp/lldpdiscover.pl @@ -194,8 +194,9 @@ sub get_snmp_data { $ret{'sysDescr'} = $session->get('sysDescr.0'); $ret{'lldpRemManAddrTable'} = $session->gettable("lldpRemManAddrTable"); $ret{'lldpRemTable'} = $session->gettable("lldpRemTable"); - $ret{'lldpLocChassisIdParsed'} = nms::convert_mac($session->getnext('lldpLocChassisId')); - $ret{'lldpLocChassisId'} = $session->get('lldpLocChassisId.0'); + $ret{'ipNetToMediaTable'} = $session->gettable('ipNetToMediaTable'); + $ret{'ifTable'} = $session->gettable('ifTable'); + $ret{'ifXTable'} = $session->gettable('ifXTable'); #print Dumper(\%ret); }; if ($@) { @@ -238,6 +239,21 @@ sub parse_snmp $lol{$value->{lldpRemIndex}}{lldpRemManAddr} = nms::convert_ipv6($addr); } } + while (my ($key, $value) = each %{$snmp->{ipNetToMediaTable}}) { + $value->{ipNetToMediaPhysAddress} = nms::convert_mac($value->{ipNetToMediaPhysAddress}); + push @{$lol{$value->{ipNetToMediaIfIndex}}{ARP}}, $value; + } + while (my ($key, $value) = each %{$snmp->{ifTable}}) { + $value->{ifPhysAddress} = nms::convert_mac($value->{ifPhysAddress}); + foreach my $key2 (keys %$value) { + $lol{$value->{ifIndex}}{$key2} = $value->{$key2}; + } + } + while (my ($key, $value) = each %{$snmp->{ifXTable}}) { + foreach my $key2 (keys %$value) { + $lol{$key}{$key2} = $value->{$key2}; + } + } return \%lol; print Dumper (\%lol); } |