Subject: [MIB-DOCTORS] FW: RFC1213 updates

From: "David B Harrington" <[email-masked]>
Date: Thu, 25 Aug 2011 08:35:36 -0400

-----Original Message-----
From: David Harrington [mailto:[email-masked]] 
Sent: Wednesday, August 24, 2011 12:27 PM
To: [email-masked]; 'The IESG'
Cc: 'Romascanu, Dan (Dan)'; 'Ronald Bonica'
Subject: RFC1213 updates

Hi,

the RFC index does not report that 1573/2233/2863 update RFC1213.
RFC2011 updates RFC1213 by extracting the IP group into an IP-MIB.
RFC2012 updates RFC1213 by extracting the TCP group into a TCP-MIB.
RFC2013 updates RFC1213 by extracting the UDP group into a UDP-MIB.
Since RFC1573 extracts the interfaces group into an IF-MIB, shouldn't
RFC1573 update RFC1213 as well?
Since RFC1354 extracts the IP Forwarding Table into an IP Forwarding
Table MIB, shouldn't it update RFC1213 as well?

It appears that sometime after RFC1573 was published, a decision was
made that these extractions should be labeled as updates.

While this may seem unimportant administration upkeep, I have run
across a number of uses of ifIndex in new work that ignore the "minor"
changes wrought to the ifIndex semantics by RFC1573 and RFC2233. 

RFC1573 says "this MIB module
   also re-specifies the 'interfaces' group of MIB-II in a manner
which
   is both compliant to the SNMPv2 SMI and semantically-identical to
the
   existing SNMPv1-based definitions." 
and
"This MIB consists of 5 tables:

   ifTable
        This table is the ifTable from MIB-II."
and 
" The solution adopted in this memo is to delete the requirement that
   the value of ifIndex must be less than the value of ifNumber, and
to
   retain ifNumber with its current definition.  It could be argued
that
   this is a change in the semantics of ifIndex; however, all existing
   implementations conform to this new definition, and in the
interests
   of not requiring changes in existing implementations and in the
many
   existing media-specific MIBs, it is proposed that this change does
   not require ifIndex to be deprecated."
and
"   ifMIB MODULE-IDENTITY
       LAST-UPDATED "9311082155Z"
       ORGANIZATION "IETF Interfaces MIB Working Group"
       [...]
       DESCRIPTION
               "The MIB module to describe generic objects for
               network interface sub-layers.  This MIB is an updated
               version of MIB-II's ifTable, and incorporates the
               extensions defined in RFC 1229."
       ::= { mib-2 31 }
"

Sounds like an official "updates" is appropriate here, given the
re-specification of the interfaces group from MIB-II (RFC1213) to a
separate IF-MIB, and the changes to ifIndex, even if ifIndex is not
deprecated.

Note that RFC2011, which updates RFC1213, explicitly refers to
RFC1573's ifIndex rather than RFC1213's ifIndex.
Note that RFC4293, which obsolete's RFC2011, explicitly refers to
IF-MIB's ifIndex rather than RFC1213's ifIndex.

RFC2233 obsoletes RFC1573. RFC2233 says very clearly about a change to
ifIndex that it makes, "This is a minor change in the semantics of
ifIndex"). 
ifIndex is originally defined in RFC1213, but the RFC database doesn't
reflect this update to RFC1213 definitions either.

These minor changes to the semantics of IfIndex, due to hot-swapping
and other dynamic assignments, impact an application's ability to rely
on the persistence of ifIndex assignments to interfaces, but many new
documents - including MIB modules, YANG modules, and other protocols -
utilize ifIndex as a persistent identifier for an interface. 

Shouldn't the RFC database reflect these updates to RFC1213?
It's only meta-data, so it shouldn't have any impact on
implementations. But new documents that use ifIndex should reference
the updated ifIndex, including the "minor changes" to its semantics,
not the original RFC1213 ifIndex.

David Harrington
Director, IETF Transport Area
[email-masked] (preferred for ietf)
[email-masked]
+1 603 828 1401 (cell)