I am still having some conceptual problems with the v5 API. The model that I am using is the DataSet model for tables. The routines that I am calling, and those that are produced for the stub code generated by mib2c, are listed at the URL
<http://www.net-snmp.org/tutorial-5/agent/group__table__dataset.html> Whereas I my work involves a Linux RedHat 9 system, and the computer I am using in the preparation of the email is a Windows 2000 Pro system, and whereas these two computers are located some 40 miles apart, I do not have direct access at this time such that I would be able to report the helper file used by mib2c to generate the code with which I am working. Still, I expect that readers will be able to address the question(s) posed here. My current concern is the order of operations in the fulfillment of get and set requests, as processed via v5 API code generated by the mib2c compiler. The specific issue concerns the invocation of the helper handler routine defined by means of the function calls netsnmp_create_handler_registration() and netsnmp_create_handler_registration() In the documentation provided for the table_dataset model, at the URL given above, and on the associated page that gives the source code for the file table_dataset.c, one finds the function netsnmp_table_data_set_helper_handler() to be described as the function that "...implements the table data helper. This is the routine that takes care of all SNMP requests coming into the table." In perusing the source code of this function, it does appear that get and set requests are serviced at this point. The applications of macros, such as MODE_IS_SET(reqinfo->mode) give strong confirmation that this is the location at which the varbinds of get and set requests are serviced. Now, I return to a specific question. In what order are operations performed in the calling of the helper handler routine, as found in the code generated by mib2c? It would seem logical that for get requests, the helper handler routine is called after the request is serviced by the function netsnmp_table_data_set_helper_handler() since any operation that helper handler function is to perform on the data of the OID would need to be applied after that data is obtained from its source. I am thinking of the case where that data is stored in a register of a chip, such as those chips that implement 802dot11 functionality. It would seem equally logical that for set requests, the helper handler routine is called before the request is serviced by the function netsnmp_table_data_set_helper_handler() since in this case, I would need to apply any operation to the data prior to its being, consistent with my described 802dot11 application, transmitted to the chip register. Is this the correct interpretation of actions performed by the v5 API? Am I missing some detail in this process, and if so, what are those details? In any case, the data corresponding to OIDs must, for my application, be transmitted to, and received from, an 802dot11 chipset. I need to know where to put the calls to the device drivers for this chipset, in order to provide the essential link between the get and set request handler (the Net-SNMP daemon) and the chipset. A lack of understanding of this interfacing issue is the biggest impediment I face in implementing the 802dot11 MIB within the Net-SNMP environment. Now, I do notice that the section of the routine netsnmp_table_data_set_helper_handler() that includes the code 00526 switch (reqinfo->mode) { 00527 case MODE_GET: 00528 case MODE_GETNEXT: 00529 case MODE_GETBULK: /* XXXWWW */ has a call to the function netsnmp_table_data_build_result and this function seems to obtain data from the internal store of the relevant table. Since the table_dataset model operates through the retention of data internal to the agent, I would suspect that get requests will require that internal data store to be updated as appropriate prior to execution of the function netsnmp_table_data_build_result with some kind of inverse operation applicable for set requests. Now, this function first performs the get then the set operations, and this is consistent with the CMU approach. David Shield has described this to me in past emails. As we drill down through the call tree, we visit, in order, the functions snmp_set_var_typed_value() and snmp_set_var_value() and it is at this point that I become lost in the details. So, my concerns are i) the placement of calls to interfacing drivers for an 802dot11 chipset; ii) the sequence of operations in calling the helper handler routine that is created by mib2c for my specific table Just so I am complete, the table I am working with is the StationConfigTable of the 802dot11 MIB. I have previously posted this MIB, and I would hope that it is included in the MIB set for the Net-SNMP toolkit. I think that I am getting very close to a full understanding of this model of data servicing. A few well constructed explanations of the issues outlined in this posting are sure to help me obtain that full understanding. William R. Buckley ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ 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