Search documentation of snmpkit

# API Reference snmpkit v#1.3.17

## Modules

SnmpKit

Unified API for SnmpKit - A comprehensive SNMP toolkit for Elixir.

SnmpKit.MIB

MIB (Management Information Base) operations.

SnmpKit.SNMP

SNMP client operations for querying and managing SNMP devices.

SnmpKit.Sim

SNMP device simulation for testing and development.

SnmpKit.SnmpLib

Unified SNMP library providing RFC-compliant PDU encoding/decoding, OID manipulation, and SNMP utilities.

SnmpKit.SnmpLib.ASN1

Comprehensive ASN.1 BER (Basic Encoding Rules) encoding and decoding utilities.

SnmpKit.SnmpLib.Cache

Intelligent caching system for SNMP operations with adaptive strategies.

SnmpKit.SnmpLib.Config

Configuration management system for production SNMP deployments.

SnmpKit.SnmpLib.Dashboard

Real-time monitoring dashboard and metrics aggregation for SNMP operations.

SnmpKit.SnmpLib.Error

Standard SNMP error handling and error code utilities.

SnmpKit.SnmpLib.ErrorHandler

Intelligent error handling with retry logic, circuit breakers, and adaptive recovery.

SnmpKit.SnmpLib.HostParser

Comprehensive host and port parsing for all possible input formats.

SnmpKit.SnmpLib.MIB

SNMP MIB compiler with enhanced Elixir ergonomics.

SnmpKit.SnmpLib.MIB.AST

Abstract Syntax Tree definitions for MIB compilation.

SnmpKit.SnmpLib.MIB.Compiler

Main MIB compiler that orchestrates the entire compilation process.

SnmpKit.SnmpLib.MIB.Error

Enhanced error handling with recovery and detailed diagnostics.

SnmpKit.SnmpLib.MIB.Logger

Structured logging for MIB compilation with proper log levels.

SnmpKit.SnmpLib.MIB.Parser

Pure native SNMP MIB parser using custom Elixir grammar.

SnmpKit.SnmpLib.MIB.Preprocessor

Preprocessor for MIB files to handle problematic constructs before parsing.

SnmpKit.SnmpLib.MIB.Registry

Standard SNMP MIB registry with name/OID resolution functions.

SnmpKit.SnmpLib.MIB.SnmpTokenizer

True 1:1 Elixir port of Erlang SNMP tokenizer (snmpc_tok.erl).

SnmpKit.SnmpLib.MIB.Utilities

Direct port of Erlang snmpc_lib.erl utility functions to Elixir.

SnmpKit.SnmpLib.Manager

High-level SNMP management operations providing a simplified interface for common SNMP tasks.

SnmpKit.SnmpLib.Monitor

Performance monitoring and metrics collection for SNMP operations.

SnmpKit.SnmpLib.OID

Comprehensive OID (Object Identifier) manipulation utilities for SNMP operations.

SnmpKit.SnmpLib.PDU

SNMP PDU (Protocol Data Unit) encoding and decoding with RFC compliance.

SnmpKit.SnmpLib.PDU.Builder

High-level PDU and message building functions for SNMP operations.

SnmpKit.SnmpLib.PDU.Constants

Constants and type definitions for SNMP PDU operations.

SnmpKit.SnmpLib.PDU.Decoder

ASN.1 BER decoding functions for SNMP PDUs and messages.

SnmpKit.SnmpLib.PDU.Encoder

ASN.1 BER encoding functions for SNMP PDUs and messages.

SnmpKit.SnmpLib.PDU.V3Encoder

SNMPv3 message encoding and decoding with User Security Model (USM) support.

SnmpKit.SnmpLib.Pool

Connection pooling and session management for high-performance SNMP operations.

SnmpKit.SnmpLib.Security

SNMPv3 Security Framework - Phase 5.1A Implementation

SnmpKit.SnmpLib.Security.Auth

Authentication protocols for SNMPv3 User Security Model.

SnmpKit.SnmpLib.Security.Keys

Key derivation and management for SNMPv3 User Security Model.

SnmpKit.SnmpLib.Security.Priv

Implements SNMPv3 privacy protocols for message encryption and decryption.

SnmpKit.SnmpLib.Security.USM

User Security Model (USM) implementation for SNMPv3 - RFC 3414 compliant.

SnmpKit.SnmpLib.Transport

UDP transport layer for SNMP communications.

SnmpKit.SnmpLib.Types

SNMP data type validation, formatting, and coercion utilities.

SnmpKit.SnmpLib.Utils

Common utilities for SNMP operations including pretty printing, data formatting, timing utilities, and validation functions.

SnmpKit.SnmpLib.Walker

Efficient SNMP table walking with bulk operations and streaming support.

SnmpKit.SnmpMgr

Lightweight SNMP client library for Elixir.

SnmpKit.SnmpMgr.AdaptiveWalk

Intelligent SNMP walk operations with adaptive parameter tuning.

SnmpKit.SnmpMgr.Bulk

Advanced SNMP bulk operations using SNMPv2c GETBULK.

SnmpKit.SnmpMgr.CircuitBreaker

Circuit breaker pattern implementation for SNMP device failure protection.

SnmpKit.SnmpMgr.Config

Configuration management for SnmpKit.SnmpMgr.

SnmpKit.SnmpMgr.Core

Core SNMP operations using Erlang's SNMP PDU functions directly.

SnmpKit.SnmpMgr.Engine

High-performance streaming PDU engine with request routing and connection pooling.

SnmpKit.SnmpMgr.EngineV2

Pure response correlator for SNMP operations.

SnmpKit.SnmpMgr.Errors

SNMP error handling and error code translation.

SnmpKit.SnmpMgr.Format

SNMP data formatting and presentation utilities.

SnmpKit.SnmpMgr.MIB

MIB compilation and symbolic name resolution.

SnmpKit.SnmpMgr.Metrics

Comprehensive metrics collection and monitoring for SNMP operations.

SnmpKit.SnmpMgr.Multi

Concurrent multi-target SNMP operations.

SnmpKit.SnmpMgr.MultiV2

High-performance concurrent multi-target SNMP operations.

SnmpKit.SnmpMgr.PerformanceBenchmark

Performance benchmarking and profiling tools for SNMP operations.

SnmpKit.SnmpMgr.RequestIdGenerator

Atomic request ID generator using ETS for thread-safe counter operations.

SnmpKit.SnmpMgr.Router

Intelligent request routing and load balancing for SNMP requests.

SnmpKit.SnmpMgr.SocketManager

Manages shared UDP sockets for SNMP operations.

SnmpKit.SnmpMgr.Stream

High-performance streaming SNMP operations for memory-efficient processing.

SnmpKit.SnmpMgr.Supervisor

Main supervisor for the SnmpMgr streaming PDU engine infrastructure.

SnmpKit.SnmpMgr.Table

Table processing utilities for SNMP table data.

SnmpKit.SnmpMgr.Target

Target parsing and validation for SNMP requests.

SnmpKit.SnmpMgr.Types

SNMP data type handling and conversion.

SnmpKit.SnmpMgr.V2Walk

Handles the logic for performing an SNMP walk for a single target.

SnmpKit.SnmpMgr.Walk

SNMP walk operations using iterative GETNEXT requests.

SnmpKit.SnmpSim.BehaviorConfig

Configuration system for enhancing walk files with realistic behaviors. Provides easy-to-use behavior presets and customization options.

SnmpKit.SnmpSim.BulkOperations

Efficient GETBULK implementation for SNMPv2c. Handles non-repeaters, max-repetitions, and response size management.

SnmpKit.SnmpSim.Config

Configuration management for SnmpSim with support for JSON and YAML files.

SnmpKit.SnmpSim.Core.Server

High-performance UDP server for SNMP request handling. Supports concurrent packet processing with minimal latency.

SnmpKit.SnmpSim.CorrelationEngine

Implement realistic correlations between different metrics.

SnmpKit.SnmpSim.Device

Lightweight Device GenServer for handling SNMP requests. Uses shared profiles and minimal device-specific state for scalability.

SnmpKit.SnmpSim.Device.ErrorInjector

Error injection functionality for SNMP device simulation. Handles various error conditions like timeouts, packet loss, SNMP errors, and malformed responses.

SnmpKit.SnmpSim.Device.ModemUpgrade

State machine and helpers for DOCSIS modem firmware upgrade simulation.

SnmpKit.SnmpSim.Device.OidHandler

OID handling and value generation for SNMP device simulation. Handles dynamic OID value generation, interface statistics, and MIB walking.

SnmpKit.SnmpSim.Device.PduProcessor

Handles SNMP PDU processing for devices.

SnmpKit.SnmpSim.Device.WalkPduProcessor

Simplified PDU processor for devices with walk data. Handles GET, GETNEXT, and GETBULK requests using walk file data with support for dynamic counters and gauges.

SnmpKit.SnmpSim.DeviceDistribution

Device Type Distribution for realistic device type assignment across port ranges. Supports mixed device populations for authentic testing environments.

SnmpKit.SnmpSim.ErrorInjector

Inject realistic error conditions for comprehensive testing.

SnmpKit.SnmpSim.LazyDevicePool

Lazy Device Pool Manager for on-demand device creation and lifecycle management. Supports 10K+ devices with minimal memory footprint through lazy instantiation.

SnmpKit.SnmpSim.MIB.BehaviorAnalyzer

Automatically determine realistic behaviors from MIB object definitions. Analyze object names, descriptions, and types to infer simulation patterns.

SnmpKit.SnmpSim.MIB.Compiler

MIB Compiler for SNMP Simulator (Elixir)

SnmpKit.SnmpSim.MIB.SharedProfiles

Memory-efficient shared OID profiles using ETS tables. Reduces memory from 1GB to ~10MB for 10K devices by sharing profile data.

SnmpKit.SnmpSim.MultiDeviceStartup

Multi-Device Startup functionality for large-scale device population management.

SnmpKit.SnmpSim.OIDTree

Optimized OID tree for fast lookups and lexicographic traversal. Supports GETNEXT operations and GETBULK bulk retrieval.

SnmpKit.SnmpSim.PDUHelper

Provides utility functions for PDU manipulation.

SnmpKit.SnmpSim.Performance.Benchmarks

Comprehensive benchmarking framework for SNMP simulator performance testing.

SnmpKit.SnmpSim.Performance.Benchmarks.BenchmarkResult

Structure for benchmark results

SnmpKit.SnmpSim.Performance.OptimizedDevicePool

High-performance device pool with ETS-based caching and optimization. Designed for 10K+ concurrent devices with sub-millisecond lookup times.

SnmpKit.SnmpSim.Performance.OptimizedUdpServer

High-performance UDP server optimized for 100K+ requests/second throughput.

SnmpKit.SnmpSim.Performance.PerformanceMonitor

Real-time performance monitoring and telemetry for SNMP simulator. Provides comprehensive metrics collection, alerting, and performance analytics. Integrates with :telemetry for external monitoring systems.

SnmpKit.SnmpSim.Performance.ResourceManager

System resource management for SNMP simulator. Enforces memory limits, device limits, and automatic cleanup. Optimizes resource utilization for high-scale scenarios.

SnmpKit.SnmpSim.ProfileLoader

Flexible profile loading supporting multiple sources and progressive enhancement. Start with simple walk files, upgrade to MIB-based simulation when ready.

SnmpKit.SnmpSim.TestHelpers

Comprehensive SNMP testing utilities for SnmpSim.

SnmpKit.SnmpSim.TestHelpers.PerformanceHelper

Performance testing utilities for SnmpSim.

SnmpKit.SnmpSim.TestHelpers.PortAllocator

Simple port allocation service for tests.

SnmpKit.SnmpSim.TestHelpers.PortHelper

Simple helper functions for port allocation in tests.

SnmpKit.SnmpSim.TestHelpers.ProductionTestHelper

Specialized testing utilities for production validation and testing.

SnmpKit.SnmpSim.TestHelpers.StabilityTestHelper

Specialized testing utilities for stability and endurance testing.

SnmpKit.SnmpSim.TestScenarios

Pre-built test scenarios for common network conditions.

SnmpKit.SnmpSim.TimePatterns

Realistic time-based variations for network metrics. Implements daily, weekly, and seasonal patterns for authentic simulation.

SnmpKit.SnmpSim.ValueSimulator

Generate realistic values based on MIB-derived behavior patterns. Supports counters, gauges, enums, and correlated metrics with time-based variations.

SnmpKit.SnmpSim.WalkParser

Parse both named MIB and numeric OID walk file formats. Handle different snmpwalk output variations automatically.

SnmpKit.TestSupport

SNMP Simulator for Elixir - Production-ready SNMP device simulation.