SNMP::Info::Layer1::S3000(3pm)

NAME
SNMP::Info::Layer1::S3000 - SNMP Interface to Synoptics / Nortel Hubs

AUTHOR
Eric Miller

SYNOPSIS
    #Let SNMP::Info determine the correct subclass for you.

    my $s3000 = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          DestHost    => 'myswitch',
                          Community   => 'public',
                          Version     => 2
                        )

    or die "Can't connect to DestHost.\n";

    my $class = $s3000->class();
    print "SNMP::Info determined this device to fall under subclass : $class\n";

DESCRIPTION
Provides abstraction to the configuration information obtainable from a Bay hub device through SNMP. Also provides device MAC to port mapping through the proprietary MIB.

  Inherited Classes

SNMP::Info::Layer2

  Required MIBs
SYNOPTICS-COMMON-MIB
SYNOPTICS-ETHERNET-MIB

  Inherited MIBs
See "Required MIBs" in SNMP::Info::Layer2 for its MIB requirements.

GLOBALS
These are methods that return scalar value from SNMP

$s3000->vendor()
    Returns 'nortel'

$s3000->os()
    Returns 'synoptics'

$s3000->model()
    Cross references $s3000->id() to the SYNOPTICS-MIB and returns the results.

    Removes "sreg-" from the model name and returns only the numeric model identifier.

$stack->os_ver()
    Returns the software version specified as major.minor.maint.

    ("s3AgentSwMajorVer").("s3AgentSwMinorVer").("s3AgentSwMaintVer")

$stack->os_bin()
    Returns the firmware version. ("s3AgentFwVer")

$s3000->mac()
    Returns MAC of the advertised IP address of the device.

  Overrides

$s3000->layers()
    Returns 00000011. Class emulates Layer 2 functionality through proprietary MIBs.

  Globals imported from SNMP::Info::Layer2
See "GLOBALS" in SNMP::Info::Layer2 for details.

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

  Overrides

$s3000->i_index()
    Returns reference to map of IIDs to Interface index.

    Since hubs do not support "ifIndex", the interface index is created using the formula (board * 256 + port). This is required to support devices with more than one module.

$s3000->interfaces()
    Returns reference to map of IIDs to physical ports.

$s3000->i_duplex()
    Returns half, hubs do not support full duplex.

$s3000->i_duplex_admin()
    Returns half, hubs do not support full duplex.

$s3000->i_speed()
    Returns 10000000. The hubs only support 10 Mbs Ethernet.

$s3000->i_up()
    Returns ("s3EnetPortLinkStatus") for each port. Translates on/off to up/down.

$s3000->i_up_admin()
    Returns ("s3EnetPortPartStatus") for each port.

$s3000->set_i_up_admin(state, ifIndex)
    Sets port state, must be supplied with state and port "ifIndex"

    State choices are 'up' or 'down'

    Example:
      my %if_map = reverse %{$s3000->interfaces()};
      $s3000->set_i_up_admin('down', $if_map{'1.1'})
          or die "Couldn't change port state. ",$s3000->error(1);

$s3000->bp_index()
    Simulates bridge MIB by returning reference to a hash containing the index for both the keys and values.

$s3000->fw_port()
    Returns reference to map of IIDs of the "SYNOPTICS-ETHERNET-MIB::s3EnetShowNodesTable" to the Interface index.

$s3000->fw_mac()
    ("s3EnetShowNodesMacAddress")

$s3000->s3000_topo_port()
    Returns reference to hash. Key: Table entry, Value:Port Number (interface iid)

    ("s3EnetTopNmmPort")

$s3000->s3000_topo_mac()
    ("s3EnetTopNmmMacAddr")

    Returns reference to hash. Key: Table entry, Value:Remote MAC address

  Table Methods imported from SNMP::Info::Layer2
See "TABLE METHODS" in SNMP::Info::Layer2 for details.