SnmpKit.SnmpMgr.Walk (snmpkit v0.6.6)

SNMP walk operations using iterative GETNEXT requests.

This module provides efficient walking of SNMP trees and tables using the GETNEXT operation repeatedly until the end of the subtree.

Summary

Functions

Performs a walk starting from the given root OID.

Walks a specific table column.

Walks an SNMP table starting from the table OID.

Functions

walk(target, root_oid, opts \\ [])

Performs a walk starting from the given root OID.

Automatically chooses between GETNEXT (SNMPv1) and GETBULK (SNMPv2c) based on the version specified in options.

Parameters

  • target - The target device
  • root_oid - Starting OID for the walk
  • opts - Options including :version, :max_repetitions, :timeout, :community

Examples

iex> SnmpKit.SnmpMgr.Walk.walk("192.168.1.1", [1, 3, 6, 1, 2, 1, 1])
{:ok, [
  {[1,3,6,1,2,1,1,1,0], :octet_string, "System description"},
  {[1,3,6,1,2,1,1,2,0], :object_identifier, [1,3,6,1,4,1,9,1,1]},
  {[1,3,6,1,2,1,1,3,0], :timeticks, 12345}
]}

walk_column(target, column_oid, opts \\ [])

Walks a specific table column.

Parameters

  • target - The target device
  • column_oid - The full column OID (table + entry + column)
  • opts - Options

walk_table(target, table_oid, opts \\ [])

Walks an SNMP table starting from the table OID.

Automatically chooses between GETNEXT and GETBULK based on version. GETBULK provides significantly better performance for large tables.

Parameters

  • target - The target device
  • table_oid - The table OID to walk
  • opts - Options including :version, :max_repetitions, :timeout, :community