On Tue, Sep 17, 2019 at 4:51 PM Bill Fenner <fen...@gmail.com> wrote:
>
> On Tue, Sep 17, 2019 at 4:27 AM Krishna Chaitanya <chaitanya.m...@gmail.com> 
> wrote:
>>
>> On Tue, Sep 17, 2019 at 5:18 AM Bill Fenner <fen...@gmail.com> wrote:
>> >
>> > You can do this if you use snmp_varlist_add_variable() to create the index 
>> > info (you can't use netsnmp_table_helper_add_indexes).  The code would be 
>> > something like
>> >
>> >     table_info = SNMP_MALLOC_TYPEDEF( netsnmp_table_registration_info );
>> >     snmp_varlist_add_variable(&table_info->indexes,
>> >                                   NULL,
>> >                                   0,
>> >                                   ASN_TYPE_OF_IFACE_NAME,
>> >                                   NULL,
>> >                                   0);
>> >     snmp_varlist_add_variable(&table_info->indexes,
>> >                                   NULL,
>> >                                   0,
>> >                                   ASN_IMPLIED_OCTET_STR,
>> >                                   "XXXXXX",
>> >                                   6);
>> >     snmp_varlist_add_variable(&table_info->indexes,
>> >                                   NULL,
>> >                                   0,
>> >                                   ASN_TYPE_OF_HIST_CLASS,
>> >                                   NULL,
>> >                                   0);
>> >     snmp_varlist_add_variable(&table_info->indexes,
>> >                                   NULL,
>> >                                   0,
>> >                                   ASN_TYPE_OF_HISTBIN_INDEX,
>> >                                   NULL,
>> >                                   0);
>> >
>> Thanks, Bill. I was using  "netsnmp_table_set_add_indexes" for the
>> initial addition (don't have access to index_data but only type),
>
>
> You should be able to replace "table_info" above by "tset->table" and add the 
> 4 calls to snmp_varlist_add_variable in place of the call to 
> "netsnmp_table_set_add_indexes".
Yes.
>> and then when the data is available I either use
>> "netsnmp_table_dataset_replace_row/netsnmp_table_dataset_add_row"
>> using the API "netsnmp_table_row_add_index" for index.
>
>
> This will continue to work.  The real difference is setting vp->val_len in 
> the indexes that you supply when you're registering the table.  For most 
> types this is not relevant but for the ASN_PRIV_IMPLIED types if you do not 
> set the length, as you saw it will consume the whole rest of the data and not 
> parse the indexes from the OID after that.
Okay, I will try that, in my case the Len is fixed anyway.


_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to