NAME Net::SNMP::Mixin::NXOSDot1dBase - mixin class for some Bridge base values from NXOS switches. SYNOPSIS A Net::SNMP mixin class for Dot1d base info for non standard Cisco NXOS. use Net::SNMP; use Net::SNMP::Mixin; # class based mixin Net::SNMP->mixer('Net::SNMP::Mixin::NXOSDot1dBase'); # ... my $session = Net::SNMP->session( -hostname => 'foo.bar.com' ); $session->mixer('Net::SNMP::Mixin::NXOSDot1dBase'); $session->init_mixins; snmp_dispatcher() if $session->nonblocking; $session->init_ok; die $session->errors if $session->errors; my $base_group = $session->get_dot1d_base_group; printf "BridgeAddr: %s NumPorts: %d Type: %d\n", $base_group->{dot1dBaseBridgeAddress}, $base_group->{dot1dBaseNumPorts}, $base_group->{dot1dBaseType}; my $map = $session->map_bridge_ports2if_indexes; foreach my $bridge_port ( sort {$a <=> $b} keys %$map ) { my $if_index = $map->{$bridge_port}; printf "bridgePort: %4d -> ifIndex: %4\n", $bridge_port, $if_index; } DESCRIPTION A mixin class for basic switch information from the BRIDGE-MIB. Besides the bridge address and the number of bridge ports, it's primary use is the mapping between dot1dBasePorts and ifIndexes. MIXIN METHODS OBJ->get_dot1d_base_group() Returns the dot1dBase group as a hash reference: { dot1dBaseBridgeAddress => MacAddress, dot1dBaseNumPorts => INTEGER, dot1dBaseType => INTEGER, } OBJ->map_bridge_ports2if_indexes() Returns a reference to a hash with the following entries: { # INTEGER INTEGER cieIfDot1dBaseMappingPort => ifIndex, } OBJ->map_if_indexes2bridge_ports() Returns a reference to a hash with the following entries: { # INTEGER INTEGER ifIndex => cieIfDot1dBaseMappingPort, } INITIALIZATION OBJ->_init($reload) Fetch the dot1d base related snmp values from the host. Don't call this method direct! PRIVATE METHODS Only for developers or maintainers. _fetch_dot1d_base($session) Fetch values from the dot1dBase group once during object initialization. _dot1d_base_cb($session) The callback for _fetch_dot1d_base. _fetch_dot1d_base_ports($session) Populate the object with the dot1dBasePorts. _dot1d_base_ports_cb($session) The callback for _fetch_dot1d_base_ports. REQUIREMENTS Net::SNMP, Net::SNMP::Mixin AUTHOR Karl Gaissmaier 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.