Fulko Hew wrote:

On Tue, May 12, 2009 at 2:23 AM, parveen yadav <[email protected] <mailto:[email protected]>> wrote:

    Fulko Hew wrote:
    On Sat, May 9, 2009 at 5:18 AM, parveen yadav
    <[email protected] <mailto:[email protected]>>
    wrote:

        Wes Hardaker wrote:
        On Tue, 05 May 2009 14:27:53 +0530, parveen yadav 
<[email protected]> <mailto:[email protected]> said:
py> I am trying to extract agent IP address for which get/set request is py> generated by snmpget in get_first_data_point,get_next_data_point and py> table handler. I am table iterator for my table.

        No, you can't.  Though technically possible some of the time it's
        generally not something that you should be doing.  SNMP wasn't designed
        to work that way, and although it's possible it breaks under some
        conditions.  EG, if you ever want to run your code as an AgentX subagent
        that information isn't available at all.
        But i think we can extract request ip in case net-snmp is
        working as main agent and we do not need to handle AgentX.
        But it is hard to find the storage location. I have tried
        request structure.
        Do i need to look some where else also??

If I understand correctly, then this was something I needed and I
    recently
    added to the Perl interface for agents, its available in the upcoming
    release, but only for IPv4 based requests, and I don't think
    it'll work
    for AgentX based agents either.
    thanks for reply

    I have traced packet from snmp_read. But there is still confusion
    about Ipaddress of request. Can somebody clear the doubt.


Can you be more specific?  What are you confused about?
What  language are you using?

If you are using Perl, your agent code would look something like this:

if (!$agent) {
print "The mandatory Perl agent is not defined in this Net-SNMP installation\n";
    return;
}
$agent->register('myprog', '1.2.3.4', \&my_snmp_handler);

sub my_snmp_handler {
    my ($handler, $registration_info, $request_info, $requests) = @_;

    my $targetIp = inet_ntoa($request_info->getTargetIp());
    for (my $request = $requests; $request; $request = $request->next()) {
        handle_oid($targetIp, $request_info, $request);
    }
}


I am using C language agent. There is netsnmp_request_info structure in agent. In table handler , through requests list handler finds the request to process. But there is no method like getTargetIp(). It must be perl specific and there must be some alternate.
I will try to explore this . This must be looking in request info for Ip.

thanks
------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-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

Reply via email to