| .\" -*- nroff -*- |
| .\" Portions of this file are subject to the following copyright. See |
| .\" the Net-SNMP COPYING file for more details and other copyrights |
| .\" that may apply: |
| .\" /*********************************************************** |
| .\" Copyright 1988, 1989 by Carnegie Mellon University |
| .\" |
| .\" All Rights Reserved |
| .\" |
| .\" Permission to use, copy, modify, and distribute this software and its |
| .\" documentation for any purpose and without fee is hereby granted, |
| .\" provided that the above copyright notice appear in all copies and that |
| .\" both that copyright notice and this permission notice appear in |
| .\" supporting documentation, and that the name of CMU not be |
| .\" used in advertising or publicity pertaining to distribution of the |
| .\" software without specific, written prior permission. |
| .\" |
| .\" CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING |
| .\" ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL |
| .\" CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR |
| .\" ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, |
| .\" WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, |
| .\" ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS |
| .\" SOFTWARE. |
| .\" ******************************************************************/ |
| .TH VARIABLES 5 "01 Oct 2010" VVERSIONINFO "Net-SNMP" |
| .SH NAME |
| variables - Format of specifying variable names to SNMP tools. |
| .SH DESCRIPTION |
| The syntax and semantics of management information in SNMP is |
| given by the definitions of MIB objects, loaded from one or more |
| MIB files (or "MIB modules"). These definitions are not strictly |
| required for the SNMP protocol to operate correctly, but are typically |
| needed by SNMP client applications to display information in a |
| meaningful manner. |
| |
| The MIB file also serves as a design document when developing an SNMP |
| agent (or sub-agent) that provides this information, and ensures that |
| client and server share a common understanding about what management |
| information represents. |
| |
| .SH OIDs |
| MIB objects are specified using Object Identifiers (OIDs), which can |
| take a number of forms. Note that all of the examples in this section |
| refer to the same MIB object. |
| .SS Numeric OIDs |
| The fundamental format of an OID is a sequence of integer values |
| (or "subidentifiers"), typically written using dots to separate |
| the individual subidentifiers. |
| .RS |
| .1.3.6.1.2.1.1.1 |
| .RE |
| This is the format that is used within the SNMP protocol itself, |
| in the packets that are sent over the network. |
| .PP |
| This form of representing an OID does not require MIB files or MIB |
| object definitions to be available. However it does rely on the |
| client application and/or network administrator knowing what a |
| given numeric OID refers to. As such, it is not a particularly |
| helpful representation to anyone just starting out with SNMP. |
| .PP |
| This format can be obtained by giving the command-line option |
| -On |
| to most Net-SNMP commands. |
| |
| .SS Full OID path |
| A similar (but somewhat more informative) format uses the same |
| dotted list representation, but with the numeric subidentifiers |
| replaced by names, taken from the relevant MIB file(s). |
| .RS |
| .iso.org.dod.internet.mgmt.mib-2.system.sysDescr |
| .RE |
| This uniquely identifies a particular MIB object (as with the numeric |
| OID), but the list of names should hopefully give some indication as |
| to what information this object represents. However it does rely on |
| the relevant MIB files being available (as do all formats other than |
| the purely numeric OID). Such OIDs also tend to be fairly long! |
| .PP |
| This format can be obtained by giving the command-line option |
| -Of |
| to most Net-SNMP commands. |
| .PP |
| A variant of this (typically used when writing OIDs in descriptive |
| text, rather than running programs), is to combine the name and |
| numeric subidentifier: |
| .RS |
| .iso(1).org(3).dod(6).internet(1).mgmt(2).mib-2(1).system(1).sysDescr(1) |
| .RE |
| |
| .SS Module-qualified OIDs |
| An alternative way to (more-or-less) uniquely specify an OID, |
| is to give the name of the MIB object, together with the MIB |
| module where it is defined. |
| .RS |
| SNMPv2-MIB::sysDescr |
| .RE |
| MIB object names are unique within a given module, so as long |
| as there are not two MIB modules with the same name (which is |
| unusual, though not unheard of), this format specifies the |
| desired object in a reasonably compact form. It also makes |
| it relatively easy to find the definition of the MIB object. |
| .PP |
| This is the default format for displaying OIDs in Net-SNMP applications. |
| It can also be specified explicitly by giving the command-line option |
| -OS |
| to most Net-SNMP commands. |
| |
| .SS Object name |
| Possibly the most common form for specifying MIB objects is |
| using the name of the object alone - without the full path or |
| the name of the module that defines it. |
| .RS |
| sysDescr |
| .RE |
| This is by far the shortest and most convenient way to refer to |
| a MIB object. However the danger is that if two MIB modules each |
| define a MIB object with the same name (which is perfectly legal |
| in some circumstances), then it's not necessarily clear which MIB |
| object is actually meant. |
| For day-to-day use, particularly when using standard MIB objects, |
| this is \fIprobaby\fP safe. |
| But it's important to be aware of the potential ambiguities. |
| .PP |
| This format can be obtained by giving the command-line option |
| -Os |
| to most Net-SNMP commands. |
| |
| .SS UCD-format |
| Previous versions of the code (UCD v4.x and earlier) used a |
| simple approach to shortening the way OIDs were specified. |
| If the full path of the OID began with |
| \fC.iso.org.dod.internet.mgmt.mib-2\fP |
| then this prefix was removed from the OID before displaying it. |
| All other OIDs were displayed in full. |
| .PP |
| Similarly, if an OID was passed to the UCD library that did |
| not begin with a dot (and wasn't in the module::name format), |
| then the same prefix was prepended. The example OID from the |
| formats listed above would therefore be given or displayed as |
| .RS |
| system.sysDescr |
| .RE |
| The inconsistent handling of OIDs, depending on their location |
| within the OID tree, proved to be more trouble than it was worth, |
| and this format is no longer recommended. |
| .PP |
| The previous behaviour can be obtained by giving the command-line |
| option |
| -Ou |
| (for displaying output), or |
| -Iu |
| (for interpreting input OIDs without a leading dot) |
| to most Net-SNMP commands. |
| .\" |
| .\" ==================================== |
| .\" |
| .\" ToDo: |
| .\" Instances: |
| .\" Scalars |
| .\" Tables & indexing |
| .\" string indexes - 'abc' vs "abc" |
| '\" Internal objects |
| .\" |
| .\" ? Syntax types |
| .\" |
| .\" ==================================== |
| .\".PP |
| .\"The description of the variables in the MIB is given in the set of MIB |
| .\"files defined by the MIBS environment variable (or the default list |
| .\"defined at compilation time) and the MIB files in the |
| .\"DATADIR/snmp/mibs directory (or the MIBDIRS environment variable). |
| .SH "SEE ALSO" |
| snmpcmd(1) |
| .SH BUGS |
| The parser of the MIB files file is not expected to handle bizarre |
| (although correct) interpretations of the ASN.1 notation. |
| |
| |