[SNMP4J] Notification filtering
Frank Fock
fock at agentpp.com
Thu Feb 2 23:58:42 CET 2006
Hi Jack,
Yes, obviously that was / should have been the necessary fix.
Thanks again,
Frank
Houghton, Jack SPAWAR wrote:
>Hi:
>I believe there is one more fix required.
>In SnmpNotificationMIB.passesFilter(), there's the following code
>segment:
>
>for (Iterator it = filters.iterator(); it.hasNext(): ) {
> MOTableRow row = (MOTableRow) it.next();
> Variable[] indexValues =
> snmpNotifyEntryIndex.getIndexValues(row.getIndex());
> OID subtree = (OID) indexValues[idxSnmpNotifyFilterSubtree];
>
>Should "snmpNotifyEntryIndex" be replaced with
>"snmpNotifyFilterEntryIndex"?
>
>Best Regards,
>Jack Houghton
>
>-----Original Message-----
>From: snmp4j-bounces at agentpp.org [mailto:snmp4j-bounces at agentpp.org] On
>Behalf Of Frank Fock
>Sent: Wednesday, February 01, 2006 11:26 PM
>To: Matthias Wiesmann
>Cc: snmp4j at agentpp.org
>Subject: Re: [SNMP4J] Notification filtering
>
>
>OK, sorry. That's a regression. The index definition should be
>
> private static MOTableSubIndex[] snmpNotifyEntryIndexes =
> new MOTableSubIndex[] {
> new MOTableSubIndex(SMIConstants.SYNTAX_OCTET_STRING, 1, 32)
> };
>
> private static MOTableIndex snmpNotifyEntryIndex =
> new MOTableIndex(snmpNotifyEntryIndexes, true);
>
>I probably mixed up snmpNotifyEntry and snmpNotifyFilterEntry when I
>tried to fix another problem (I have not tested this code yet).
>
>Best regards,
>Frank
>
>Matthias Wiesmann wrote:
>
>
>
>>Hello,
>>
>>I downloaded your code, but it basically broke the part of my code that
>>registers regulars notification entries. I had a look at the source
>>code, it seems that you changed the index definition for notification
>>entries.
>>
>>The new definition is:
>>
>>private static MOTableSubIndex[] snmpNotifyEntryIndexes =
>> new MOTableSubIndex[] {
>> new MOTableSubIndex(SMIConstants.SYNTAX_OCTET_STRING, 1, 32),
>> new MOTableSubIndex(SMIConstants.SYNTAX_OBJECT_IDENTIFIER, 0,
>>128)
>> };
>>
>>This is really wierd for me. As far as I know, notification entries are
>>indexed by name and nothing else.
>>
>>If you look up RFC 2573
>>
>>The definition is
>>
>>----
>> snmpNotifyEntry OBJECT-TYPE
>> SYNTAX SnmpNotifyEntry
>> MAX-ACCESS not-accessible
>> STATUS current
>> DESCRIPTION "blah-blah"
>> INDEX { IMPLIED snmpNotifyName }
>> ::= { snmpNotifyTable 1 }
>>----
>>
>>Best regards
>>
>>Matthias Wiesmann
>>
>>
>>On 02/02/06, Frank Fock <fock at agentpp.com> wrote:
>>
>>
>>
>>
>>>Hello Matthias,
>>>
>>>There are several bugs in this area in the current alpha release. I
>>>have uploaded the current version of SnmpNotificationMib.java to
>>>http://www.snmp4j.org/SnmpNotificationMib.java
>>>
>>>Best regards,
>>>Frank
>>>
>>>
>>>Matthias Wiesmann wrote:
>>>
>>>
>>>
>>>
>>>
>>>>Hello everybody
>>>>
>>>>I have a situation that I don't understand with notification filters.
>>>>I have installed a notification filter, but the notification
>>>>mechanism seems not to see it.
>>>>
>>>>Here is the state of my filtertable
>>>>
>>>>SNMP-NOTIFICATION-MIB::snmpNotifyFilterProfileName.'hb-kt-dhcp22.jais
>>>>t.ac.jp'
>>>>= STRING: hb-kt-dhcp22.jaist.ac.jp
>>>>SNMP-NOTIFICATION-MIB::snmpNotifyFilterProfileStorType.'hb-kt-dhcp22.
>>>>jaist.ac.jp'
>>>>= INTEGER: nonVolatile(3)
>>>>SNMP-NOTIFICATION-MIB::snmpNotifyFilterProfileRowStatus.'hb-kt-dhcp22
>>>>
>>>>
>.jaist.ac.jp'
>
>
>>>>= INTEGER: active(1)
>>>>SNMP-NOTIFICATION-MIB::snmpNotifyFilterMask."hb-kt-dhcp22.jaist.ac.jp
>>>>
>>>>
>".1.3.6.1.4.1.999.1.2.1.104.98.45.107.116.45.100.104.99.112.50.50.46.106
>.97.105.115.116.46.97.99.46.106.112
>
>
>>>>= ""
>>>>SNMP-NOTIFICATION-MIB::snmpNotifyFilterType."hb-kt-dhcp22.jaist.ac.jp
>>>>
>>>>
>".1.3.6.1.4.1.999.1.2.1.104.98.45.107.116.45.100.104.99.112.50.50.46.106
>.97.105.115.116.46.97.99.46.106.112
>
>
>>>>= INTEGER: included(1)
>>>>SNMP-NOTIFICATION-MIB::snmpNotifyFilterStorageType."hb-kt-dhcp22.jais
>>>>
>>>>
>t.ac.jp".1.3.6.1.4.1.999.1.2.1.104.98.45.107.116.45.100.104.99.112.50.50
>.46.106.97.105.115.116.46.97.99.46.106.112
>
>
>>>>= INTEGER: nonVolatile(3)
>>>>SNMP-NOTIFICATION-MIB::snmpNotifyFilterRowStatus."hb-kt-dhcp22.jaist.
>>>>
>>>>
>ac.jp".1.3.6.1.4.1.999.1.2.1.104.98.45.107.116.45.100.104.99.112.50.50.4
>6.106.97.105.115.116.46.97.99.46.106.112
>
>
>>>>= INTEGER: active(1)
>>>>
>>>>I have modified the SnmpNotificationMIB:passesFilter to give me some
>>>>output information.
>>>>
>>>>public boolean passesFilter(OID paramsIndex, OID notificationID,
>>>> VariableBinding[] vbs) {
>>>> MOTableRowFilter activeFilter =
>>>> new
>>>>
>>>>
>RowStatus.ActiveRowsFilter(idxSnmpNotifyFilterProfileRowStatus);
>
>
>>>> List profiles =
>>>> snmpNotifyFilterProfileEntryModel.getRows(paramsIndex,
>>>>
>>>>
>paramsIndex,
>
>
>>>> activeFilter);
>>>> if (profiles.size() == 0) {
>>>> final OctetString params = new
>>>>OctetString(MOTableIndex.getBytes(paramsIndex)) ;
>>>> logger.info("found not matching profile for "+params+" /
>>>>
>>>>
>"+notificationID) ;
>
>
>>>> // no profile -> passes filter
>>>>
>>>> return true;
>>>> }
>>>>
>>>>But when i run my code, I get this output
>>>>
>>>>found not matching profile for hb-kt-dhcp22.jaist.ac.jp /
>>>>1.3.6.1.4.1.999.1.2.1.104.98.45.107.116.45.100.104.99.112.50.50.46.10
>>>>6.97.105.115.116.46.97.99.46.106.112
>>>>
>>>>I don't understand why the notification mechanism cannot see my
>>>>profile.
>>>>
>>>>Does anybody have any idea?
>>>>
>>>>Cheers
>>>>
>>>>Matthias Wiesmann _______________________________________________
>>>>SNMP4J mailing list
>>>>SNMP4J at agentpp.org http://lists.agentpp.org/mailman/listinfo/snmp4j
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>--
>>>AGENT++
>>>http://www.agentpp.com
>>>http://www.mibexplorer.com
>>>http://www.mibdesigner.com
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>
>
--
AGENT++
http://www.agentpp.com
http://www.mibexplorer.com
http://www.mibdesigner.com
More information about the SNMP4J
mailing list