Hello Graeme,

thanks for your reply.

I will try your code. It seems it might be close to what I need.

Have a nice day.

Milan




On Wed, August 8, 2007 11:11 am, Graeme Wilson wrote:
>

> Hi,
>
>
> I have done something similar recently (I provide some sample code below
> - but note that ultimately everything is still done within the agent).
> My Agent simply registers the root OID of the MIB it will handle and
> some other function knows all about the data and the specific OIDs that the
> Agent handles.
> I just registered a generic handler for the root oid and then when it is
> called, the handler make appropriate calls to handle the request.  I guess
> in your case you could then request the data (if any) from the
> process/thread that holds the Data and OIDS.
>
> Hope that helps.
> Graeme
> -------------
> /* In your main/initialise function */
> netsnmp_mib_handler* handler = netsnmp_create_handler( "GenericOIDHandler",
> &genericOidHandler );
>
>
> netsnmp_handler_registration* reg = netsnmp_handler_registration_create(
> "GenericHandler",
> handler, root_oid, OID_LENGTH(root_oid),
> 0 );
>
> netsnmp_register_handler( reg );
>
>
>
> /* Generic function which will be called for all OIDs below the root one
> registered above */ int genericOidHandler( netsnmp_mib_handler *handler,
> netsnmp_handler_registration *reginfo, netsnmp_agent_request_info
> *reqinfo,
> netsnmp_request_info *requests ) {
> int ret = SNMP_ERR_NOERROR;
>
> switch(reqinfo->mode) {
> case MODE_GET: /* Call some other code to process the 'requests' argument
> */
> ret = myData->getData( requests ); break; case MODE_GETNEXT: /* Call some
> other code to process the 'requests' argument */ ret =
> myData->getNextData( requests ); break; default:
> /* we should never get here in my code */
> iRet = SNMP_ERR_GENERR; break; }
> return ret; }
>
>
>
>
>> -----Original Message-----
>> From: [EMAIL PROTECTED]
>> [mailto:[EMAIL PROTECTED] On
>> Behalf Of [EMAIL PROTECTED]
>> Sent: 08 August 2007 06:51
>> To: Mike Ayers
>> Cc: net-snmp-users@lists.sourceforge.net
>> Subject: RE: Newbie question: writing a simple agent
>>
>>
>> Hello Mike,
>>
>>
>> thanks for replying to my question.
>>
>> I understand that a standard approach is to register the
>> agent for a range of OISs and to let the agent to be OID aware while the
>> other process should take care of the underlaying data.
>>
>> However, I was asked to write an agent that would NOT be
>> OID-aware. All it would know it is responsible for a range of
>> OIDs without knowing any details. It would forward complete
>> OIDs to the other process that would take care about OID
>> disassembly/translation, data manipulation etc.
>>
>> I am wondering if this is possible within the Net SNMP API, at all.
>>
>>
>> If so, where should I start?
>>
>>
>> Thanks.
>>
>>
>> Milan
>>
>>
>> On Tue, August 7, 2007 11:44 pm, Mike Ayers wrote:
>>
>>>
>>
>>>> From: [EMAIL PROTECTED]
>>>> [mailto:[EMAIL PROTECTED] On Behalf Of
>>>> [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>>
>>>> The agent itself will not be aware of individual OIDs and their
>>>> meaning. This will be done by the other process that also
>> holds the
>>>> actual data.
>>>
>>> This is a bit of a design problem as stated.  The (sub)agent is
>>> responsible for managing its OID range, and therefore it is not
>>> possible to have a subagent completely unaware of the OIDs.
>> This does
>>
>>> not, however, mean that the subagent needs to be aware of the data
>>> underlying the MIB.
>>>
>>> A common paradigm is to have the subagent register for the range of
>>> values (table, MIB, whatever) that it will manage, and have the OP
>>> (other
>>> process) manage the data within the range.  The agent does OID
>>> assembly/disassembly (i.e. breaking OIDs into range part
>> and specific
>>> part), possibly reformat the specific part to make it more
>>> understandable to the OP (thus only the subagent need be
>> MIB aware).
>>
>>> The OP returns the values for the requested data, then the subagent
>>> formats and assembles the response.
>>>
>>>
>>> HTH,
>>>
>>>
>>>
>>> Mike
>>>
>>>
>>>
>>>
>> ----------------------------------------------------------------------
>>
>>> ---  This SF.net email is sponsored by: Splunk Inc.
>>> Still grepping through log files to find problems?  Stop.
>>> Now Search log events and configuration files using AJAX
>>>
>> and a browser.
>>> Download your FREE copy of Splunk now >>  http://get.splunk.com/
>>> _______________________________________________
>>> Net-snmp-users mailing list
>>> Net-snmp-users@lists.sourceforge.net
>>> Please see the following page to unsubscribe or change
>>>
>> other options:
>>> https://lists.sourceforge.net/lists/listinfo/net-snmp-users
>>>
>>>
>>>
>>>
>>
>>
>>
>> --------------------------------------------------------------
>> -----------
>> This SF.net email is sponsored by: Splunk Inc.
>> Still grepping through log files to find problems?  Stop.
>> Now Search log events and configuration files using AJAX and
>> a browser. Download your FREE copy of Splunk now >>
>> http://get.splunk.com/ _______________________________________________
>> Net-snmp-users mailing list
>> Net-snmp-users@lists.sourceforge.net
>> Please see the following page to unsubscribe or change other options:
>> https://lists.sourceforge.net/lists/listinfo/net-snmp-users
>>
>>
>>
>
>
> -------------------------------------------------------------------------
>  This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >>  http://get.splunk.com/
> _______________________________________________
> Net-snmp-users mailing list
> Net-snmp-users@lists.sourceforge.net
> Please see the following page to unsubscribe or change other options:
> https://lists.sourceforge.net/lists/listinfo/net-snmp-users
>
>
>



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to