Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8038

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

Pages: 85
Proposed Standard
Part 3 of 4 – Pages 39 to 65
First   Prev   Next

Top   ToC   RFC8038 - Page 39   prevText

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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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   ToC   RFC8038 - 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