package netsnmp

  1. Overview
  2. Docs

Session handling including sending and receiving PDUs from remote peers. See the snmp_sess_open(3) manual page for details

type t
val session_id : t -> int
module Snmp_version : sig ... end

Supported SNMP versions

module Snmp_sec_auth_proto : sig ... end

Supported SNMP authentication protocols for V3

val snmp_sess_open : version:Snmp_version.t -> retries:int -> timeout:int -> peername:string -> localname:string -> local_port:int -> community:string -> securityName:string -> securityAuthProto:Snmp_sec_auth_proto.t -> securityAuthPassword:string -> unit -> t

snmp_sess_open creates a session between the client and host and returns a handle. Raises Failure if the C API fails. The parameters are as follows:

  • netsnmp_session - the value returned from snmp_sess_init - [version - snmp version - [retries] - Number of retries before timeout. - [timeout] - Number of uS until first timeout, then exponential backoff - [peername] - name or address of default peer (may include transport specifier and/or port number) - [localname] - My Domain name or dotted IP address, "" for default - [local_port] - My UDP port number, 0 for default, picked randomly - [community] - V1/V2c community for outgoing requests - ignore by v3. - [securityName] - V3 user name - [securityAuthProto] - V3 auth protocol, this will be converted to the correct oid - [securityAuthPassword] - V3 password, will be converted to securityAuthKey
val snmp_sess_close : t -> unit

snmp_sess_close shuts down the connection and frees resources.

val snmp_sess_synch_response : t -> Pdu.t -> (Oid.t * ASN1_value.t) list

snmp_sess_synch_response t pdu] sends a pdu and returns the response. Note that this is completely synchronous. Raises the following exceptions

  • Netsnmp_exceptions.Response_error (err, msg) for general connection issues, err is the error (Netsnmp_pdu_error.t) and msg the associated error string
  • Netsnmp_exceptions.Request_timeout
  • Netsnmp_exceptions.General_error (syserr, snmperr, errmsg) for general errors. syserr is the system error, snmperr is the SNMP error (Netsnmp_error.t) and errmsg is the error message based on the error codes. Note that the PDU will be freed in all cases