---
name: "SNMP::Info::Layer1"
section: "3pm"
platform: "linux"
package: "libsnmp-info-perl"
version: "3.972002-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SNMP::Info::Layer1"
---

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

SNMP Interface to network devices serving Layer1 only.

## NAME

SNMP::Info::Layer1 - SNMP Interface to network devices serving Layer1 only.

## AUTHOR

Max Baker

## SYNOPSIS

```
 # Let SNMP::Info determine the correct subclass for you.
 my $l1 = new SNMP::Info(
                          AutoSpecify => 1,
                          Debug       => 1,
                          DestHost    => 'myswitch',
                          Community   => 'public',
                          Version     => 2
                        )
    or die "Can't connect to DestHost.\n";
 my $class = $l1->class();
 print "SNMP::Info determined this device to fall under subclass : $class\n";
 # Let's get some basic Port information
 my $interfaces = $l1->interfaces();
 my $i_up       = $l1->i_up();
 my $i_speed    = $l1->i_speed();
 foreach my $iid (keys %$interfaces) {
    my $port  = $interfaces->{$iid};
    my $up    = $i_up->{$iid};
    my $speed = $i_speed->{$iid}
    print "Port $port is $up. Port runs at $speed.\n";
 }
```

## DESCRIPTION

This class is usually used as a superclass for more specific device classes listed under SNMP::Info::Layer1::\*   Please read all docs under SNMP::Info first.

Provides abstraction to the configuration information obtainable from a Layer1 device through SNMP.  Information is stored in a number of MIBs.

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

```
 my $l1 = new SNMP::Info::Layer1(...);
```

### Inherited Classes

- SNMP::Info

  ### Required MIBs

- *SNMP-REPEATER-MIB*

  MIBs required for "REQUIREMENTS" in SNMP::Info

See "REQUIREMENTS" in SNMP::Info for its MIB requirements.

## GLOBALS

These are methods that return scalar value from SNMP

- $l1-\>**ports\_managed()**

  Gets the number of ports under the interface mib

  (`"ifNumber"`)

### Overrides

- $l1-\>**model()**

  Cross references `$l1`-\>**id()** with product IDs.

  For HP devices, removes `'hpswitch'` from the name

  For Cisco devices, removes `'sysid'` from the name

- $l1-\>**vendor()**

  Tries to discover the vendor from `$l1`-\>**model()** and `$l1`-\>**vendor()**

- $l1-\>**ports()**

  Adds the values from **rptr\_ports()** and **ports\_managed()**

- $l1-\>**slots()**

  Number of 'groups' in the Repeater MIB

  (`"rptrGroupCapacity"`)

### Global Methods imported from SNMP::Info

See documentation in "USAGE" in SNMP::Info for details.

## TABLE METHODS

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

### Overrides

- $l1-\>**interfaces()**

  Returns reference to the map between IID and physical Port.

- $l1-\>**i\_up()**

  Returns reference to map of IIDs to link status.

- $l1-\>**i\_up\_admin()**

  Returns reference to map of IIDs to administrative link status.

### Repeater MIB

- $l1-\>**rptr\_ports()**

  Number of ports in each group.

  (`"rptrGroupPortCapacity"`)

- $l1-\>**rptr\_port()**

  Port number in Group

  (`"rptrPortIndex"`)

- $l1-\>**rptr\_slot()**

  Group (slot) Number for given port.

  (`"rptrPortGroupIndex"`)

- $l1-\>**rptr\_up\_admin()**

  (`"rptrPortAdminStatus"`)

- $l1-\>**rptr\_up()**

  (`"rptrPortOperStatus"`)

- $l1-\>**rptr\_last\_src()**

  (`"rptrAddrTrackNewLastSrcAddress"`)

### Table Methods imported from SNMP::Info

See documentation in "USAGE" in SNMP::Info for details.
