SNMP::Info::Layer3::Extreme.3pm

Langue: en

Version: 2008-08-02 (ubuntu - 08/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

SNMP::Info::Layer3::Extreme - Perl5 Interface to Extreme Network Devices

AUTHOR

Eric Miller, Bill Fenner

SYNOPSIS

  # Let SNMP::Info determine the correct subclass for you. 
  my $extreme = new SNMP::Info(
                           AutoSpecify => 1,
                           Debug       => 1,
                           DestHost    => 'myswitch',
                           Community   => 'public',
                           Version     => 1
                         ) 
     or die "Can't connect to DestHost.\n";
 
  my $class      = $extreme->class();
 
  print "SNMP::Info determined this device to fall under subclass : $class\n";
 
 

DESCRIPTION

Provides abstraction to the configuration information obtainable from an Extreme device through SNMP.

For speed or debugging purposes you can call the subclass directly, but not after determining a more specific class using the method above.

my $extreme = new SNMP::Info::Layer3::Extreme(...);

Inherited Classes

SNMP::Info::Layer3
SNMP::Info::MAU

Required MIBs

EXTREME-BASE-MIB
EXTREME-SYSTEM-MIB
EXTREME-FDB-MIB
EXTREME-VLAN-MIB
Inherited Classes' MIBs
See classes listed above for their required MIBs.

GLOBALS

These are methods that return scalar value from SNMP
$extreme->model()
Returns model type. Checks $extreme->id() against the EXTREME-BASE-MIB.
$extreme->vendor()
Returns extreme
$extreme->os()
Returns extreme
$extreme->os_ver()
Parses device operating system version from description()
$extreme->serial()
Returns serial number

("extremeSystemID")

$extreme->temp()
Returns system temperature

("extremeCurrentTemperature")

$extreme->ps1_status()
Returns status of power supply 1

("extremePowerSupplyStatus.1")

$extreme->ps2_status()
Returns status of power supply 2

("extremePowerSupplyStatus.2")

$extreme->fan()
Returns fan status

("extremeFanOperational.1")

$extreme->mac()
Returns base mac

("dot1dBaseBridgeAddress")

Overrides

Globals imported from SNMP::Info::Layer3

See documentation in ``GLOBALS'' in SNMP::Info::Layer3 for details.

Globals imported from SNMP::Info::MAU

See documentation in ``GLOBALS'' in SNMP::Info::MAU for details.

TABLE METHODS

These are methods that return tables of information in the form of a reference to a hash.

Overrides

$extreme->interfaces()
Returns a mapping between the Interface Table Index (iid) and the physical port name.
$extreme->i_duplex()
Parses mau_index and mau_link to return the duplex information for interfaces.
$extreme->i_duplex_admin()
Parses "mac_index","mau_autostat","mau_type_admin" in order to find the admin duplex setting for all the interfaces.

Returns either (auto,full,half).

$extreme->i_ignore()
Returns reference to hash. Increments value of IID if port is to be ignored.

Ignores VLAN meta interfaces and loopback

$extreme->fw_mac()
("extremeFdbMacFdbMacAddress")
$extreme->fw_port()
("extremeFdbMacFdbPortIfIndex")
$extreme->fw_status()
("extremeFdbMacFdbStatus")
$extreme->i_vlan()
Returns a mapping between "ifIndex" and the VLAN.
$extreme->i_vlan_membership()
Returns reference to hash of arrays: key = "ifIndex", value = array of VLAN IDs. These are the VLANs which are members of the egress list for the port.
   Example:
   my $interfaces = $extreme->interfaces();
   my $vlans      = $extreme->i_vlan_membership();
   
   foreach my $iid (sort keys %$interfaces) {
     my $port = $interfaces->{$iid};
     my $vlan = join(',', sort(@{$vlans->{$iid}}));
     print "Port: $port VLAN: $vlan\n";
   }
 
 
$extreme->v_index()
Returns VLAN IDs
$extreme->v_name()
Returns VLAN names

("extremeVlanIfDescr")

$extreme->bp_index()
Returns reference to hash of bridge port table entries map back to interface identifier (iid)

Returns ("ifIndex") for both key and value since we're using EXTREME-FDB-MIB rather than BRIDGE-MIB.

Table Methods imported from SNMP::Info::Layer3

See documentation in ``TABLE METHODS'' in SNMP::Info::Layer3 for details.

Table Methods imported from SNMP::Info::MAU

See documentation in ``TABLE METHODS'' in SNMP::Info::MAU for details.

SET METHODS

These are methods that provide SNMP set functionality for overridden methods or provide a simpler interface to complex set operations. See ``SETTING DATA VIA SNMP'' in SNMP::Info for general information on set operations.
$extreme->set_i_vlan ( vlan, ifIndex )
Changes an access (untagged) port VLAN, must be supplied with the numeric VLAN ID and port "ifIndex". This method should only be used on end station (non-trunk) ports.
   Example:
   my %if_map = reverse %{$extreme->interfaces()};
   $extreme->set_i_vlan('2', $if_map{'FastEthernet0/1'}) 
     or die "Couldn't change port VLAN. ",$extreme->error(1);
 
 
$extreme->set_i_pvid ( pvid, ifIndex )
Sets port default VLAN, must be supplied with the numeric VLAN ID and port "ifIndex". This method should only be used on trunk ports.
   Example:
   my %if_map = reverse %{$extreme->interfaces()};
   $extreme->set_i_pvid('2', $if_map{'FastEthernet0/1'}) 
     or die "Couldn't change port default VLAN. ",$extreme->error(1);
 
 
$extreme->set_add_i_vlan_tagged ( vlan, ifIndex )
Adds the VLAN to the enabled VLANs list of the port, must be supplied with the numeric VLAN ID and port "ifIndex".
   Example:
   my %if_map = reverse %{$extreme->interfaces()};
   $extreme->set_add_i_vlan_tagged('2', $if_map{'FastEthernet0/1'}) 
     or die "Couldn't add port to egress list. ",$extreme->error(1);
 
 
$extreme->set_remove_i_vlan_tagged ( vlan, ifIndex )
Removes the VLAN from the enabled VLANs list of the port, must be supplied with the numeric VLAN ID and port "ifIndex".
   Example:
   my %if_map = reverse %{$extreme->interfaces()};
   $extreme->set_remove_i_vlan_tagged('2', $if_map{'FastEthernet0/1'}) 
     or die "Couldn't add port to egress list. ",$extreme->error(1);
 
 

Data Munging Callback Subroutines

$extreme->munge_power_stat()
Removes 'present' and changes 'not' to 'Not' in the front of a string.
$extreme->munge_true_ok()
Replaces 'true' with ``OK'' and 'false' with ``Not OK''.