Снова нужна помощь по NET-SNMP. Собрал snmpd с поддержкой AgentX, запустил моего субагента, он подключается к мастеру и все рабоатет. Сейчас пытаюсь сделать вывод таблицы по принципу data_set и проблемма в том, что не могу получить первый столбец, вывод идет сразу со второго. делаю следующее:
init_nstAgentSubagentObject() { static oid alarmTable_oid[] = { 1, 1, 2 }; size_t alarmTable_oid_len = OID_LENGTH(alarmTable_oid); netsnmp_table_data_set *table_set; netsnmp_table_row *row;
table_set = netsnmp_create_table_data_set("alarmTable"); table_set->table->store_indexes = 1; // пробовал и = 0
netsnmp_table_dataset_add_index(table_set, ASN_UNSIGNED); netsnmp_table_set_add_default_row(table_set, 2, ASN_OCTET_STR, 0, NULL, 0); netsnmp_register_table_data_set(netsnmp_create_handler_registration ("alarmTable", alarmTable_handler, alarmTable_oid, alarmTable_oid_len, HANDLER_CAN_RWRITE), table_set, NULL);
row = netsnmp_create_table_data_row(); default_num = 1; netsnmp_table_row_add_index(row, ASN_UNSIGNED, &default_num, sizeof(default_num)); netsnmp_set_row_column(row, 2, ASN_OCTET_STR, "Test1", strlen("Test1"));
netsnmp_table_dataset_add_row(table_set, row); }
после этого вижу только начиная со второго столбца т.е. >snmpwalk -v 1 -On -c public 192.168.0.139 1.1.2 .1.1.2.1.2.1 = STRING: "Test1" а где первый столбец? .1.1.2.1.1.1 = 1 ????
пробовал добавлять netsnmp_table_set_add_default_row(table_set, 1, ASN_UNSIGNED, 0, NULL, 0); вообще перестает отвечать на ветку .1.1.2
может кто знает в чем проблема? подскажите пожалуйста
ЗЫ: начал уж думать что data_set не подходит для этого
|