Currently, the filesystem and persistent storage areas are
left undone, to be implemented by the application.
The SNMP library package is intended to support client and
agent code alike. It therefore contains lots of assumptions about
the presence of persistent storage ie. a filesystem. Currently,
by default, eCos has no such thing, so those areas have been simply
commented out and made to return empty lists or say “no
data here.”
Specifically the following files have omitted/unimplemented code :
PACKAGES/net/snmp/lib/VERSION/src/parse.c
contains code to enumerate MIB files discovered in the system
MIB directories (“/usr/share/snmp/mibs”),
and read them all in, building data structures that are used by
client programs to interrogate an agent. This is not required in
an agent, so the routine which enumerates the directories returns
an empty list.
PACKAGES/net/snmp/lib/VERSION/src/read_config.c
contains two systems:
The first tries to read the configuration file as described in the
snmpd.conf file section and
the second system contains code to record persistent data as files in a
directory (typically /var/ucd-snmp) thus preserving the
state permanently.
The first part is partially implemented to support multiple profiles and enables
dispatcher functionality as discussed in the Section called Version usage (v1, v2 or v3).
The second part is not supported at all in the default implementation. As required,
a cleaner interface to permit application code to manage persistent data will be
developed in consultation with customers.