---
name: "snmp_user_based_sm_mib"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:25.2.3+dfsg-1+deb12u4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/snmp_user_based_sm_mib"
---

# snmp\_user\_based\_sm\_mib(3erl)

Instrumentation Functions for SNMP-USER-BASED-SM-MIB

## NAME

snmp\_user\_based\_sm\_mib - Instrumentation Functions for SNMP-USER-BASED-SM-MIB

## DESCRIPTION

The module *snmp\_user\_based\_sm\_mib* implements the instrumentation functions for the SNMP-USER-BASED-SM-MIB, and functions for configuring the database.

Note that authentication has been extended according to RFC 7860 (SNMP-USM-HMAC-SHA2-MIB).

The configuration files are described in the SNMP User's Manual.

## EXPORTS

**configure(ConfDir) -\> void()**\

Types:

ConfDir = string()\

This function is called from the supervisor at system start-up.

Inserts all data in the configuration files into the database and destroys all old rows with StorageType *volatile*. The rows created from the configuration file will have StorageType *nonVolatile*.

All *snmp* counters are set to zero.

If an error is found in the configuration file, it is reported using the function *config\_err/2* of the error report module, and the function fails with the reason *configuration\_error*.

*ConfDir* is a string which points to the directory where the configuration files are found.

The configuration file read is: *usm.conf*.

**reconfigure(ConfDir) -\> void()**\

Types:

ConfDir = string()\

Inserts all data in the configuration files into the database and destroys all old data, including the rows with StorageType *nonVolatile*. The rows created from the configuration file will have StorageType *nonVolatile*.

Thus, the data in the SNMP-USER-BASED-SM-MIB, after this function has been called, is the data from the configuration files.

All *snmp* counters are set to zero.

If an error is found in the configuration file, it is reported using the function *config\_err/2* of the error report module, and the function fails with the reason *configuration\_error*.

*ConfDir* is a string which points to the directory where the configuration files are found.

The configuration file read is: *usm.conf*.

**add\_user(EngineID, Name, SecName, Clone, AuthP, AuthKeyC, OwnAuthKeyC, PrivP, PrivKeyC, OwnPrivKeyC, Public, AuthKey, PrivKey) -\> Ret**\

Types:

EngineID = string()\
 Name = string()\
 SecName = string()\
 Clone = zeroDotZero \| \[integer()\]\
 AuthP = usmNoAuthProtocol \| usmHMACMD5AuthProtocol \| usmHMACSHAAuthProtocol \| usmHMAC128SHA224AuthProtocol \| usmHMAC192SH256AuthProtocol \| usmHMAC256SHA384AuthProtocol \| usmHMAC384SHA512AuthProtocol\
 AuthKeyC = string()\
 OwnAuthKeyC = string()\
 PrivP = usmNoPrivProtocol \| usmDESPrivProtocol\
 PrivKeyC = string()\
 OwnPrivKeyC = string()\
 Public = string()\
 AuthKey = string()\
 PrivKey = string()\
 Ret = {ok, Key} \| {error, Reason}\
 Key = term()\
 Reason = term()\

Adds a USM security data (user) to the agent config. Equivalent to one line in the *usm.conf* file.

**delete\_user(Key) -\> Ret**\

Types:

Key = term()\
 Ret = ok \| {error, Reason}\
 Reason = term()\

Delete a USM security data (user) from the agent config.
