Hi ,
Please check your agentxRetries value in snmpd.conf file.
Thanks
Krishna
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of goon863
Sent: Tuesday, October 16, 2007 4:09 PM Krishna
To: [email protected]
Subject: Re:popen() is executed many times in MODE_SET_ACTION:
Sorry for my mistake.my env is uclinux and the net-snmp is 5.0.9 v.I use
enseirb.c form net-snmp homepage.And add popen().
netsnmp_register_instance(netsnmp_create_handler_registration
("led2",
do_led2, led2_oid, OID_LENGTH(led2_oid),
HANDLER_CAN_RWRITE));
int
do_led2(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
char tmp;
/*
* We are never called for a GETNEXT if it's registered as a
* "instance", as it's "magically" handled for us.
*/
/*
* a instance handler also only hands us one request at a time, so
* we don't need to loop over a list of requests; we'll only get one.
*/
switch (reqinfo->mode) {
case MODE_GET:
// system("ping -c 3 192.168.0.1");
MYDEBUG( printf("popen haha (%s %d\n) ... ", __FILE__,__LINE__));
snmp_set_var_typed_value(requests->requestvb,
ASN_INTEGER,
(u_char *) &led2,
sizeof(led2));
DEBUGMSGTL(("enseirb", "led2 current value : %d\n", led2));
break;
/*
* SET REQUEST
*
* multiple states in the transaction. See:
* http://www.net-snmp.org/tutorial-5/toolkit/mib_module/set-actions.jpg
*/
case MODE_SET_RESERVE1:
break;
case MODE_SET_RESERVE2:
break;
case MODE_SET_FREE:
/*
* XXX: free resources allocated in RESERVE1 and/or
* RESERVE2. Something failed somewhere, and the states
* below won't be called.
*/
break;
case MODE_SET_ACTION:
/*
* XXX: perform the value change here
*/
// lpdata = inb(lp_base);
led2 = *(requests->requestvb->val.integer);
MYDEBUG( printf("run here (%s %d\n) ... ", __FILE__,__LINE__));
if(led2==20) popen("ping -c 6 www.google.com","r <http://www.google.com> ");
break;
case MODE_SET_COMMIT:
/*
* XXX: delete temporary storage
*/
break;
case MODE_SET_UNDO:
/*
* XXX: UNDO and return to previous value for the object
*/
break;
default:
/*
* we should never get here, so this is a really bad error
*/
return SNMP_ERR_GENERR;
}
return SNMP_ERR_NOERROR;
}
________________________________
LOGO<http://mimg.163.com/hd/163/163footer/163footer_50.jpg>
把爱心注入牛奶,共同凝聚这份力量 <http://popme.163.com/link/003515_0929_938.html>
快来参加蒙牛免费赠奶爱心行动 <http://popme.163.com/link/003515_0929_938.html>
-------------------------------------------------------------------------
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
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users