tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search

RFC 8038

 
 
 

Exporting MIB Variables Using the IP Flow Information Export (IPFIX) Protocol

Part 3 of 4, p. 39 to 65
Prev Section       Next Section

 


prevText      Top      ToC       Page 39 
6.  Example Use Cases

6.1.  Non-columnar MIB Object: Established TCP Connections

   The number of established TCP connections of a remote network device
   could be monitored by configuring it to periodically export the
   number of established TCP connections to a centralized Collector.  In
   this example, the Exporter would export an IPFIX Message every
   30 minutes that contained Data Records detailing the number of
   established TCP connections.

   The table of data that is to be exported looks like:

            +-------------------------+-----------------------+
            |        TIMESTAMP        | ESTABLISHED TCP CONN. |
            +-------------------------+-----------------------+
            | StartTime +   0 seconds |           10          |
            | StartTime +  60 seconds |           14          |
            | StartTime + 120 seconds |           19          |
            | StartTime + 180 seconds |           16          |
            | StartTime + 240 seconds |           23          |
            | StartTime + 300 seconds |           29          |
            +-------------------------+-----------------------+

                   Table 2: Established TCP Connections

Top      Up      ToC       Page 40 
   The Template Record for such a Data Record will provide details for
   the following two Information Elements:

   1.  flowStartSeconds from [IANA-IPFIX], Information Element 150: The
       absolute timestamp of the first packet of this Flow.

   2.  tcpCurrEstab from [RFC4022], Object ID "1.3.6.1.2.1.6.9": The
       number of TCP connections for which the current state is either
       ESTABLISHED or CLOSE-WAIT.

   Figure 20 shows the exported Template Set detailing the
   Template Record for exporting the number of established TCP
   connections.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 2           |          Length = 16          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 400       |        Field Count = 2        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0|   IE = flowStartSeconds     |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0|   IE = mibObjectValueGauge  |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              Figure 20: Example of tcpCurrEstab Template Set

Top      Up      ToC       Page 41 
   Figure 21 shows the exported MIB Field Options Template Set detailing
   the metadata that will be exported about the mibObjectValueGauge
   Information Element in Template 400 in Template Record.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 22          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 401       |        Field Count = 3        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Scope Field Count = 2        |0| IE = templateId             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = informationElementIndex|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibObjectIdentifier    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Figure 21: Example of tcpCurrEstab MIB Field Options Template Set

   Figure 22 shows the exported MIB Field Options Data Set detailing the
   metadata that will be exported about the mibObjectValueGauge
   Information Element in Template 400 in Template Record.

   The OID for the MIB object tcpCurrEstab from [RFC4022], Object ID
   "1.3.6.1.2.1.6.9", will be encoded in ASN.1/BER [X.690] as
   "06072B060102010609" in the Data Record, which takes 9 octets.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 401         |          Length = 18          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 400       | informationElementIndex = 1   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   VLEN = 9    | mibObjectIdentifier ...                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ... mibObjectIdentifier = "1.3.6.1.2.1.6.9" ...         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   ... 06072B060102010609 ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

       Figure 22: Example of tcpCurrEstab MIB Field Options Data Set

Top      Up      ToC       Page 42 
   Figure 23 shows the start of the Data Set for exporting the number of
   established TCP connections (see Section 6.1).

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 400         |          Length = 52          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    StartTime +   0 seconds                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              10                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    StartTime +  60 seconds                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              14                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    StartTime + 120 seconds                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              19                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    StartTime + 180 seconds                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              16                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    StartTime + 240 seconds                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              23                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                    StartTime + 300 seconds                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              29                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 23: Example of tcpCurrEstab Data Set

6.2.  Enterprise-Specific MIB Object: Detailing CPU Load History

   For the sake of demonstration, an enterprise-specific MIB object from
   the CISCO-PROCESS-MIB [CISCO-PROCESS-MIB] is chosen.  This example
   would be valid with any enterprise-specific MIB module.

   The CPU usage of a remote network device with one CPU could be
   monitored by configuring it to periodically export CPU usage
   information, i.e., the cpmCPUTotal1minRev from the proprietary
   CISCO-PROCESS-MIB, Object ID "1.3.6.1.4.1.9.9.109.1.1.1.1.7", to a
   centralized Collector.

Top      Up      ToC       Page 43 
   Although the cpmCPUTotal1minRev MIB object is a columnar object in a
   conceptual row, if there is only one CPU no extra information is
   conveyed by providing the index field.  So, in this case, it is
   acceptable to not export the cpmCPUTotalIndex MIB object.  If there
   were multiple CPUs, it would be appropriate to include the
   cpmCPUTotalIndex field and specify the relationship.

   In this example, the Exporter would export an IPFIX Message every
   30 minutes that contained Data Records detailing the CPU 1-minute
   busy average at 1-minute intervals.

   The table of data that is to be exported looks like:

             +-------------------------+---------------------+
             |        TIMESTAMP        | CPU BUSY PERCENTAGE |
             +-------------------------+---------------------+
             | StartTime +   0 seconds |         10%         |
             | StartTime +  60 seconds |         14%         |
             | StartTime + 120 seconds |         19%         |
             | StartTime + 180 seconds |         16%         |
             | StartTime + 240 seconds |         23%         |
             | StartTime + 300 seconds |         29%         |
             +-------------------------+---------------------+

                          Table 3: CPU Usage Data

   The Template Record for such a Data Record will provide details for
   the following two Information Elements:

   1.  flowStartSeconds from [IANA-IPFIX], Information Element 150: The
       absolute timestamp of the first packet of this Flow.

   2.  A mibObjectValueGauge for cpmCPUTotal1minRev, the overall CPU
       busy percentage in the last 1-minute period.

Top      Up      ToC       Page 44 
   Figure 24 shows the exported Template Set detailing the
   Template Record for exporting CPU Load (see Section 6.2).

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 2           |          Length = 16          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 402       |        Field Count = 2        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0|   IE = flowStartSeconds     |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0|   IE = mibObjectValueGauge  |        Field Length = 1       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 24: Example of CPU Load Template Set

   Figure 25 shows the exported Template Set detailing the MIB Field
   Options Template for exporting CPU Load (see Section 6.2).  Note:
   This is identical to the MIB Field Options Template given in
   Figure 21, so the same Template could have been reused.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 22          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 403       |        Field Count = 3        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = templateId             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = informationElementIndex|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibObjectIdentifier    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

       Figure 25: Example of CPU Load MIB Field Options Template Set

   Figure 26 shows the exported MIB Field Options Data Set detailing the
   metadata that will be exported about the mibObjectValueGauge
   Information Element in Template 402 in Template Record (see
   Section 6.2).

   The OID for the cpmCPUTotal1minRev has been encoded using ASN.1/BER
   to "060D2B0601040109096D0101010107" at 15 octets long.

Top      Up      ToC       Page 45 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 403         |          Length = 24          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 402       | informationElementIndex = 1   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   VLEN = 15   |  mibObjectIdentifier                     ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              "1.3.6.1.4.1.9.9.109.1.1.1.1.7"             ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               060D2B0601040109096D0101010107             ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                          ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Figure 26: Example of CPU Load MIB Field Options Data Set

   Note that although cpmCPUTotal1minRev is 32 bits long, reduced-size
   encoding [RFC7011] has been used to encode it within a single octet.
   The encoding size was specified by setting the length for the
   mibObjectValueGauge field to 1 octet in the main Data Template; see
   Figure 24.

   This example stresses that, even though the OID cpmCPUTotal1minRev is
   enterprise-specific, the E bit for the mibObjectValueGauge and
   mibObjectIdentifier is set to 0, because the mibObjectValueGauge and
   mibObjectIdentifier Information Elements are not enterprise-specific.
   That this data is from an Enterprise MIB is included in the OID that
   includes an Enterprise ID.

   The corresponding Data Set does not add any value for this example
   and is therefore not displayed.

6.3.  Exporting a Conceptual Row: The OSPF Neighbor Row

   Many conceptual tables are already defined in standard and
   proprietary MIBs.  These can be exported with a minimum of overhead
   by using the mibObjectValueRow.  This allows the Exporting Process to
   unambiguously define the INDEX for the entire conceptual row as the
   Scope Fields of an Options Template Set.  The use of a MIB Field
   Options Template with mibSubIdentifier being used means that each
   individual columnar object does not need to have its OID exported to
   the Collector.

Top      Up      ToC       Page 46 
   The ospfNbrTable, defined in the OSPF MIB [RFC4750], consists of
   ospfNbrEntry, which has the OID "1.3.6.1.2.1.14.10.1".  Each
   mibObjectValueRow Data Record will therefore correspond to an
   ospfNbrEntry.

   The following fields will be exported:

   +------------------+----------------+-------------------------+-----+
   | Object           | ID             | mibObjectValue          | Len |
   +------------------+----------------+-------------------------+-----+
   | ospfNbrIpAddr    | ospfNbrEntry 1 | mibObjectValueIPAddress |  4  |
   | ospfNbrAddress-  | ospfNbrEntry 2 | mibObjectValueInteger   |  4  |
   | -LessIndex       |                |                         |     |
   | ospfNbrRtrId     | ospfNbrEntry 3 | mibObjectValueIPAddress |  4  |
   | ospfNbrState     | ospfNbrEntry 6 | mibObjectValueInteger   |  1  |
   +------------------+----------------+-------------------------+-----+

                   Table 4: OSPF Neighbor Entry Objects

   The OIDs that will be used to export this table are shown in Table 5.

    +------------------+-----------------------+---------------------+
    | Entity           | Full OID              | Exported as         |
    +------------------+-----------------------+---------------------+
    | ospfNbrEntry     | 1.3.6.1.2.1.14.10.1   | 1.3.6.1.2.1.14.10.1 |
    | ospfNbrIpAddr    | 1.3.6.1.2.1.14.10.1.1 | 1                   |
    | ospfNbrAddress-  | 1.3.6.1.2.1.14.10.1.2 | 2                   |
    | -LessIndex       |                       |                     |
    | ospfNbrRtrId     | 1.3.6.1.2.1.14.10.1.3 | 3                   |
    | ospfNbrState     | 1.3.6.1.2.1.14.10.1.6 | 6                   |
    +------------------+-----------------------+---------------------+

                            Table 5: OSPF OIDs

   Figure 27 shows the Templates exported to support the
   mibObjectValueRow.  Figure 28 shows the example OID Data for the
   conceptual row exported in mibObjectValueRow.  Figure 29 shows the
   example data export for a few neighbors in the table; Figure 29 also
   shows a Data Record formatted as per IPFIX Structured Data [RFC6313]
   and using the "undefined" (= 0xFF) semantic from the "IPFIX
   Structured Data Types Semantics" subregistry [IANA-IPFIX].  Note that
   the OID for ospfNbrEntry has been encoded using ASN.1/BER to
   "06082B060102010E0A01" at 10 octets long.

Top      Up      ToC       Page 47 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 2           |          Length = 12          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 500       |         Field Count = 1       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibObjectValueRow      |         Field Length = 16     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 26          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 501       |        Field Count = 4        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = mibObjectValueIPAddress|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 4       |0| IE = mibObjectValueInteger  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 4       |0| IE = mibObjectValueIPAddress|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 4       |0| IE = mibObjectValueInteger  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 1       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                     |       Set ID = 3              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Length = 22          |      Template ID = 502        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Count = 3        |  Scope Field Count = 2        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = templateId             |        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = informationElementIndex|        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibObjectIdentifier    |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Top      Up      ToC       Page 48 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 22          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 503       |        Field Count = 3        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = templateId             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = informationElementIndex|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibSubIdentifier       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 27: Example of ospfNbrEntry Template and Options Template Sets

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 502         |          Length = 20          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 500       | informationElementIndex = 0   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   VLEN = 10   | mibObjectIdentifier = "1.3.6.1.2.1.14.10.1"   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                  06082B060102010E0A01                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                               | Padding = 0   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 503         |          Length = 28          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       templateId = 501        |  informationElementIndex = 0  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     mibSubIdentifier = 1      |        templateId = 501       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  informationElementIndex = 1  |      mibSubIdentifier = 2     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       templateId = 501        |  informationElementIndex = 2  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     mibSubIdentifier = 3      |        templateId = 501       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  informationElementIndex = 3  |      mibSubIdentifier = 6     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Figure 28: Example of ospfNbrEntry OID Data Export

Top      Up      ToC       Page 49 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 500         |          Length = 52          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 501         |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrIpAddr = 192.0.2.1               |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrAddressLessIndex = 0             |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrRtrId = 1.1.1.1                  |ospfNbrState=8 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 501         |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrIpAddr = 192.0.2.2               |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrAddressLessIndex = 0             |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrRtrId = 2.2.2.2                  |ospfNbrState=8 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 501         |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrIpAddr = 192.0.2.3               |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrAddressLessIndex = 0             |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrRtrId = 3.3.3.3                  |ospfNbrState=1 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

            Figure 29: Example of Data Export for ospfNbrEntry

6.4.  Exporting Augmented Conceptual Row: Mapping IF-MIB ID to Name

   The ifTable, defined in the IF-MIB [RFC2863], is augmented by the
   ifXTable (defined in the same MIB module).

   The OID of the ifEntry is 1.3.6.1.2.1.2.2.1, which is encoded using
   ASN.1/BER to "06082B06010201020201" at 10 octets long, while the OID
   of the augmenting ifXEntry is 1.3.6.1.2.1.31.1.1.1, which is encoded
   using ASN.1/BER to "060A2B060102011F01010101" at 12 octets long.

   This example demonstrates how columnar objects from the base
   conceptual row and the augmenting row can be exported in a single
   mibObjectValueRow Information Element.

Top      Up      ToC       Page 50 
   Table 6 shows the fields that will be exported.

        +---------+------------------+-------+-------------------+
        | ifIndex | ifType           | ifMtu | ifName            |
        +---------+------------------+-------+-------------------+
        | 1       | ethernetCsmacd:6 | 1500  | Ethernet 10       |
        | 2       | ethernetCsmacd:6 | 1500  | Ethernet 20       |
        | 3       | ethernetCsmacd:6 | 1500  | FastEthernet 30   |
        +---------+------------------+-------+-------------------+

                           Table 6: IF-MIB Data

   The OIDs that will be used to export this table are shown in Table 7.

   +---------+------------------------+--------------------------------+
   | Entity  | Full OID               | Exported as                    |
   +---------+------------------------+--------------------------------+
   | ifEntry | 1.3.6.1.2.1.2.2.1      | OID   = 1.3.6.1.2.1.2.2.1      |
   | ifIndex | 1.3.6.1.2.1.2.2.1.1    | subID = 1                      |
   | ifType  | 1.3.6.1.2.1.2.2.1.3    | subID = 3                      |
   | ifMtu   | 1.3.6.1.2.1.2.2.1.4    | subID = 4                      |
   | ifName  | 1.3.6.1.2.1.31.1.1.1.1 | OID   = 1.3.6.1.2.1.31.1.1.1.1 |
   +---------+------------------------+--------------------------------+

                           Table 7: IF-MIB OIDs

   Figure 30 shows the Templates exported to support the
   mibObjectValueRow Information Element.  Figure 31 shows the example
   OID Data for the conceptual row exported in mibObjectValueRow to
   match Table 7.  Figure 32 shows the example data export as per
   Table 6.

Top      Up      ToC       Page 51 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 2           |          Length = 12          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 600       |         Field Count = 1       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibObjectValueRow      |         Field Length = 24     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 26          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 601       |        Field Count = 4        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 1       |0| IE = mibObjectValueInteger  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 1       |0| IE = mibObjectValueInteger  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibObjectValueInteger  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0|IE =mibObjectValueOctetString|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                     |       Set ID = 3              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Length = 22          |      Template ID = 602        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Count = 3        |   Scope Field Count = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = templateId             |        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = informationElementIndex|        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibObjectIdentifier    |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Top      Up      ToC       Page 52 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 22          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 603       |        Field Count = 3        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = templateId             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = informationElementIndex|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibSubIdentifier       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

           Figure 30: Example of Augmented ifEntry Template and
                           Options Template Sets

Top      Up      ToC       Page 53 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 602         |          Length = 40          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 600       | informationElementIndex = 0   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   VLEN = 10   | mibObjectIdentifier ...                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              ifEntry = 1.3.6.1.2.1.2.2.1                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              06082B06010201020201             |   Padding = 0 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        templateId = 601       | informationElementIndex = 3   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   VLEN = 12   | mibObjectIdentifier ifName ...                |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              ifName = 1.3.6.1.2.1.31.1.1.1.1                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              060A2B060102011F01010101                         |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               |                  Padding = 0                  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 603         |          Length = 22          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       templateId = 601        |  informationElementIndex = 0  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     mibSubIdentifier = 1      |        templateId = 601       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  informationElementIndex = 1  |      mibSubIdentifier = 3     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       templateId = 601        |  informationElementIndex = 2  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     mibSubIdentifier = 4      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Figure 31: Example of Augmented ifEntry OID Data Export

Top      Up      ToC       Page 54 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 600         |          Length = 68          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 601         | ifIndex = 1   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ifType = 6              |        ifMtu = 1500           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Length = 11  |      ifName = Ethernet 10                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        ...                                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        ...                                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 601         | ifIndex = 2   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ifType = 6              |        ifMtu = 1500           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Length = 11  |      ifName = Ethernet 20                     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        ...                                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        ...                                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 601         | ifIndex = 3   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ifType = 6              |        ifMtu = 1500           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Length = 15  |      ifName = FastEthernet 30                 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        ...                                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        ...                                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        ...                                    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Figure 32: Example of Data Export for Augmented ifEntry

Top      Up      ToC       Page 55 
6.5.  Exporting a Columnar Object: ipIfStatsInForwDatagrams

   It may be that the full set of columnar objects that are supported by
   a conceptual row are not required to be exported.  Rather than use
   the IPFIX Structured Data [RFC6313] method, the mibIndexIndicator
   method can be used to provide the relationship between fields.

   This example shows the MIB objects that are part of the INDEX of the
   conceptual row being exported in the correct order and then being
   referred to by using mibIndexIndicator.

   This example shows the export of ipIfStatsInForwDatagrams from the
   IP-MIB [RFC4293].  ipIfStatsInForwDatagrams is a columnar object that
   is part of the ipIfStatsTable conceptual table.  This is comprised of
   ipIfStatsEntry conceptual rows.

   The ipIfStatsTable conceptual table is indexed by ipIfStatsIPVersion
   and ipIfStatsIfIndex.

   The Options Template Record for the example Data Record contains the
   following Information Elements:

   1.  ipIfStatsIPVersion (1.3.6.1.2.1.4.31.3.1.1) (Scope Field)
       (encoded using ASN.1/BER to "060A2B06010201041F030101" at
       12 octets long)

   2.  ipIfStatsIfIndex (1.3.6.1.2.1.4.31.3.1.2) (Scope Field)
       (encoded using ASN.1/BER to "060A2B06010201041F030102" at
       12 octets long)

   3.  ipIfStatsInForwDatagrams (1.3.6.1.2.1.4.31.3.1.12) (non-Scope
       Field)
       (encoded using ASN.1/BER to "060A2B06010201041F03010C" at
       12 octets long)

   Note that ipIfStatsIfIndex has been reduced-size encoded to 2 octets
   in the following example.  An exporting device with more interfaces
   would use the full length.

Top      Up      ToC       Page 56 
   Figure 33 shows the exported Options Template Set.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 22          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 701       |        Field Count = 3        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     Scope Field Count = 2     |0|Scope 1=mibObjectValueInteger|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field 1 Length = 1    |0|Scope 2=mibObjectValueInteger|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field 1 Length = 2    |0| IE = mibObjectValueCounter  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |           Field Length = 4    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Figure 33: Example of an Options Template for an Indexed MIB Object
                          with Two Index Objects

   Figure 34 shows the exported MIB Field Options Template used to
   export the required mibObjectValue Information Element metadata.
   This example of the MIB Field Options Template includes the
   mibIndexIndicator to indicate that some of the other fields in the
   Data Records are index objects.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 26          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 702       |        Field Count = 4        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = templateId             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = informationElementIndex|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibIndexIndicator      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 1       |0| IE = mibObjectIdentifier    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Figure 34: Example of a MIB Field Options Template for an Indexed
                     MIB Object with Two Index Objects

Top      Up      ToC       Page 57 
   Figure 35 shows the exported MIB Field Options Data used to export
   the required mibObjectValue Information Element metadata.  Note that
   the first two Data Records have all their mibIndexIndicator bits set
   to 0.  The third mibIndexIndicator has the value "00000011" to show
   that the first two fields in the Data Record are the INDEXes for this
   columnar object.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 702         |          Length = 58          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 701       | informationElementIndex = 0   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Index 00000000 | VLEN = 12     | mibObjectIdentifier       ... |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              "1.3.6.1.2.1.4.31.3.1.1"                     ... |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               060A2B06010201041F030101                    ... |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                               |        templateId = 701       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | informationElementIndex = 1   |Index 00000000 |   VLEN = 12   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  mibObjectIdentifier = "1.3.6.1.2.1.4.31.3.1.2"           ... |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                         060A2B06010201041F030102          ... |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                                           ... |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        templateId = 701       | informationElementIndex = 2   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | Index 00000011 |  VLEN = 12   | mibObjectIdentifier      ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                  "1.3.6.1.2.1.4.31.3.1.12"               ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                   060A2B06010201041F03010C               ...  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Figure 35: Example of a MIB Field Options Data Set for an Indexed
                     MIB Object with Two Index Objects

Top      Up      ToC       Page 58 
   Figure 36 shows the Data Records that export the values of the three
   mibObjectValue Information Elements.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 701         |          Length = 18          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     | ipVer = 1     |     ifIndex = 10              |  ...          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    InForwDatagrams = 10000                    | ipVer = 2     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |    ifIndex = 10               | InForwDatagrams = 20000       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             ...               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 36: Example of a MIB Data Set for an Indexed MIB Object
                          with Two Index Objects

6.6.  Exporting a Columnar Object Indexed by Information Elements:
      ifOutQLen

   If a Packet Sampling (PSAMP) Packet Report [RFC5476] was generated on
   any dropped packets on an interface, then it may be desirable to know
   if the send queue on the output interface was full.  This could be
   done by exporting the size of the send queue (ifOutQLen) in the same
   Data Record as the PSAMP Packet Report.

   The exported data looks like:

   +-----------+-----------+---------+--------------+------------------+
   |  SRC ADDR |  DST ADDR | PKT LEN |    OUTPUT    | OUTPUT QUEUE LEN |
   |           |           |         |  INTERFACE   |   (ifOutQLen)    |
   +-----------+-----------+---------+--------------+------------------+
   | 192.0.2.1 | 192.0.2.3 |   150   | Eth 1/0 (15) |        45        |
   | 192.0.2.4 | 192.0.2.9 |   350   | Eth 1/0 (15) |        45        |
   | 192.0.2.3 | 192.0.2.9 |   650   | Eth 1/0 (15) |        23        |
   | 192.0.2.4 | 192.0.2.6 |   350   | Eth 1/1 (16) |         0        |
   +-----------+-----------+---------+--------------+------------------+

         Table 8: Packet Report with Interface Output Queue Length
                             (ifOutQLen) Data

   The ifOutQLen MIB object, defined in the IF-MIB [RFC2863], provides
   the length of the output packet queue.  This columnar object is part
   of the ifEntry conceptual row and indexed by the interface index
   (ifIndex).

Top      Up      ToC       Page 59 
   This relationship between the ifOutQLen field and the index field is
   exported using mibIndexIndicator in the MIB Field Options Template.
   The value of "00001000" flags the index fields concisely.

   The Template Record for the example Data Record contains the
   following Information Elements:

   1.  sourceIPv4Address

   2.  destinationIPv4Address

   3.  totalLengthIPv4

   4.  egressInterface

   5.  ifOutQLen (indexed by egressInterface)

   Figure 37 shows the exported Template Set detailing the Template for
   exporting a PSAMP Report with ifOutQLen.  Figures 38 and 39 show the
   MIB Field Options Template and Data Record.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 2           |          Length = 28          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 703       |        Field Count = 5        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = sourceIPv4Address      |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = destinationIPv4Address |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = totalLengthIPv4        |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = egressInterface        |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibObjectValueGauge    |        Field Length = 4       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     Figure 37: Example of Template for a PSAMP Report with ifOutQLen
                        Indexed by egressInterface

Top      Up      ToC       Page 60 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 26          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 704       |        Field Count = 4        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = templateId             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = informationElementIndex|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibIndexIndicator      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 1       |0| IE = mibObjectIdentifier    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Figure 38: Example of MIB Field Options Template for a PSAMP Report
                 with ifOutQLen Indexed by egressInterface

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 704         |          Length = 21          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 703       | informationElementIndex = 4   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Index 00001000  | VLEN = 11    | mibObjectIdentifier    ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |             "1.3.6.1.2.1.2.2.1.21"                     ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |              06092B0601020102020115                    ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |               |
     +-+-+-+-+-+-+-+-+

      Figure 39: Example of MIB Field Options Data Record for a PSAMP
             Report with ifOutQLen Indexed by egressInterface

   The corresponding IPFIX Data Record is shown in Figure 40.  For the
   sake of the example, the interface index of "Eth 1/0" is 15 and the
   interface index of "Eth 1/1" is 16.

Top      Up      ToC       Page 61 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 703         |          Length = 84          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.1                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.3                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             150                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        15 (Eth 1/0)                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              45                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.4                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.9                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             350                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        15 (Eth 1/0)                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              45                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.3                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.9                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             650                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        15 (Eth 1/0)                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              23                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.4                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                          192.0.2.6                            |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                             350                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        16 (Eth 1/1)                           |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                               0                               |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         Figure 40: Example of PSAMP Packet Report with ifOutQLen
                        Indexed by egressInterface

Top      Up      ToC       Page 62 
6.7.  Exporting with Multiple Contexts: The OSPF Neighbor Row Revisited

   If the context used to export the MIB objects is the default one, no
   extra context fields are required.  This example demonstrates how to
   handle the case when the context needs to be specified.  It is based
   on the previous example (Section 6.3).

   The OSPF details of the conceptual row that was exported per
   Section 6.3 would be suitable if there were only one OSPF process
   running at the Observation Point.  If multiple OSPF processes are
   present, then they can be differentiated by also exporting the
   mibContextEngineID and mibContextName.

   The following fields will be exported:

   +------------------+----------------+-------------------------+-----+
   | Object           | ID             | mibObjectValue          | Len |
   +------------------+----------------+-------------------------+-----+
   | ospfNbrIpAddr    | ospfNbrEntry 1 | mibObjectValueIPAddress |  4  |
   | ospfNbrAddress-  | ospfNbrEntry 2 | mibObjectValueInteger   |  4  |
   | -LessIndex       |                |                         |     |
   | ospfNbrRtrId     | ospfNbrEntry 3 | mibObjectValueIPAddress |  4  |
   | ospfNbrState     | ospfNbrEntry 6 | mibObjectValueInteger   |  1  |
   +------------------+----------------+-------------------------+-----+

                   Table 9: OSPF Neighbor Entry Objects

   The example contextEngineID matches the example from [RFC3411] for
   Acme Networks: "'800002B804616263'H (enterprise 696, string "abc")".

   Figure 41 shows the Templates exported to support a mibObjectValueRow
   that is defined within a context.  Figure 42 shows the example OID
   Data for the conceptual row exported in mibObjectValueRow.  These are
   unchanged from the previous example (Section 6.3).  Figure 43 shows
   the example data for two OSPF neighbors.  Although these have
   identical INDEX/scope values, the context information indicates that
   they come from different OSPF processes.  Note that the OID for
   ospfNbrEntry has been encoded using ASN.1/BER to
   "06082B060102010E0A01" at 10 octets long.

Top      Up      ToC       Page 63 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 2           |          Length = 20          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 800       |         Field Count = 3       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibContextEngineID     |         Field Length = 8      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibContextName         |         Field Length = 4      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibObjectValueRow      |         Field Length = 16     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 26          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 801       |        Field Count = 4        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = mibObjectValueIPAddress|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 4       |0| IE = mibObjectValueInteger  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 4       |0| IE = mibObjectValueIPAddress|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 4       |0| IE = mibObjectValueInteger  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 1       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                     |       Set ID = 3              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Length = 22          |      Template ID = 802        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Count = 3        |  Scope Field Count = 2        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = templateId             |        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = informationElementIndex|        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| IE = mibObjectIdentifier    |        Field Length = 65535   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Top      Up      ToC       Page 64 
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 3           |          Length = 22          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 803       |        Field Count = 3        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   Scope Field Count = 2       |0| IE = templateId             |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = informationElementIndex|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |0| IE = mibSubIdentifier       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |        Field Length = 2       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Figure 41: Example of ospfNbrEntry Template and Options Template Sets
                               with Context

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 802         |          Length = 20          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       Template ID = 800       | informationElementIndex = 2   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |   VLEN = 10   | mibObjectIdentifier = "1.3.6.1.2.1.14.10.1"   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                     06082B060102010E0A01                      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                                               | Padding = 0   |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 803         |          Length = 28          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       templateId = 801        |  informationElementIndex = 0  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     mibSubIdentifier = 1      |        templateId = 801       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  informationElementIndex = 1  |      mibSubIdentifier = 2     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       templateId = 801        |  informationElementIndex = 2  |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |     mibSubIdentifier = 3      |        templateId = 801       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  informationElementIndex = 3  |      mibSubIdentifier = 6     |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 42: Example of ospfNbrEntry OID Data Export with Context

Top      Up      ToC       Page 65 
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |          Set ID = 800         |          Length = 60          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  mibContextEngineID = 800002B804616263                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  ... mibContextEngineID                                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  mibContextName = con1                                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 801         |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrIpAddr = 192.0.2.1               |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrAddressLessIndex = 0             |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrRtrId = 1.1.1.1                  |ospfNbrState=8 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  mibContextEngineID = 800002B804616263                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  ... mibContextEngineID                                       |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  mibContextName = con2                                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |Semantic=0xFF  |     Template ID = 801         |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrIpAddr = 192.0.2.2               |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrAddressLessIndex = 0             |        ...    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |       ospfNbrRtrId = 2.2.2.2                  |ospfNbrState=8 |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Figure 43: Example of Data Export for ospfNbrEntry with Context



(page 65 continued on part 4)

Next Section