NAME

SNMP::Info::Layer3::F5 - SNMP Interface to F5 network devices.

AUTHOR

Eric Miller

SYNOPSIS

# Let SNMP::Info determine the correct subclass for you.
my $f5 = new SNMP::Info(
                         AutoSpecify => 1,
                         Debug       => 1,
                         DestHost    => 'myswitch',
                         Community   => 'public',
                         Version     => 2
                       )
   or die "Can't connect to DestHost.\n";

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

DESCRIPTION

Abstraction subclass for F5 network devices.

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

my $f5 = new SNMP::Info::Layer3::F5(...);

Inherited Classes

SNMP::Info::Layer3

Required MIBs

F5-BIGIP-COMMON-MIB
F5-BIGIP-SYSTEM-MIB
Inherited Classes' MIBs

See "Required MIBs" in SNMP::Info::Layer3 for its own MIB requirements.

GLOBALS

These are methods that return scalar value from SNMP

$f5->model()

Return (sysPlatformInfoMarketingName), otherwise tries to reference $f5->id() to F5-BIGIP-COMMON-MIB.

$f5->vendor()

Returns 'f5'

$f5->os()

Returns 'f5'

$f5->os_ver()

Returns the software version reported by sysProductVersion

$f5->fan()

Combines (sysChassisFanStatus) into a single string.

$f5->ps1_status()

Returns status of primary power supply

$f5->ps2_status()

Returns status of redundant power supply

Globals imported from SNMP::Info::Layer3

See documentation in "GLOBALS" in SNMP::Info::Layer3 for details.

TABLE METHODS

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

Overrides

$f5->interfaces()

Returns reference to the map between IID and physical port.

(sysInterfaceName).

$f5->i_duplex()

Returns reference to hash. Maps port operational duplexes to IIDs.

$f5->i_vlan()

Returns a mapping between ifIndex and the default VLAN.

$f5->i_vlan_membership()

Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs.

Example:
my $interfaces = $f5->interfaces();
my $vlans      = $f5->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";
}
$f5->i_vlan_membership_untagged()

Returns reference to hash of arrays: key = ifIndex, value = array of VLAN IDs. These are the VLANs which are members of the untagged egress list for the port.

$f5->v_index()

Returns VLAN IDs

$f5->v_name()

Human-entered name for vlans.

$f5->i_name()

Returns the human set port name if exists.

$f5->i_type()

Returns 'ethernetCsmacd' for each ifIndex.

Table Methods imported from SNMP::Info::Layer3

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