[AGENT++] nonVolatile entries in usmUserTable

Dave White | Networking dave.white at efi.com
Tue Nov 30 03:04:28 CET 2004


I'm having problems with non-volatile entries in the usmUserTable.  I want
user entries to be persistent between restarts of the daemon that I'm running
in a Windows environment.  In my code startup, if the usmUserTable is empty
during initialization, then I create some v3 user entries by calling
UsmUserTable::addNewRow().  The first thing that I discovered was that I had
to change the code in v3_mib.cpp which is hard-coded to volatile(2) (line
#816 in v.3.5.21).  I temporarily changed it to nonVolatile(3) for my
testing.  The first time through, my code creates some v3 users.  Then I stop
and restart the daemon.  The second time through, usmUserTable is initialized
with data previously saved to a persistence file.  The second time through,
however, the v3 user which worked correctly before could no longer access MIB
objects after I restarted.  It seems that I have to explicitly call
addNewRow() at each startup to fully restore the user.  This defeats the
purpose of having a nonVolatile entry in the usmUserTable.

Has anyone had experience with this?

Are there reasons that the code is hard-coded to create volatile entries in
the usmUserTable?

Will a persistent entry in usmUserTable properly restore everything that is
necessary to enable a v3 user to read and/or write MIB entries if someone
were to add a nonVolatile entry into the usmUserTable via SNMP, restart the
daemon, and attempt to use the v3 user name?

Any help or suggestions are appreciated.

Thanks,
Dave




More information about the AGENTPP mailing list