API Reference snmpkit v#0.6.6

Modules

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

MIB (Management Information Base) operations.

SNMP client operations for querying and managing SNMP devices.

SNMP device simulation for testing and development.

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

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

Intelligent caching system for SNMP operations with adaptive strategies.

Configuration management system for production SNMP deployments.

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

Standard SNMP error handling and error code utilities.

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

Comprehensive host and port parsing for all possible input formats.

SNMP MIB compiler with enhanced Elixir ergonomics.

Abstract Syntax Tree definitions for MIB compilation.

Main MIB compiler that orchestrates the entire compilation process.

Enhanced error handling with recovery and detailed diagnostics.

Structured logging for MIB compilation with proper log levels.

Pure native SNMP MIB parser using custom Elixir grammar.

Preprocessor for MIB files to handle problematic constructs before parsing.

Standard SNMP MIB registry with name/OID resolution functions.

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

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

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

Performance monitoring and metrics collection for SNMP operations.

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

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

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

Constants and type definitions for SNMP PDU operations.

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

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

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

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

SNMPv3 Security Framework - Phase 5.1A Implementation

Authentication protocols for SNMPv3 User Security Model.

Key derivation and management for SNMPv3 User Security Model.

Implements SNMPv3 privacy protocols for message encryption and decryption.

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

UDP transport layer for SNMP communications.

SNMP data type validation, formatting, and coercion utilities.

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

Efficient SNMP table walking with bulk operations and streaming support.

Lightweight SNMP client library for Elixir.

Intelligent SNMP walk operations with adaptive parameter tuning.

Advanced SNMP bulk operations using SNMPv2c GETBULK.

Circuit breaker pattern implementation for SNMP device failure protection.

Configuration management for SnmpKit.SnmpMgr.

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

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

Pure response correlator for SNMP operations.

SNMP error handling and error code translation.

SNMP data formatting and presentation utilities.

MIB compilation and symbolic name resolution.

Comprehensive metrics collection and monitoring for SNMP operations.

Concurrent multi-target SNMP operations.

High-performance concurrent multi-target SNMP operations.

Performance benchmarking and profiling tools for SNMP operations.

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

Intelligent request routing and load balancing for SNMP requests.

Manages shared UDP sockets for SNMP operations.

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

Main supervisor for the SnmpMgr streaming PDU engine infrastructure.

Table processing utilities for SNMP table data.

Target parsing and validation for SNMP requests.

SNMP data type handling and conversion.

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

SNMP walk operations using iterative GETNEXT requests.

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

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

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

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

Implement realistic correlations between different metrics.

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

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

State machine and helpers for DOCSIS modem firmware upgrade simulation.

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

Handles SNMP PDU processing for devices.

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.

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

Inject realistic error conditions for comprehensive testing.

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

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

MIB Compiler for SNMP Simulator (Elixir)

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

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

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

Provides utility functions for PDU manipulation.

Comprehensive benchmarking framework for SNMP simulator performance testing.

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

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

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

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

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

Comprehensive SNMP testing utilities for SnmpSim.

Performance testing utilities for SnmpSim.

Simple port allocation service for tests.

Simple helper functions for port allocation in tests.

Specialized testing utilities for production validation and testing.

Specialized testing utilities for stability and endurance testing.

Pre-built test scenarios for common network conditions.

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

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

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

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