Adding row indices for a new table row created by a manager
"Homan, Dave" <[email protected]>
| Newsgroups | gmane.network.net-snmp.user |
|---|---|
| Message-ID | <A2A1310793A19942B3F8923D69C78D7A909091BF8A@MALIBU.sarnoff.internal> |
Hi all,
I am using NetSNMP 5.5, and have created a simple subagent using mib2c.create-dataset.conf to manage a table.
I've had great success using the table data set handler, but now I want to support row creation from an SNMP manager.
Can someone please clarify how (or if) table_dataset.c creates indices for new rows if the values are NOT specified in an SNMP SET request?
For example, given the eval table from RFC 2578 (see below), how would I create a new row from a manager, assuming I was running a subagent with handler code (created using mib2c.cretae-dataset.conf)? Note that evalIndex is read-only - this appears to be common in MIBs when using numeric indices. I can certainly set MAX-ACCESS of the evalIndex 'read-create' and simply supply the index value in the multivariable SET, but I kinda wanted to know how the big boys do it with a 'read-only' index.
I have been able to set all the other columnar objects (including the RowStatus column) using a multivariable snmpset (with no index value supplied). I can see the columnar values of the new row using snmpget.
I also tried setting the RowStatus value to 'active', thinking this might trigger some row index activity in the table data set handler. When I try to get the value of the index, I get a "no such instance message".
Regards,
Dave
Consider how one might define a conceptual table and its
subordinates. (This example uses the RowStatus textual convention
defined in [3].)
evalSlot OBJECT-TYPE
SYNTAX Integer32 (0..2147483647)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The index number of the first unassigned entry in the
evaluation table, or the value of zero indicating that
all entries are assigned.
A management station should create new entries in the
evaluation table using this algorithm: first, issue a
management protocol retrieval operation to determine the
value of evalSlot; and, second, issue a management
protocol set operation to create an instance of the
evalStatus object setting its value to createAndGo(4) or
createAndWait(5). If this latter operation succeeds,
then the management station may continue modifying the
instances corresponding to the newly created conceptual
row, without fear of collision with other management
stations."
::= { eval 1 }
evalTable OBJECT-TYPE
SYNTAX SEQUENCE OF EvalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The (conceptual) evaluation table."
::= { eval 2 }
evalEntry OBJECT-TYPE
SYNTAX EvalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (conceptual row) in the evaluation table."
INDEX { evalIndex }
::= { evalTable 1 }
EvalEntry ::=
SEQUENCE {
evalIndex Integer32,
evalString DisplayString,
evalValue Integer32,
evalStatus RowStatus
}
evalIndex OBJECT-TYPE
SYNTAX Integer32 (1..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The auxiliary variable used for identifying instances of
the columnar objects in the evaluation table."
::= { evalEntry 1 }
evalString OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The string to evaluate."
::= { evalEntry 2 }
evalValue OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value when evalString was last evaluated, or zero if
no such value is available."
DEFVAL { 0 }
::= { evalEntry 3 }
evalStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status column used for creating, modifying, and
deleting instances of the columnar objects in the
evaluation table."
DEFVAL { active }
::= { evalEntry 4 }
This message (and any attachments) contains Sarnoff proprietary information. Such information may be subject to the terms of confidentiality or other agreements. If you are not the named addressee, you should not disseminate, distribute, or copy this email. If you have received this email by mistake, please notify the sender immediately by email and delete this email from your system. If you are not the intended recipient, you are notified that disclosing, copying, distributing, or taking any action in reliance on the contents of this information is strictly prohibited.
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
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