[SNMP4J] Code for ----RE: SNMPv3_USM_UNKNOWN_SECURITY_NAME

Lin, Dongliang dongliang.lin at boeing.com
Thu Oct 25 23:44:37 CEST 2007


Here is more details about my code and my problem.
Any help is deeply appreciated.

I have following code to run on two separate threads to send SNMPv3
request to two separate agents with different security name
It works fine if I just run one thread to either of Agents.
However, with two threads, I got about 10% of response PDU is null and
error code as: 
	"org.snmp4j.MessageException: Message processing model 3
returned error: 1404"

setup_once() ///  init once
        {
          OctetString securityName = new OctetString("securityname"); //
different names for each agent
          int securityLevel = SecurityLevel.AUTH_NOPRIV
          OID authProtocol =  AuthMD5.ID
          OID privProtocol  = PrivAES256.ID;
          OctetString authPassphrase =  new OctetString("authPassphrase
"); // different phrasefor each agent
          OctetString privPassphrase = new OctetString("privPassphrase
"); ;  // different phrase for each agent

          transport = new DefaultUdpTransportMapping();   
          snmp = new Snmp(transport);  
 
          usm = new USM(SecurityProtocols.getInstance(), new
OctetString(MPv3.createLocalEngineID()), 0);        
          SecurityModels.getInstance().addSecurityModel(usm);
   
          snmp.getUSM().addUser(securityName, new UsmUser(securityName,
authProtocol, authPassphrase, privProtocol, privPassphrase));

          UserTarget target = (UserTarget)tgt;    
          target.setAddress(targetAddress);
          target.setRetries(requestMsg.targ.retries);
          target.setTimeout(requestMsg.targ.timeout);
          target.setVersion(target.getVersion());
          target.setSecurityName(securityName);
          target.setSecurityModel(SecurityModel.SECURITY_MODEL_USM);
          target.setSecurityLevel(securityLevel);
   
          snmp.listen();	 
	 }
        
SendRequest() // send out pdu to each agent per request  
        {
         ScopedPDU pdu = new ScopedPDU(); // prepare pdu content ....
         snmp.send(pdu, target, reqObject, this);            
          }

Thanks in advance.

Don at boeing

> _____________________________________________ 
> From: 	Lin, Dongliang  
> Sent:	Wednesday, October 24, 2007 5:23 PM
> To:	'snmp4j at agentpp.org'
> Subject:	SNMPv3_USM_UNKNOWN_SECURITY_NAME  
> 
> 
> Hello,
> 
> Within one process, I  can reliably poll  individual SNMP/V3 agents.
> 
> However with the same configuration, if I polling two different V3
> agents at the same time through same process, I got about 10% error
> response from those agents indicating PDUs  are null.
> The ResponseEvent shows the return error message as 
> 	"org.snmp4j.MessageException: Message processing model 3
> returned error: 1404"
> 
> In USM.java,  return SnmpConstants.SNMPv3_USM_UNKNOWN_SECURITY_NAME
> which is  1404 
> 
> Any help are much appreciated.
> 
> 
> Thanks.
> 
> Don
> 



More information about the SNMP4J mailing list