How to do a snmpwalk with snmp4j and Community String Indexing?
I can do a Community String Indexing by changing the community String like public@123 (123 is the vlanId)
But this works only with snmpget !!??:
public ResponseEvent get(OID oids) throws IOException {
PDU pdu = new PDU();
pdu.add(new VariableBinding(oid));
pdu.setType(PDU.GETNEXT);
ResponseEvent event = snmp.send(pdu, getTarget(), null);
}
private Target getTarget() {
Address targetAddress = GenericAddress.parse(sw.getAddress());
CommunityTarget target = new CommunityTarget();
target.setCommunity(new OctetString(communityString));
target.setAddress(targetAddress);
target.setRetries(2);
target.setTimeout(1500);
target.setVersion(SnmpConstants.version2c);
return target;
}
But when I try to do a snmpwalk like this i get a timeout
public HashMap<String, String> snmpWalk(String strOid) throws IOException {
OID oid = new OID(strOid);
TreeUtils treeUtils = new TreeUtils(snmp, new DefaultPDUFactory());
HashMap<String, String> snmpResult = new HashMap<String, String>();
List<TreeEvent> events = treeUtils.getSubtree(getTarget(), oid);
// some more code ...
}