*/
public void processPdu(CommandResponderEvent cre) {
if (log.isDebugEnabled())
log.debug("recv: " + cre);
PDU pdu = cre.getPDU();
String sourceAddr;
Address addr = cre.getPeerAddress();
if (addr instanceof IpAddress) {
sourceAddr = ((IpAddress) addr).getInetAddress().toString();
if (sourceAddr.startsWith("/"))
sourceAddr = sourceAddr.substring(1);
} else {
// Don't use addr.toString() as this would contain the port and generate too many
// EventSources
sourceAddr = "snmp-agent";
}
if (pdu != null) {
StringBuffer payload = new StringBuffer();
// SNMP v1
if (pdu instanceof PDUv1) {
PDUv1 v1pdu = (PDUv1) pdu;
long timeTicks = v1pdu.getTimestamp();
payload.append("Traptype (generic, specific): ");
payload.append(v1pdu.getGenericTrap()).append(", ").append(v1pdu.getSpecificTrap()).append("\n");
payload.append("Timestamp: " + new TimeTicks(timeTicks).toString());
payload.append("\n");
}
SnmpTrapdComponent.trapCount++;
EventSeverity severity = EventSeverity.INFO;
Vector<VariableBinding> vbs = pdu.getVariableBindings();
for (VariableBinding vb : vbs) {
OID oid = vb.getOid();
Variable var = vb.getVariable();
int syntax = vb.getSyntax();