Hi Bhashkar, Ok, that makes sense. Unfortunately, I don’t have any experience using the C AgentX API bindings with Net-SNMP. The Python bindings for AgentX that I have used look very different.
Sorry I couldn’t be more help. Brian From: bps tech <bpstec...@gmail.com> Sent: Friday, November 8, 2024 12:26 PM To: Atkins, Brian <brian.atk...@netapp.com> Cc: net-snmp-users@lists.sourceforge.net Subject: Re: netsnmp_register_table_iterator() failing You don't often get email from bpstec...@gmail.com<mailto:bpstec...@gmail.com>. Learn why this is important<https://aka.ms/LearnAboutSenderIdentification> EXTERNAL EMAIL - USE CAUTION when clicking links or attachments Hi Brian, Thanks for the quick reply. I understand your point, however it will take it's own time if I am going with private enterprise number, controlled by IANA. But for now, could you help me what mistake I might be doing. I hope it is possible to extend MIB-2 standard interface, I found this example to extend standard MIB-2 interface over internet. Thanks & Regards, Bhashkar On Sat, Nov 9, 2024 at 12:43 AM Atkins, Brian <brian.atk...@netapp.com<mailto:brian.atk...@netapp.com>> wrote: First, you shouldn’t be adding things to MIB-2, it is standards controlled. If you want to add a MIB branch, you should do it under the enterprise branch (1.3.6.1.4.1). You’ll need a private enterprise number, which are controlled by the IANA: https://www.iana.org/assignments/enterprise-numbers/<https://urldefense.com/v3/__https:/www.iana.org/assignments/enterprise-numbers/__;!!Nhn8V6BzJA!QOK9FXfZ00Z3S9NS7Jn4Ip44cbX6yiGOcaBYN9wGKtw929klwBHZp_3qUfPAiWZR6dhBgU_PCOxvyeUQWVp-$> You might be able to use the experimental branch (http://oid-info.com/get/1.3.6.1.3<https://urldefense.com/v3/__http:/oid-info.com/get/1.3.6.1.3__;!!Nhn8V6BzJA!QOK9FXfZ00Z3S9NS7Jn4Ip44cbX6yiGOcaBYN9wGKtw929klwBHZp_3qUfPAiWZR6dhBgU_PCOxvySQy32Z2$>). I’m not sure what’s involved in avoiding collisions on that branch. There might be other branches or subbranches that are appropriate that I’m not aware of. Regards, Brian From: bps tech <bpstec...@gmail.com<mailto:bpstec...@gmail.com>> Sent: Friday, November 8, 2024 11:50 AM To: net-snmp-users@lists.sourceforge.net<mailto:net-snmp-users@lists.sourceforge.net> Subject: netsnmp_register_table_iterator() failing You don't often get email from bpstec...@gmail.com<mailto:bpstec...@gmail.com>. Learn why this is important<https://urldefense.com/v3/__https:/aka.ms/LearnAboutSenderIdentification__;!!Nhn8V6BzJA!QOK9FXfZ00Z3S9NS7Jn4Ip44cbX6yiGOcaBYN9wGKtw929klwBHZp_3qUfPAiWZR6dhBgU_PCOxvyVr1_jF_$> EXTERNAL EMAIL - USE CAUTION when clicking links or attachments Hi, I am writing my first code for SNMP. I am trying to extend the MIB-2 standard interface table. During this process table iterator registration function netsnmp_register_table_iterator(reg, iinfo) is failing. Here is my code: void init_myCustomIfTable(void) { static oid ifTable_oid[] = {1, 3, 6, 1, 2, 1, 2, 99}; // Base OID for custom table extension size_t ifTable_oid_len = OID_LENGTH(ifTable_oid); netsnmp_handler_registration *reg; netsnmp_table_registration_info *table_info; netsnmp_iterator_info *iinfo; AIM_LOG_INFO("init_myCustomIfTable \n"); // Register the table with the SNMP agent reg = netsnmp_create_handler_registration("myCustomIfTable", get_custom_metric_data, ifTable_oid, ifTable_oid_len, HANDLER_CAN_RONLY); // Error checking for handler registration if (!reg) { AIM_LOG_INFO("Failed to create handler registration for myCustomIfTable \n"); return; } // Define table structure and columns (e.g., index for ifIndex and custom metrics) table_info = SNMP_MALLOC_TYPEDEF(netsnmp_table_registration_info); if (!table_info) { AIM_LOG_INFO("Failed to allocate memory for table registration info \n"); return; } netsnmp_table_helper_add_index(table_info, ASN_INTEGER, 0); // Index for ifIndex table_info->min_column = COLUMN_CUSTOM_METRIC1; // Starting column for custom data table_info->max_column = COLUMN_CUSTOM_METRIC2; // Ending column for custom data // Define iterator information for table walking iinfo = SNMP_MALLOC_TYPEDEF(netsnmp_iterator_info); if (!iinfo) { AIM_LOG_INFO("Failed to allocate memory for iterator info \n"); free(table_info); // Free memory before returning return; } iinfo->get_first_data_point = get_first_data_point; iinfo->get_next_data_point = get_next_data_point; iinfo->table_reginfo = table_info; // Register the table iterator handler if (!netsnmp_register_table_iterator(reg, iinfo)) { AIM_LOG_INFO("Failed to register table iterator handler for myCustomIfTable \n"); free(iinfo); // Clean up allocated memory free(table_info); // Clean up allocated memory return; } I am attaching my MIB file also. Any help in this regard would be highly appreciated. Thanks & Regards, Bhashkar
_______________________________________________ Net-snmp-users mailing list Net-snmp-users@lists.sourceforge.net Please see the following page to unsubscribe or change other options: https://lists.sourceforge.net/lists/listinfo/net-snmp-users