The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.

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

my $s3000 = new SNMP::Info::Layer1::S3000(...);

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.