NAME

SNMP::Info::Layer3::TeltonikaRutOS - SNMP interface to Teltonika RutOS devices

AUTHOR

SNMP::Info Developers

SYNOPSIS

use SNMP::Info;

my $info = SNMP::Info->new(
    AutoSpecify => 1,
    DestHost    => 'mydevice',
    Community   => 'public',
    Version     => 2,
);

Inherited Classes

SNMP::Info::Layer3::NetSNMP

Required MIBs

UCD-SNMP-MIB
NET-SNMP-TC
HOST-RESOURCES-MIB
Inherited MIBs

See "Required MIBs" in SNMP::Info::Layer3::NetSNMP for its inherited requirements.

DESCRIPTION

Subclass for current Teltonika RutOS devices that expose the shared product, serial number, and firmware OIDs under .1.3.6.1.4.1.48690.1. Detection uses the product code at .1.3.6.1.4.1.48690.1.3.0, including when the device reports Net-SNMP as its sysObjectID.

GLOBALS

$info->vendor()

Returns 'teltonika'.

$info->os()

Returns 'rutos'.

$info->model()

Returns the Teltonika product code.

$info->os_ver()

Returns the RutOS firmware version.

$info->serial()

Returns the device serial number, falling back to the inherited Net-SNMP behavior when the Teltonika serial object is empty.

TABLE METHODS

Interface filtering and system uptime are inherited from SNMP::Info::Layer3::NetSNMP. Other table methods are inherited from SNMP::Info::Layer3.

Overrides

$info->bp_index()

Returns reference to hash. Key: bridge port, Value: ifIndex. Uses dot1dBasePortIfIndex where the device serves it. TSW switches do not, so each Teltonika port table row is matched to the interface whose ifDescr equals its name; a name that matches no interface, or several, is left out.

$info->v_index()

Returns reference to hash. Key: pVlanTable row, Value: VLAN ID (pVlanVID). TSW switches serve no Q-BRIDGE-MIB VLAN tables; where pVlanTable has no rows, the inherited method is used. RUTX routers serve a different pVlanTable at the same OIDs; a table whose pVlanVID column holds anything but VLAN IDs is not read, and the Q-BRIDGE-MIB methods are used instead, here and in the methods below.

$info->v_name()

Returns reference to hash. Key: pVlanTable row, Value: VLAN name (pVlanName). Where pVlanTable has no rows, dot1qVlanStaticName is used.

$info->i_vlan()

Returns reference to hash. Key: ifIndex, Value: the VLAN ID the port is untagged in (pVlanPortsUntag). A port untagged in more than one VLAN has no single native VLAN and is left out. Where pVlanTable has no rows, dot1qPvid is used.

$info->i_vlan_membership()

Returns reference to hash of arrays. Key: ifIndex, Value: VLAN IDs the port is tagged or untagged in (pVlanPortsTag, pVlanPortsUntag). Ports are matched by name to the interface whose ifDescr equals it; a name that matches no interface, or several, is left out. Where pVlanTable has no rows, the Q-BRIDGE-MIB egress ports are used.

$info->i_vlan_membership_untagged()

Returns reference to hash of arrays. Key: ifIndex, Value: VLAN IDs the port is untagged in (pVlanPortsUntag). Where pVlanTable has no rows, the Q-BRIDGE-MIB untagged ports are used.

Teltonika Port Table (portTable)

$info->teltonika_port_name()

Returns reference to hash. Key: port number, Value: port name.

(pName, .1.3.6.1.4.1.48690.10.2.1.2)

Teltonika VLAN Table (pVlanTable)

$info->teltonika_vlan_name()

Returns reference to hash. Key: VLAN row, Value: VLAN name.

(pVlanName, .1.3.6.1.4.1.48690.8.2.1.2)

$info->teltonika_vlan_id()

Returns reference to hash. Key: VLAN row, Value: VLAN ID.

(pVlanVID, .1.3.6.1.4.1.48690.8.2.1.3)

$info->teltonika_vlan_untagged()

Returns reference to hash. Key: VLAN row, Value: the untagged ports, as port names with a :u suffix separated by spaces, or None.

(pVlanPortsUntag, .1.3.6.1.4.1.48690.8.2.1.4)

$info->teltonika_vlan_tagged()

Returns reference to hash. Key: VLAN row, Value: the tagged ports, as port names with a :t suffix separated by spaces, or None.

(pVlanPortsTag, .1.3.6.1.4.1.48690.8.2.1.5)