[AGENT++] Notification Filter configuration

Sardari, Darren dsardari at harris.com
Fri Jun 10 15:33:22 CEST 2011


I'm having a little trouble setting up a filter for Notifications. I wrote this code real quick to try and test it out. I'm just trying to exclude some notifications I created from the manager but it seems like I am filtering all notifications (even the coldstart).If anyone can point me in the right direction, it would be greatly appreciated.

Thanks,
Darren Sardari

Code:
        no.add_v3_trap_destination(dest, "defaultV3Trap", "v3trap", "test");

//Filter Profile Table
        snmpNotifyFilterProfileEntry *filterProfileTable = (snmpNotifyFilterProfileEntry*)mib->get("1.3.6.1.6.3.13.1.2.1");
MibTableRow* filterProfileRow;

Oidx index = Oidx::from_string("defaultV3Trap", FALSE);

if(filterProfileTable->find_index(index))
{
        printf("filterProfileTable already has index of %s\n",(index.as_string()).get_printable());
}
else
{
        //Filter for .50
        filterProfileRow = filterProfileTable->add_row(index);
        if(filterProfileRow)
        {
                filterProfileRow->get_nth(0)->replace_value(new OctetStr("filter1"));
                //filterProfileRow->get_nth(1)->replace_value(new SnmpInt32(3));
                filterProfileRow->get_nth(2)->replace_value(new SnmpInt32(1));
        }
        else
        {
                printf("filterProfileRow: Could not add Row\n");
        }
}


//Filter Table
snmpNotifyFilterEntry *filterTable = (snmpNotifyFilterEntry*)mib->get("1.3.6.1.6.3.13.1.3.1");
MibTableRow* filterRow;

//Filter .50 from notifications

index = Oidx::from_string("filter1", TRUE);
index+=Oidx::from_string(notificationOid, FALSE);


      if(filterTable->find_index(index)){       printf("filterTable already has index of %s\n",(index.as_string()).get_printable());}else{      filterRow = filterTable->add_row(index);                if(filterRow)   {               filterRow->get_nth(0)->replace_value(new OctetStr(""));         filterRow->get_nth(1)->replace_value(new SnmpInt32(2));         filterRow->get_nth(2)->replace_value(new SnmpInt32(3));         filterRow->get_nth(3)->replace_value(new SnmpInt32(1)); }       else    {               printf("filterRow: Could not add Row\n");       }}




More information about the AGENTPP mailing list