Re: Modifying same-table else-row, and other-data on row insert...

Paul Herring <[email protected]>
Newsgroups gmane.network.net-snmp.user
Message-ID <CAEWO_9THSSxOK8Mq-WsC6AEnVQhH4uMAoXH3S+u_oSeScZcC0Q@mail.gmail.com>
It's been over a month, and I realise Christmas and New Year have been in
the middle, but I'm just wondering if anyone had any thoughts on my problem
here...

It's less important now, since I've put a nasty, nasty, hack around it; by
putting the necessary work I wanted doing in the script that calls the
command to add rows the table instead, but it would be nice to know how I
should have done it properly.

Is there any information missing that I should have included in my original
request, that would enable anyone to help me, so if/when I come to modify
the module I can get rid of the hack?

On Thu, Dec 12, 2019 at 1:50 PM Paul Herring <[email protected]> wrote:

> TLDR: Programmatically...
> 1) How can I delete other 'unrelated' rows from a table when adding a row
> to that same table.
> 2) How can I read/write data elsewhere?
>
> ==
>
> Setup:
> I have a table with details of 'alarms' (think alerts) - one per line -
> with various data associated  with each alarm (id, source, other data.) in
> the columns
> I also have a set of scalars associated with this table under a group
> that's a sibling to the table. Things like max number of alarms to
> currently hold, and other meta data.
>
> myExampleAlarmHistory
> ..+..myExampleAlarmHistoryMeta
> ..|....+ myExampleAlarmHistoryMetaCount - max to hold
> ..|....+ myExampleAlarmHistoryMetaMin - min index used
> ..|....+ myExampleAlarmHistoryMetaMax - max index used
> ..|....` myExampleAlarmHistoryMetaNext - next index to use (?)
> ..`..myExampleAlarmHistoryTable - table
> .....`..myExampleAlarmHistoryEntry - entry for an alarm
> .........+..myExampleAlarmHistoryIndex - index
> .........+..myExampleAlarmHistoryId - data
> .........+..myExampleAlarmHistoryRuleId - data
>
> (Partial MIB for this available at https://pastebin.com/pVARXLsv)
>
> Every time an alarm happens, another line of the table is added (I have
> this bit working; both createAndGo and createAndWait - under the
> presumption that I know which index to add it under)
>
> However when that line is added (I'm presuming in
> myExampleAlarmHistoryTable_commit() in
> myExampleAlarmHistoryTable_data_set.c) what I'd like to do is
>
> 1) examine the scalar myExampleAlarmHistoryMetaCount to determine how many
> rows I should currently be holding (to compare with
> myExampleAlarmHistoryTable_container_size())
> 2) delete earlier rows if I currently hold too many
> 3) update the other scalars under myExampleAlarmHistoryMeta
>
> The code I'm working with was produced using mib2c.mfd.conf against
> myExampleAlarmHistoryTable, so it doesn't have direct sight of the sibling
> myExampleAlarmHistoryMeta group or anything in it.
>
> Is there any way of using the API to do these things, if so which
> functions do I need?
> Is there a canonical way of doing this? (My google-foo hasn't found any
> source code doing similar - are there any specific examples around?)
> Do I need to set up the code differently somehow?
>
>
> Possibly pertinent info:
> $ cat .mib2c-updaterc
> UPDATE_OID=myExampleAlarmHistoryTable
> UPDATE_CONF=mib2c.mfd.conf
>
> $ grep eval defaults/table-MyExampleAlarmHistoryTable.m2d
> @eval $m2c_context_reg = "netsnmp_data_list"@
> @eval $m2c_data_allocate = 0@
> @eval $m2c_data_cache = 0@
> @eval $m2c_data_context = "generated"@ [generated|NAME]
> @eval $m2c_data_init = 1@
> @eval $m2c_data_transient = 2@
> @eval $m2c_include_examples = 1@
> @eval $m2c_irreversible_commit = 0@
> @eval $m2c_table_access = "container-cached"@
> @eval $m2c_table_dependencies = 1@
> @eval $m2c_table_persistent = 1@
> @eval $m2c_table_row_creation = 1@
> @eval $m2c_table_settable = 1@
> @eval $m2c_table_skip_mapping = -1@
> @eval $m2c_table_sparse = 1@
> @eval $mfd_generate_makefile = 0@
> @eval $mfd_generate_subagent = 0@
>
> $ 2>/dev/null yum info net-snmp-perl | egrep -i "version|release"
> *Version     : 5.7.2*
> Release     : 43.el7
>
> --
> PJH
>
>

-- 
PJH

_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.