NAME

Net::SNMP::Mixin::Dot1abLLDP - mixin class for LLDP infos

VERSION

Version 0.01_01

SYNOPSIS

A mixin class for Net::SNMP for LLDP based info.

use Net::SNMP;
use Net::SNMP::Mixin qw/mixer init_mixins/;

#...

my $session = Net::SNMP->session( -hostname => 'foo.bar.com' );

$session->mixer('Net::SNMP::Mixin::Dot1abLLDP');
$session->init_mixins;
snmp_dispatcher() if $session->nonblocking;

die $session->error if $session->error;

printf "Local ChassisID: %s\n",
  $session->get_lldp_local_system_data->{lldpLocChassisId};

my $lldp_rem_tbl = $session->get_lldp_rem_table;

foreach my $lport ( sort { $a <=> $b } keys %{$lldp_rem_tbl} ) {
  printf "%3d %15.15s %25.25s %25.25s\n", $lport,
    $lldp_rem_tbl->{$lport}{lldpRemSysName},
    $lldp_rem_tbl->{$lport}{lldpRemPortId},
    $lldp_rem_tbl->{$lport}{lldpRemChassisId};
}

MIXIN METHODS

OBJ->get_lldp_local_system_data()

Returns the LLDP lldpLocalSystemData group as a hash reference:

{
  lldpLocChassisIdSubtype => Integer,
  lldpLocChassisId        => OCTET_STRING,
  lldpLocSysName          => OCTET_STRING,
  lldpLocSysDesc          => OCTET_STRING,
  lldpLocSysCapSupported  => BITS,
  lldpLocSysCapEnabled    => BITS,
}

OBJ->get_lldp_rem_table()

Returns the LLDP lldp_rem_table as a hash reference. The keys are the LLDP local port numbers on which the remote system information is received:

{
  INTEGER => {    # lldpRemLocalPortNum

    lldpRemChassisIdSubtype => INTEGER,
    lldpRemChassisId        => OCTET_STRING,
    lldpRemPortIdSubtype    => INTEGER,
    lldpRemPortId           => OCTET_STRING,
    lldpRemPortDesc         => OCTET_STRING,
    lldpRemSysName          => OCTET_STRING,
    lldpRemSysDesc          => OCTET_STRING,
    lldpRemSysCapSupported  => BITS,
    lldpRemSysCapEnabled    => BITS,
  }
}

INITIALIZATION

OBJ->_init($reload)

Fetch the LLDP related snmp values from the host. Don't call this method direct!

PRIVATE METHODS

Only for developers or maintainers.

_fetch_lldp_local_system_data($session)

Fetch the local system data from the lldpMIB once during object initialization.

_lldp_local_system_data_cb($session)

The callback for _fetch_lldp_local_system_data.

_fetch_lldp_rem_tbl($session)

Fetch the lldpRemTable once during object initialization.

_lldp_rem_tbl_cb($session)

The callback for _fetch_lldp_rem_tbl_cb().

AUTHOR

Karl Gaissmaier, <karl.gaissmaier at uni-ulm.de>

COPYRIGHT & LICENSE

Copyright 2008 Karl Gaissmaier, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.