内部の GETNEXT 要求ごとに更新することなく、GETBULK 要求でサブエージェントのテーブルを更新したいと考えています。
mib2c は、GET 要求に対して次のハンドラーを生成しました - サブエージェント内でハンドラーをセットアップして、特に GETBULK で更新を実行するにはどうすればよいですか?
int
table_handler(netsnmp_mib_handler *handler,
netsnmp_handler_registration *reginfo,
netsnmp_agent_request_info *reqinfo,
netsnmp_request_info *requests)
{
netsnmp_request_info *request;
netsnmp_table_request_info *table_info;
netsnmp_tdata *table_data;
netsnmp_tdata_row *table_row;
struct table_entry *table_entry;
int ret;
switch (reqinfo->mode) {
/*
* Read-support (also covers GetNext requests)
*/
case MODE_GET:
for (request = requests; request; request = request->next) {
table_entry = (struct table_entry *)
netsnmp_tdata_extract_entry(request);
table_info = netsnmp_extract_table_info(request);
switch (table_info->colnum) {
case COLUMN_NAMESERVER:
.
.
.
case COLUMN_NAMESERVERPORT:
.
.
.
default:
.
.
.
}