NAME

Net::SNMP::Mixin::NXOSDot1qFdb - mixin class for 802.1-Q switch forwarding databases

SYNOPSIS

use Net::SNMP;
use Net::SNMP::Mixin;

my $session = Net::SNMP->session( -hostname => 'foo.bar.com' );
$session->mixer('Net::SNMP::Mixin::NXOSDot1qFdb');
$session->init_mixins();
snmp_dispatcher()   if $session->nonblocking;
$session->init_ok();
die $session->errors if $session->errors;

foreach my $fdb_entry ( $session->get_dot1q_fdb_entries() ) {
  my $mac     = $fdb_entry->{MacAddress};
  my $vlan_id = $fdb_entry->{vlanId};
  my $port    = $fdb_entry->{dot1dBasePort};
  my $status  = $fdb_entry->{fdbStatus};

  print "$mac, $vlan_id, $port, $status\n";
}

DESCRIPTION

A Net::SNMP mixin class for forwarding database info of NXOS 802.1-Q limited MIBs.

MIXIN METHODS

@fdb = OBJ->get_dot1q_fdb_entries()

Returns a list of fdb entries. Every list element is a reference to a hash with the following fields and values:

{
  MacAddress      => 'XX:XX:XX:XX:XX:XX',
  dot1dBasePort   => Integer,
  vlanId          => Integer,
  fdbStatus       => Integer,
  fdbStatusString => String,
}
MacAddress

MacAddress received, in normalized IEEE form XX:XX:XX:XX:XX:XX.

dot1dBasePort

The receiving bride-port for the MAC address.

vlanId

Every MacAdress is related to a distinct vlanId.

fdbStatus

The status of this entry. The meanings of the values are:

1 = other
2 = invalid
3 = learned
4 = self
5 = mgmt

For more information please see the corresponding Q-BRIDGE-MIB.

fdbStatusString

The status of this entry in string form, see above.

INITIALIZATION

OBJ->_init($reload)

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

PRIVATE METHODS

Only for developers or maintainers.

_fetch_dot1q_tp_fdb_table()

Fetch the forwarding databases from the dot1qTpFdbTable once during object initialization.

SEE ALSO

Net::SNMP::Mixin::NXOSDot1dBase for a mapping between ifIndexes and bridgePorts.

REQUIREMENTS

Net::SNMP, Net::SNMP::Mixin

AUTHOR

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

COPYRIGHT & LICENSE

Copyright 2020-2021 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.