Subject: RFC 4293 (IP MIB) errata

From: Alfred Hönes <[email-masked]>
Date: Fri, 7 Jul 2006 21:05:15 +0200 (MESZ)

Hello,
I'd like to send you a few notes on textual issues I found
studying the recently published RFC 4293 (IP MIB) edited by you.

( Admittedly, very few textual issues are left there, in an RFC
  of such extraneous size! )

I use change bars ('|' in column 1) to emphasize the location
of textual issues and/or proposed changes in the text snippits.
Modified text is re-adjusted to conform with RFC formatting rules.

(1)  inappropriate unit for bandwith

Throughout the annotating RFC text and the DESCRIPTION clauses
in the MIB module, erroneously an inappropriate physical unit
is used for the bandwidth of interfaces.
  'MB'   = Megabytes  = 2**10 Bytes
is only useful to measure storage volume.
Certainly,
  'Mbps' = Megabits per second = 10**6 bits per second
           [ Note the lowercase 'b' ! ]
should be used to measure the bandwidth of interfaces.

To correct this issue, the following corrections should be applied
to RFC 4293:

(1a)

The second paragraph of Section 3.2.11, on page 10, says:

   The circumstances used in the compliance section are implementing
   IPv4, IPv6, or IPv6 router functions and having a bandwidth of less
   than 20MB, between 20MB and 650MB, or greater than 650MB.

It should say:

   The circumstances used in the compliance section are implementing
   IPv4, IPv6, or IPv6 router functions and having a bandwidth of less
|  than 20Mbps, between 20Mbps and 650Mbps, or greater than 650Mbps.

(1b)

The DESCRIPTION clause of the ipSystemStatsHCOctetGroup, on page 87,
says:

           "This group is mandatory for systems that have an aggregate
            bandwidth of greater than 20MB.  Including this group does
            not allow an entity to neglect the 32 bit versions of these
            objects."

It should say:

           "This group is mandatory for systems that have an aggregate
|           bandwidth of greater than 20Mbps.  Including this group does
            not allow an entity to neglect the 32 bit versions of these
            objects."

(1c)

The DESCRIPTION clause of the ipSystemStatsHCPacketGroup,
on page 87/88, says:

           "This group is mandatory for systems that have an aggregate
            bandwidth of greater than 650MB.  Including this group
<< page break >>
            does not allow an entity to neglect the 32 bit versions of
            these objects."

It should say:

           "This group is mandatory for systems that have an aggregate
|           bandwidth of greater than 650Mbps.  Including this group
<< page break >>
            does not allow an entity to neglect the 32 bit versions of
            these objects."

(1d)

The DESCRIPTION clause of the ipIfStatsHCOctetGroup, on page 88,
says:

           "This group is mandatory for systems that include the
            ipIfStatsGroup and include links with bandwidths of greater
            than 20MB.  Including this group does not allow an entity to
            neglect the 32 bit versions of these objects."

It should say:

           "This group is mandatory for systems that include the
            ipIfStatsGroup and include links with bandwidths of greater
|           than 20Mbps.  Including this group does not allow an entity
            to neglect the 32 bit versions of these objects."

(1e)

The DESCRIPTION clause of the ipIfStatsHCPacketGroup, on page 88,
says:

           "This group is mandatory for systems that include the
            ipIfStatsGroup and include links with bandwidths of greater
            than 650MB.  Including this group does not allow an entity
            to neglect the 32 bit versions of these objects."

It should say:

           "This group is mandatory for systems that include the
            ipIfStatsGroup and include links with bandwidths of greater
|           than 650Mbps.  Including this group does not allow an entity
            to neglect the 32 bit versions of these objects."

(1f)

The DESCRIPTION clause of the ipv4SystemStatsHCPacketGroup,
onpage 88, says:

           "This group is mandatory for all systems supporting IPv4 and
            that have an aggregate bandwidth of greater than 650MB.
            Including this group does not allow an entity to neglect the
            32 bit versions of these objects."

It should say:

           "This group is mandatory for all systems supporting IPv4 and
|           that have an aggregate bandwidth of greater than 650Mbps.
            Including this group does not allow an entity to neglect the
            32 bit versions of these objects."

(2)  improperly replicated description text

On page 35, the DESCRIPTION clauses of the ipSystemStatsOutFragReqds
OBJECT-TYPE and the ipSystemStatsOutFragOKs OBJECT-TYPE erroneously
contain identical clauses.

After analysis of the context it becomes apparent that the
DESCRIPTION clause of the ipSystemStatsOutFragReqds OBJECT-TYPE,

           "The number of IP datagrams that would require fragmentation
            in order to be transmitted.

            When tracking interface statistics, the counter of the
            outgoing interface is incremented for a successfully
            fragmented datagram.

            [...]

in fact should say:

           "The number of IP datagrams that would require fragmentation
            in order to be transmitted.

            When tracking interface statistics, the counter of the
|           outgoing interface is incremented for a datagram requiring
|           fragmentation.

            [...]

(Note: The original text is appropriate in the DESCRIPTION clause of
 the ipSystemStatsOutFragOKs OBJECT-TYPE, where it appears again.)

(3)  improperly replicated description text

On page 36, the DESCRIPTION clause of the ipSystemStatsOutFragCreates
OBJECT-TYPE says:

           "The number of output datagram fragments that have been
            generated as a result of IP fragmentation.

            When tracking interface statistics, the counter of the
|           outgoing interface is incremented for a successfully
|           fragmented datagram.

            [...]

Obviously, the second sentence contradicts the first one.
( Apparently, this is an un-edited copy from the DESCRIPTION clauses
  mentioned above, in item (2), that needs editing to be appropriate.)

Therefore, the RFC should say:

           "The number of output datagram fragments that have been
            generated as a result of IP fragmentation.

            When tracking interface statistics, the counter of the
            outgoing interface is incremented for a successfully
|           created datagram fragment.

            [...]

(4)  improperly replicated description text

On page 52, a "mirror" of issue (2) recurs, for the Interface
Statistics.

The DESCRIPTION clause of the ipIfStatsOutFragReqds OBJECT-TYPE
says:

           "The number of IP datagrams that would require fragmentation
            in order to be transmitted.

            When tracking interface statistics, the counter of the
|           outgoing interface is incremented for a successfully
|           fragmented datagram.

            [...]

It should say:

           "The number of IP datagrams that would require fragmentation
            in order to be transmitted.

            When tracking interface statistics, the counter of the
|           outgoing interface is incremented for a datagram requiring
|           fragmentation.

            [...]

(5)  improperly replicated description text

On page 53, a "mirror" of issue (3) recurs, for the Interface
Statistics.

The DESCRIPTION clause of the ipIfStatsOutFragCreates OBJECT-TYPE
says:

           "The number of output datagram fragments that have been
            generated as a result of IP fragmentation.

            When tracking interface statistics, the counter of the
|           outgoing interface is incremented for a successfully
|           fragmented datagram.

            [...]

It should say:

           "The number of output datagram fragments that have been
            generated as a result of IP fragmentation.

            When tracking interface statistics, the counter of the
            outgoing interface is incremented for a successfully
|           created datagram fragment.

            [...]

(6)  wrong object name

On page 60, the DESCRIPTION clause of the ipAddressPrefixType
OBJECT-TYPE,

           "The address type of ipAddressPrefix."

mentions an object that does not exist in the MIB module.
That clause in fact should say:

|          "The address type of ipAddressPrefixPrefix."

(7)  two typos

On page 76, there are two typos in the ipDefaultRouterPreference
OBJECT-TYPE invocation:

The DESCRIPTION clause,

           "An indication of preference given to this router as a
            default router as described in he Default Router
            Preferences document.  [...]

should say:

           "An indication of preference given to this router as a
|           default router as described in the Default Router
            Preferences document.  [...]
                                          ^^
And the clause,

    REFERENCE "RFC 4291, section 2.1"

should say:

|   REFERENCE "RFC 4191, section 2.1"
                    ^

(Otherwise, Ref. [8] would not have been needed at all!)

I propose that you submit an Author's Errata Note for RFC 4293
to address these issues, making freely use of the material
presented above -- or just state your consent to this message
to the RFC Editor.

Best regards,
  Alfred Hönes.

-- 

+------------------------+--------------------------------------------+
| TR-Sys Alfred Hoenes   |  Alfred Hoenes   Dipl.-Math., Dipl.-Phys.  |
| Gerlinger Strasse 12   |  Phone: (+49)7156/9635-0, Fax: -18         |
| D-71254  Ditzingen     |  E-Mail:  [email-masked]                     |
+------------------------+--------------------------------------------+