hello friends
Greetings,
I have installed netsnmp-5.4 using win32( MVC++), i am writing code
for subagent which will send traps to AgentX master agent.
Problem with the code is it execute all api of netsnmp correctly
(put up code at end)  but no trap received by main agent( even if no
packet received by main agent according to dump )
I am running main agent in debug mode(sorry if i use wrong phrase) i.e.
snmpd -Lo -f -d -C -c c:\usr\etc\snmp\snmpd.conf
so if trap come to main agent it dump out trap to stdout
for agentx support enabling i putted following line in my snmpd.conf
master agentx
agentXSocket tcp:127.0.0.1:755
so it receive data on this port
dump of my snmpd process when i start agent

C:\NETSNMP\NET-SN~1.4\win32\bin\release>snmpd -Lo -f -d -C -c
c:\usr\etc\snmp\snmpd.conf
Turning on AgentX master support.

Sending 93 bytes to UDP: [127.0.0.1]:162
0000: 30 5B 02 01  01 04 06 70  75 62 6C 69  63 A7 4E 02    0[.....publicºN.
0016: 02 3A 8A 02  01 00 02 01  00 30 42 30  0D 06 08 2B    .:è......0B0...+
0032: 06 01 02 01  01 03 00 43  01 1C 30 17  06 0A 2B 06    .......C..0...+.
0048: 01 06 03 01  01 04 01 00  06 09 2B 06  01 06 03 01    .........
+.....
0064: 01 05 01 30  18 06 0A 2B  06 01 06 03  01 01 04 03    ...0...+........
0080: 00 06 0A 2B  06 01 04 01  BF 08 03 02  0D


This is subagent code which send trap to main agent


static oid      snmptrap_oid[] = { 1, 3, 6, 1, 6, 3, 1, 1, 4, 1, 0 };
int
send_trap( void)
{
   netsnmp_variable_list *var_list = NULL;
   int i;
   oid              data_oid[] =
       { 1, 3, 6, 1, 4, 1, 16901, 0, 1 };

   oid           ShortText_oid[] =
       { 1, 3, 6, 1, 4, 1, 16901, 4, 0 };

   char *data = "testing trap in windows";
   snmp_varlist_add_variable(&var_list,
                             snmptrap_oid,
OID_LENGTH(snmptrap_oid),//11*sizeof(oid),
                             ASN_OBJECT_ID,
                             ( u_char* ) data_oid,
                          sizeof(data_oid) );
   snmp_varlist_add_variable( &var_list,
                       ShortText_oid,
                       OID_LENGTH(ShortText_oid) ,
                       ASN_OCTET_STR,
                       data , strlen(data));
   send_v2trap(var_list);
   snmp_free_varbind(var_list);
   return SNMP_ERR_NOERROR;
}
int main (int argc, char **argv)
{
 int agentx_subagent=1; /* change this if you want to be a SNMP master
agent */
 int background = 1; /* change this if you want to run in the background */
 int num_fds;
 fd_set fdset;
 int count;
 int listen_fd;
 int sock_fd;
 int syslog = 1;
 char *p = "c:\\usr\\etc\\snmp\\snmpd";
 char *cptr= "tcp:localhost:705";
 int keep_running = 0;

 /* we're an agentx subagent? */
 if (agentx_subagent) {
   /* make us a agentx client. */
   netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE,
1);
   netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID,
NETSNMP_DS_AGENT_X_SOCKET, cptr);
 }

 /* run in background, if requested */
 if (background && netsnmp_daemonize(1, !syslog))
     exit(1);

 /* initialize the agent library */

 while( init_agent("sub-agent") != 0 ) {
    sleep(2);
 }
 init_snmp("sub-agent");
 send_trap();
 return 0;
}
Please point if any mistake i made in code/ agent configuration
Thanks in advance
Regards
Bhushan. E . Sonawane
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to