logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SNMP::Info::Layer3::Scalance - SNMP Interface to Siemens Scalance Switches

Author

       Christoph Handel

Change Log

Description

       Provides abstraction to the configuration information obtainable from a Siemens Scalance Switch via SNMP.

       Tested only with scalance xr524

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

   RequiredMIBsAUTOMATION-SMIAUTOMATION-SYSTEM-MIBAUTOMATION-TCSIEMENS-SMISN-MSPS-SCX-MIB

       <https://support.industry.siemens.com/cs/document/22015045/private-mibs%3A-scalance-x-scalance-w-and-snmp-opc-profile?dti=0&lc=en-DE>

       <https://support.industry.siemens.com/cs/document/67637278/automationmib-now-available-for-download-in-version-v02-00-00-02-?dti=0&lc=en-TN>

Globals

       These are methods that return scalar value from SNMP

       $scalance->layers()
           Overwrite snmp value, we support 1-3

       $scalance->os()
           Returns scalance

       $scalance->vendor()
           Returns siemens

       $scalance->model()
           extract a meaningful name from description

       $scalance->mac()
           use the dot1dBaseBridgeAddress

       $scalance->os_ver()
           clean up os_version string

       $scalance->i_description()
           siemens returns a description including firmware, switch serial, etc clean it up. Try to use anything
           past VLAN or Port. And if this fails past the last comma

       $scalance->lldp_ip()
           simatic  does  not  implement  lldpRemManAddrIfSubtype  but  remote system names are available try to
           resolve them via DNS and use that

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

   GlobalsimportedfromSNMP::Info::MAU
       See documentation in "GLOBALS" in SNMP::Info::MAU for details.

Name

       SNMP::Info::Layer3::Scalance - SNMP Interface to Siemens Scalance Switches

Synopsis

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

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

Table Methods

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

   Overrides
       $scalance->lldp_ip()
           Returns reference to hash of ports to remote ips.

           simatic does not implement lldpRemManAddrIfSubtype but remote  system  names  are  available  try  to
           resolve them via DNS and use that.

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

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

perl v5.40.0                                       2024-11-09                  SNMP::Info::Layer3::Scalance(3pm)

See Also