INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007



Network Working Group                                       L. Ginsberg
Internet Draft                                               S. Previdi
Expiration Date: Aug 2007                                      M. Shand
                                                          Cisco Systems
                                                               Feb 2007





                Advertising Generic Information in IS-IS
                   draft-ginsberg-isis-genapp-00.txt


Status of this Memo


   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html



Abstract


   This draft describes the manner in which generic application
   information (i.e. information not directly related to the operation
   of the IS-IS protocol) SHOULD be advertised in IS-IS LSPs and
   defines guidelines which SHOULD be used when flooding such
   information.



Ginsberg                   Expires Aug 2007                  [Page 1]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


Table of Contents


   1. Conventions used in this document..........................2
   2. Overview...................................................2
   3. Encoding Format for GENINFO................................3
    3.1 GENINFO TLV .............................................3
    3.2 Use of subTLVs in GENINFO TLV............................5
   4. GENINFO Flooding Procedures................................6
    4.1 Leaking Procedures ......................................6
    4.2 Minimizing Update Confusion..............................7
    4.3 Interpreting Attribute Information ......................7
   5. Security Considerations....................................8
   6. IANA Considerations........................................8
   7. References.................................................8
    7.1 Normative References.....................................8
    7.2 Informative References...................................9
   8. Acknowledgments............................................9
   9. Authors' Addresses.........................................9
   10. Full Copyright Statement..................................9

1. Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [BCP14].

2. Overview

   [IS-IS] defines the format of TLVs which may be sent in IS-IS PDUs.
   The first octet of a TLV encodes the "type" or "codepoint" which
   provides a scope for the information and information format which
   follows. The protocol is therefore limited to 256 different
   codepoints which may be assigned. This number has proved generous as
   regards the information required for correct operation of the IS-IS
   protocol. However, the increasing use of IS-IS LSPs for
   advertisement of generic information (GENINFO) not directly related
   to the operation of the IS-IS protocol places additional demands on
   the TLV encoding space which has the potential to consume a
   significant number of TLV codepoints. This document therefore
   defines an encoding format for GENINFO which minimizes the
   consumption of TLV codepoints and also maximizes the flexibility of
   the formats which can be used to represent GENINFO.

   This document also discusses optimal behavior associated with the
   advertisement and flooding of LSPs containing GENINFO in order to
   avoid the advertisement of stale information and minimize the


Ginsberg                   Expires Aug 2007                  [Page 2]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


   presence of duplicate or conflicting information when advertisements
   are updated.

   The manner in which the information contained in GENINFO TLVs is
   exchanged between an instance of the IS-IS protocol and the
   application which generates/consumes the GENINFO is outside the
   scope of this specification.

   The use of the IS-IS flooding mechanism as a means of reliably and
   efficiently propagating information is understandably attractive.
   However, it is prudent to remember that the primary purpose of this
   mechanism is to flood information necessary for the correct
   operation of the IS-IS protocol. Use of this mechanism to propagate
   information not required for operation of the IS-IS protocol
   decreases the efficiency of the protocol and therefore may
   negatively impact routing. One of the most egregious oversights is a
   failure to appropriately dampen changes in the information to be
   advertised, which can lead to flooding storms and possibly
   destabilize routing. Documents which specify the use of the
   mechanisms defined here MUST define the expected rate of change of
   the information to be advertised.

3. Encoding Format for GENINFO

   The encoding format defined below has the following goals regarding
   the advertisement of GENINFO in IS-IS LSPs:

        o Minimize the number of codepoints required

        o Minimize the depth of subTLV levels required

    In order to support these goals, a new IANA registry is required.
    This registry is required to manage the assignment of IS-IS GENINFO
    Application Identifiers. These numbers are unsigned 16 bit numbers
    ranging in value from 1 to 65535. The registry is also required to
    manage the assignment of application specific subTLV codepoints.
    These numbers are unsigned 8 bit numbers ranging in value from 0 to
    255. The assignment of the subTLV codepoints is scoped by the
    Application Identifier.

3.1 GENINFO TLV

   The GENINFO TLV supports the advertisement of application specific
   information which is not directly related to the operation of the
   IS-IS protocol.







Ginsberg                   Expires Aug 2007                  [Page 3]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


         Type   251
         Length # of octets in the value field (3 to 255)
         Value

                                            No. of octets
             +-----------------------+
             | Flags                 |     1
             +-----------------------+
             | Application ID        |     2
             +-----------------------+
             | Application           |
             | IP Address Info       |     0 to 20
             +-----------------------+
             | Additional Application|     0 to (252 -
             |  Specific Information |     len of IP Address info)
             +-----------------------+


           Flags

                 0 1 2 3 4 5 6 7
                +-+-+-+-+-+-+-+-+
                |  Rsvd |V|I|D|S|
                +-+-+-+-+-+-+-+-+


                The following bit flags are defined.

                S bit (0x01): If the S bit is set(1), the GENINFO TLV
                MUST be flooded across the entire routing domain. If
                the S bit is not set(0), the TLV MUST NOT be leaked
                between levels. This bit MUST NOT be altered during the
                TLV leaking.

                D bit (0x02): When the GENINFO TLV is leaked from
                level-2 to level-1, the D bit MUST be set. Otherwise
                this bit MUST be clear. GENINFO TLVs with the D bit set
                MUST NOT be leaked from level-1 to level-2. This is to
                prevent TLV looping.

                I bit (0x04): When the I bit is set the 4 octet IPv4
                address associated with the application immediately
                follows the Application ID.

                V bit (0x08): When the V bit is set, the 16 octet IPv6
                address associated with the application immediately
                follows either the Application ID (if I bit is clear)
                or the IPv4 address (if I bit is set).


Ginsberg                   Expires Aug 2007                  [Page 4]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


           Application ID

                An identifier assigned to this application via the
                GENINFO-REG.

           Application IPv4 Address Info

                The IPv4 address associated with the application. This
                is not necessarily an address of a router running the
                IS-IS protocol.

           Application IPv6 Address Info

                The IPv6 address associated with the application. This
                is not necessarily an address of a router running the
                IS-IS protocol.

           Additional Application Specific Information

                Each application may define additional information to
                be encoded in a GENINFO TLV following the fixed
                information. Definition of such information is beyond
                the scope of this document.

   The Application ID in combination with the Application IPv4/IPv6
   Address Information uniquely identifies the GENINFO Application
   Context (GENINFO-CTX).

3.2 Use of subTLVs in GENINFO TLV

   [RFC3784] introduced the definition and use of subTLVs. One of the
   advantages of using subTLVs rather than fixed encoding of
   information inside a TLV is to allow for the addition of new
   information in a backwards compatible manner i.e. just as with TLVs,
   implementations are required to ignore subTLVs which they do not
   understand.

   GENINFO TLVs MAY include subTLVs in the application specific
   information as deemed necessary and appropriate for each
   application. The scope of the codepoints used in such subTLVs is
   defined by the GENINFO TLV codepoint AND the Application ID i.e. the
   subTLV codepoints are private to the application. Such subTLVs are
   referred to as APPSUBTLVs and MUST be assigned via the GENINFO-REG
   IANA registry.

   Additional levels of APPSUBTLVs may be required when there is
   variable information which is scoped by a specific APPSUBTLV. These
   "nested" subTLVs MUST be encoded in the same manner as subTLVs i.e.
   with a one-octet Type field, a one-octet Length field, and zero or



Ginsberg                   Expires Aug 2007                  [Page 5]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


   more octets of Value. These types MUST also be assigned via the
   GENINFO-REG IANA registry.

   The use of additional levels of subTLVs is discouraged due to the
   inherent inefficiency in encoding introduced because the parent
   subTLV must encode the nested subTLV length. While this inefficiency
   is small (one additional octet), it may be sufficient to extend the
   total information about a single application object beyond the
   carrying capacity of a single GENINFO TLV. Given that each
   Application ID can utilize the full range of subTLV codepoints (0 to
   255) without conflict with any other application, the need to be
   frugal in the use of APPSUBTLV codepoints is greatly reduced.

4. GENINFO Flooding Procedures

   This section describes procedures which apply to the propagation of
   LSPs which contain GENINFO TLVs. These procedures have been
   previously discussed in [IS-IS-CAP]. This section is intended to
   serve as a reference specification for future documents which define
   the use of GENINFO TLV(s) for a specific application - eliminating
   the need to repeat the definition of these procedures in the
   application specific documents.

   Each GENINFO TLV contains information regarding exactly one
   application instance as identified by the GENINFO-CTX. When it is
   necessary to advertise sets of information with the same GENINFO-CTX
   which have different flooding scopes, a router MUST originate a
   minimum of one GENINFO TLV for each required flooding scope. GENINFO
   TLVs which contain information having area/level scope will have the
   S bit clear. These TLVs MUST NOT be leaked into another level.
   GENINFO TLVs which contain information which has domain scope will
   have the S bit set. These TLVs MUST be leaked into other IS-IS
   levels. When a TLV is leaked from level-2 to level-1, the D bit MUST
   be set in the level-1 LSP advertisement.

4.1 Leaking Procedures

   When leaking GENINFO TLVs downward from Level-2 into Level-1, if the
   originator of the TLV is a Level-1 router in another area, it is
   possible that multiple copies of the same TLV may be received from
   multiple L2 routers in the originating area. A router performing
   downward leaking MUST check for such duplication by comparing the
   contents of the TLVs. The set of LSPs generated by a router for a
   given level MUST NOT contain two or more copies of the same GENTLV.

   In order to prevent the use of stale GENINFO information, a system
   MUST NOT use a GENINFO TLV present in an LSP of a system which is
   not currently reachable via Level-x paths, where "x" is the level (1
   or 2) associated with the LSP in which the GENINFO TLV appears. Note
   that leaking a GENINFO TLV is one of the uses which is prohibited


Ginsberg                   Expires Aug 2007                  [Page 6]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


   under these conditions. The following example illustrates what might
   occur in the absence of this restriction.

   Example: If Level-1 router A generates a GENINFO TLV and floods it
   to two L1/L2 routers S and T, they will flood it into the Level-2
   sub-domain. Now suppose the Level-1 area partitions, such that A and
   S are in one partition and T is in another. IP routing will still
   continue to work, but if A now issues a revised version of the
   GENINFO TLV, or decides to stop advertising it, S will follow suit,
   but T will continue to advertise the old version until the LSP times
   out.

   Routers in other areas have to choose whether to trust T's copy of
   A's GENINFO TLV or S's copy of A's information and they have no
   reliable way to choose. By making sure that T stops leaking A's
   information, this removes the possibility that other routers will
   use stale information from A.

4.2 Minimizing Update Confusion

   If an update to a TLV is advertised in an LSP with a different
   number than the LSP associated with the old advertisement, the
   possibility exists that other systems can temporarily have either 0
   copies of a particular advertisement or 2 copies of a particular
   advertisement, depending on the order in which new copies of the LSP
   which had the old advertisement and the LSP which has the new
   advertisement arrive at other systems.

   Whenever possible, an implementation SHOULD advertise the update to
   a GENINFO TLV in the LSP with the same number as the advertisement
   which it replaces. Where this is not possible, the two affected LSPs
   SHOULD be flooded as an atomic action.

   Systems which receive an update to an existing GENINFO TLV can
   minimize the potential disruption associated with the update by
   employing a holddown time prior to processing the update so as to
   allow for the receipt of multiple LSPs associated with the same
   update prior to beginning processing.

4.3 Interpreting Attribute Information

   Where a receiving system has two copies of a GENINFO TLV with the
   same GENINFO-CTX, attribute information in the two TLVs which does
   not conflict MUST be considered additive. When information in the
   two GENINFO TLVs conflicts i.e there are different settings for a
   given attribute, the procedure used to choose which copy shall be
   used is undefined.





Ginsberg                   Expires Aug 2007                  [Page 7]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


5. Security Considerations

   This document raises no new security issues for IS-IS.

6. IANA Considerations

   This document defines a new ISIS TLV that needs to be reflected in
   the ISIS TLV code-point registry:

    Type        Description                            IIH   LSP   SNP
    ----        -----------------------------------    ---   ---   ---
    251         Generic Information                     n     y     n

   This document also defines a new registry which needs to be created.

   The new registry is required to manage two types of assigned
   numbers:

   1)Application Identifiers which may be used in the Generic
   Information TLV. These identifiers are unsigned 16 bit numbers
   ranging in value from 1 to 65535.

   2)Application specific subTLV codepoints which may be used in a
   GENINFO TLV when a specific Application Identifier is used. These
   numbers are unsigned 8 bit numbers ranging in value from 0 to 255.

7. References

7.1 Normative References

   [IS-IS] ISO, "Intermediate system to Intermediate system routeing
     information exchange protocol for use in conjunction with the
     Protocol for providing the Connectionless-mode Network Service
     (ISO 8473)," ISO/IEC 10589:2002, Second Edition.

   [RFC3784] Smit, H. and T. Li, "Intermediate System to Intermediate
     System (IS-IS) Extensions for Traffic Engineering (TE)", RFC
     3784, June 2004.

   [BCP9] Bradner, S., "The Internet Standards Process -- Revision
     3", BCP 9, RFC 2026, October 1996.

   [BCP14] Bradner, S., "Key words for use in RFCs to Indicate
     Requirement Levels", BCP 14, RFC 2119, March 1997

   [BCP26] Narten, T. and Alvestrand, H., "Guidelines for Writing an
     IANA Considerations Section in RFCs", BCP 26 , RFC 2434, October
     1998



Ginsberg                   Expires Aug 2007                  [Page 8]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


   [BCP79] Bradner, S. Ed., "Intellectual Property Rights in IETF
     Technology ", BCP 79 , RFC 3979, March 2005

7.2 Informative References

   [IS-IS-CAP] Vasseur, JP., Shen N., and Aggarwal, R., "IS-IS
     extensions for advertising router information", draft-ietf-isis-
     caps-06.txt, January 2006

8. Acknowledgments

   The authors would like to thank JP Vasseur and David Ward for
   providing the need to produce this document.

9. Authors' Addresses


   Les Ginsberg
   Cisco Systems
   510 McCarthy Blvd.
   Milpitas, Ca. 95035 USA
   Email: ginsberg@cisco.com


   Stefano Previdi
   CISCO Systems, Inc.
   Via Del Serafico 200
   00142 - Roma
   ITALY
   Email: sprevidi@cisco.com

   Mike Shand
   Cisco Systems
   250 Longwater Avenue,
   Reading,
   Berkshire,
   RG2 6GB
   UK
   Email: mshand@cisco.com


10. Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on


Ginsberg                   Expires Aug 2007                  [Page 9]


INTERNET DRAFT Advertising Generic Information in IS-IS      Feb 2007


   an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
   REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE
   IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL
   WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY
   WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE
   ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS
   FOR A PARTICULAR PURPOSE.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph
   are included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the IETF Trust or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the IETF Trust or its successors or assigns.

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed
   to pertain to the implementation or use of the technology described
   in this document or the extent to which any license under such
   rights might or might not be available; nor does it represent that
   it has made any independent effort to identify any such rights.
   Information on the procedures with respect to rights in RFC
   documents can be found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use
   of such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository
   at http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.






Ginsberg                   Expires Aug 2007                 [Page 10]