SNMP::Info::Layer7::Stormshield(3pm)

NAME
SNMP::Info::Layer7::Stormshield - SNMP Interface to Stormshield Network Security appliances

AUTHORS
Rob Woodward

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

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

DESCRIPTION
Subclass for Stormshield Network Security (SNS) appliances

The module supports both High Availability (HA) and non-HA Stormshield appliances.

- Scalar globals such as serial number, model and OS version are retrieved
  from "STORMSHIELD-PROPERTY-MIB". - Since ENTITY-MIB is not available on the device, a set of "e_*" methods is
  provided based on "STORMSHIELD-HA-MIB" tables to approximate ENTITY-like
  information for HA nodes.

  High Availability (HA) Devices (HA-derived e_* methods)
For HA devices, the module uses the "STORMSHIELD-HA-MIB" to build ENTITY-like methods:

Serial Number table: "snsFwSerial" (.1.3.6.1.4.1.11256.1.11.7.1.2)
Model table: "snsModel" (.1.3.6.1.4.1.11256.1.11.7.1.4)
Version table: "snsVersion" (.1.3.6.1.4.1.11256.1.11.7.1.5)
HA license table: "snsHALicence" (.1.3.6.1.4.1.11256.1.11.7.1.6)

Note: While "snsNodeIndex" exists in the HA MIB, it is "MAX-ACCESS not-accessible" and cannot be fetched directly; the "e_index" method uses the row indices of the HA tables (e.g., "snsFwSerial") as identity mapping.

Example SNMP walk for model:
 snmpwalk -v2c -On .1.3.6.1.4.1.11256.1.11.7.1.4
 .1.3.6.1.4.1.11256.1.11.7.1.4.0 = STRING: "SN-S-Series-220"
 .1.3.6.1.4.1.11256.1.11.7.1.4.1 = STRING: "SN-S-Series-220"

  Non-HA Devices (Property MIB globals)
The module uses the "STORMSHIELD-PROPERTY-MIB" for single nodes or the primary cluster node:

Serial Number: "snsSerialNumber" (.1.3.6.1.4.1.11256.1.18.3)
Model: "snsModel" (.1.3.6.1.4.1.11256.1.18.1)
Version: "snsVersion" (.1.3.6.1.4.1.11256.1.18.2)

Example SNMP walk for model:
 snmpwalk -v2c -On .1.3.6.1.4.1.11256.1.18
 .1.3.6.1.4.1.11256.1.18.1.0 = STRING: "SN-S-Series-220"

  Inherited Classes

SNMP::Info::Layer7

  Required MIBs
Inherited Classes' MIBs
    See SNMP::Info::Layer7 for its own MIB requirements.

STORMSHIELD-HA-MIB
    Required for High Availability (HA) Stormshield appliances.

STORMSHIELD-PROPERTY-MIB
    Required for both single nodes and clusters.

GLOBALS
These are methods that return scalar value from SNMP

$Stormshield->vendor()
    Returns 'stormshield'.

$Stormshield->name()
    Returns snsProductProperty.snsSystemName if available, regular sysName otherwise

$Stormshield->os()
    Returns 'SNS'.

$Stormshield->os_ver()
    Release extracted from "STORMSHIELD-PROPERTY-MIB".

$Stormshield->model()
    Model extracted from "STORMSHIELD-PROPERTY-MIB".

$Stormshield->serial()
    Returns serial number extracted from "STORMSHIELD-PROPERTY-MIB".

  Globals imported from SNMP::Info::Layer7
See documentation in SNMP::Info::Layer7 for details.

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

$Stormshield->e_index()
    Returns an identity mapping of HA node row indices inferred from "STORMSHIELD-HA-MIB" tables; key = iid, value = iid.

$Stormshield->e_class()
    Returns reference to hash: key = iid, value = 'chassis'.

$Stormshield->e_name()
    Returns reference to hash: key = iid, value = 'chassis.<iid>'.

$Stormshield->e_vendor()
    Returns reference to hash: key = iid, value = 'stormshield'.

$Stormshield->e_descr()
    Returns reference to hash: key = iid, value = '<model> <licence> <serial> <version>' assembled from HA tables: "snsModel", "snsHALicence", "snsFwSerial", and "snsVersion".

$Stormshield->e_model()
    Returns reference to hash: key = iid, value = model (from "snsModel").

$Stormshield->e_swver()
    Returns reference to hash: key = iid, value = software version (from "snsVersion").

$Stormshield->e_serial()
    Returns reference to hash: key = iid, value = serial (from "snsFwSerial").

$Stormshield->interfaces()
    Override interface details with STORMSHIELD_IF_MIB

  Overrides

$Stormshield->i_name()
    Returns reference to hash: key = ifIndex, value = interface name from STORMSHIELD_IF_MIB.

$Stormshield->i_alias()
    Returns reference to hash: key = ifIndex, value = interface alias from STORMSHIELD_IF_MIB.

$Stormshield->i_description()
    Returns reference to hash: key = ifIndex, value = interface description from STORMSHIELD_IF_MIB.

$Stormshield->i_type()
    Returns reference to hash: key = ifIndex, value = interface type from STORMSHIELD_IF_MIB.

$Stormshield->i_index()
    Returns reference to hash: key = ifIndex, value = interface index from STORMSHIELD_IF_MIB.

  Table Methods imported from SNMP::Info::Layer7
See documentation in SNMP::Info::Layer7 for details.