subagent config file issue

Ryan Dowell <[email protected]>
Newsgroups gmane.network.net-snmp.user
Message-ID <[email protected]>
Hello all,

My name is Ryan Dowell and I work on the SNMP agent for Fusion-io.  I have been experiencing some issues with using a configuration file for an agentx subagent.  I am finding that the separate configuration file for the subagent seems to never be read when the subagent is started.  The subagent initialization is based on the example at www.net-snmp.org/docs/man/snmp_agent_api.htm, and the .conf file name matches that of the subagent executable(i.e. 'xxx_agent' and 'xxx_agent.conf'), and is located in the /etc/snmp directory where the snmpd.conf and snmptrapd.conf files are located.  Inside the subagent code, I am attempting to initialize and read the .conf file as follows:

Int main{int argc, char *argv)
{
                ...
                Const char *agentName = basename(argv[0]);
                ...
Register_config_handler(agentName, token_XXX, configHandler, NULL, NULL);
Register_config_handler(agentName, token_YYY, configHandler, NULL, NULL);
...
Netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE, 1);
...
Init_agent(agentName);
...
Init_snmp(agentName);
...
<main loop>
...
Snmp_shutdown(agentName);
}

Void configHandler(const char* token, char* value)
{
                If (strcmp(token, token_XXX) == 0)
                {
                                Config_XXX = ....
                }
                Else if (strcmp(token, token_YYY) = 0)
                {
                                Config_YYY = ...
                }
}

I have confirmed that the token names passed to register_config_handler and used in configHandler match those in the subagent's .conf file and that the .conf and executable share the same file name aside from the extension.  What I've found while debugging is that the configHandler function is never invoked, so none of the config parameters we expect to read from the file are ever read in, and they all keep their default values.  The subagent runs completely normally otherwise.  Running snmpconf shows that net-snmp is only aware of snmpd.conf and snmptrapd.conf.  I would like to know if perhaps there is an installation step we are missing to make sure net-snmp is aware of the subagent's .conf file, or if there is a more direct way to make it read the .conf file than the method of registering the callback and relying on init_agent and init_snmp to find and read the file.  Any insight or suggestions would be greatly appreciated, as I have not seen anything else in the documentation regarding use of a separate .conf file for a subagent.

Ryan Dowell

Software Engineer, Fusion-io
Superior, CO
[email protected]


Confidentiality Notice: This e-mail message, its contents and any attachments to it are confidential to the intended recipient, and may contain information that is privileged and/or exempt from disclosure under applicable law. If you are not the intended recipient, please immediately notify the sender and destroy the original e-mail message and any attachments (and any copies that may have been made) from your system or otherwise. Any unauthorized use, copying, disclosure or distribution of this information is strictly prohibited.

------------------------------------------------------------------------------
Systems Optimization Self Assessment
Improve efficiency and utilization of IT resources. Drive out cost and 
improve service delivery. Take 5 minutes to use this Systems Optimization 
Self Assessment. http://www.accelacomm.com/jaw/sdnl/114/51450054/

_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.