IS-IS for IP Internets                                          C. Hopps
Internet-Draft                                               L. Ginsberg
Intended status: Standards Track                           Cisco Systems
Expires: July 8, 2010                                    January 4, 2010


                         IS-IS BFD Enabled TLV
                       draft-ietf-isis-bfd-tlv-02

Abstract

   This document describes a TLV for use in the IS-IS routing protocol
   that allows for the proper use of the Bidirectional Forwarding
   Detection protocol (BFD).  There exist certain scenarios in which
   IS-IS will not react appropriately to a BFD detected forwarding plane
   failure without use of either this TLV or some other method.

Requirements Language

   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 [RFC2119].

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and 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/ietf/1id-abstracts.txt.

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

   This Internet-Draft will expire on July 8, 2010.

Copyright Notice




Hopps & Ginsberg          Expires July 8, 2010                  [Page 1]


Internet-Draft            IS-IS BFD Enabled TLV             January 2010


   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the BSD License.


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  The Solution  . . . . . . . . . . . . . . . . . . . . . . . . . 3
     3.1.  State Definitions . . . . . . . . . . . . . . . . . . . . . 4
     3.2.  Adjacency Establishment and Maintenance . . . . . . . . . . 4
     3.3.  Advertisement of Topology Specific IS Neighbors . . . . . . 5
   4.  Transition  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Graceful Restart  . . . . . . . . . . . . . . . . . . . . . . . 6
   6.  The BFD Enabled TLV . . . . . . . . . . . . . . . . . . . . . . 6
   7.  Security Considerations . . . . . . . . . . . . . . . . . . . . 6
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 7
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . . . 7
     10.1. Normative References  . . . . . . . . . . . . . . . . . . . 7
     10.2. Informative References  . . . . . . . . . . . . . . . . . . 8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 8



















Hopps & Ginsberg          Expires July 8, 2010                  [Page 2]


Internet-Draft            IS-IS BFD Enabled TLV             January 2010


1.  Introduction

   The Bidirectional Forwarding Detection protocol [I-D.ietf-bfd-base]
   is a protocol that allows for detection of a forwarding plane failure
   between two routers.  A router can use [I-D.ietf-bfd-base] to
   validate that a peer router's forwarding ability is functioning.

   One specific application of BFD as described in
   [I-D.ietf-bfd-generic] is to verify the forwarding ability of an
   IS-IS [RFC1195] router's adjacencies; however, the method described
   in [I-D.ietf-bfd-generic] does not allow for certain failure
   scenarios.  We will define a TLV that will allow for proper response
   to the detection of all forwarding failures where the use of BFD is
   employed with IS-IS.


2.  The Problem

   We observe that to allow for mixed use (i.e., some routers running
   BFD and some not) [I-D.ietf-bfd-generic] does not require a BFD
   session be established prior to the establishment of an IS-IS
   adjacency.  Thus, if a router A has neighbors B and C, and B does not
   support BFD, A would still form adjacencies with B and C, and would
   only establish a BFD session with C.

   The problem with this solution is that it assumes that the
   transmission and receipt of IS-IS IIHs shares fate with forwarded
   data packets.  This is not a fair assumption to make given that the
   primary use of BFD is to protect IPv4 (and IPv6) forwarding and IS-IS
   does not utilize IPv4 or IPv6 for sending or receiving its hellos.

   Thus, if we consider our previous example, and if C is currently
   experiencing an IPv4 forwarding failure that allows for IS-IS IIHs to
   be sent and received, when A first starts (or restarts) A will assume
   that C simply does not support BFD, will form an adjacency with C,
   and may incorrectly forward IPv4 traffic through C.


3.  The Solution

   A simple solution to this problem is for an IS-IS router to advertise
   that it has BFD enabled on a given interface.  It can do this through
   the inclusion of a TLV in its IIHs, and indeed that is our proposal.

   When sending an IIH on a BFD enabled interface, a router which
   supports this extension MUST include the BFD enabled TLV in its IIH.
   The contents of the TLV MUST indicate what topologies/protocols
   [RFC5120] have been enabled for BFD by including the appropriate



Hopps & Ginsberg          Expires July 8, 2010                  [Page 3]


Internet-Draft            IS-IS BFD Enabled TLV             January 2010


   MTID/NLPID pairs.

   When sending an IIH on an interface on which BFD is NOT enabled a
   router MUST NOT include the BFD enabled TLV.

3.1.  State Definitions

   The following definitions apply to each IS-IS neighbor:

   For each locally supported MTID/NLPID pair, an
   ISIS_TOPO_NLPID_BFD_REQUIRED variable is assigned.  If BFD is
   supported by both the local system and the neighbor for the MTID/
   NLPID this variable is set to TRUE.  Otherwise the variable is set to
   FALSE.

   For each locally supported MTID, an ISIS_TOPO_BFD_REQUIRED variable
   is set to the logical OR of all ISIS_TOPO_NLPID_BFD_REQUIRED
   variables associated with that MTID.

   An ISIS_BFD_REQUIRED variable is set to the logical AND of all
   ISIS_TOPO_BFD_REQUIRED variables.

   For each locally supported MTID/NLPID pair, an ISIS_TOPO_NLPID_STATE
   variable is assigned.  If ISIS_TOPO_NLPID_BFD_REQUIRED is TRUE, this
   variable follows the BFD session state for that MTID/NLPID (UP ==
   TRUE).  Otherwise the variable is set to TRUE.

   For each locally supported topology (MTID), an ISIS_TOPO_USEABLE
   variable is set to the logical AND of the set of
   ISIS_TOPO_NLPID_STATE variables associated with that MTID.

   An ISIS_NEIGHBOR_USEABLE variable is set to the logical OR of all
   ISIS_TOPO_USEABLE variables.

3.2.  Adjacency Establishment and Maintenance

   Whenever ISIS_BFD_REQUIRED is TRUE the following extensions to the
   rules for adjacency establishment and maintenance MUST apply:

   o  ISIS_NEIGHBOR_USEABLE MUST be TRUE before the adjacency can
      transition from INIT to UP state

   o  When the IS-IS adjacency is UP and ISIS_NEIGHBOR_USEABLE becomes
      FALSE the IS-IS adjacency MUST transition to DOWN.

   o  On a Point-to-Point circuit whenever ISIS_NEIGHBOR_USEABLE is
      FALSE, the Three-Way adjacency state MUST be set to DOWN in the
      Point-to-Point Three Way Adjacency TLV[RFC5303] in all transmitted



Hopps & Ginsberg          Expires July 8, 2010                  [Page 4]


Internet-Draft            IS-IS BFD Enabled TLV             January 2010


      IIHs.

   o  On a LAN circuit whenever ISIS_NEIGHBOR_USEABLE is FALSE, the IS
      Neighbors TLV advertising the MAC address of the neighbor MUST be
      omitted in all transmitted IIHs.

3.3.  Advertisement of Topology Specific IS Neighbors

   The advertisement of a topology specific IS-neighbor (as well as the
   use of the neighbor in the topology specific decision process) is
   determined by the value of ISIS_TOPO_USEABLE for each topology.  If
   ISIS_TOPO_USEABLE is TRUE then the topology specific neighbor is
   advertised.  If ISIS_TOPO_USEABLE is FALSE then the topology specific
   neighbor is NOT advertised.


4.  Transition

   To allow for a non-disruptive transition to the use of BFD some
   amount of time should be allowed before bringing down an UP adjacency
   on a BFD enabled interface when the value of ISIS_BFD_REQUIRED
   becomes TRUE as a result of the introduction of the BFD TLV or the
   modification (by adding a new supported MTID/NLPID) of an existing
   BFD TLV in a neighbor's IIH.  A simple way to do this is to not
   update the adjacency hold-time when receiving such an IIH from a
   neighbor with whom we have an UP adjacency until
   ISIS_NEIGHBOR_USEABLE becomes TRUE.

   If the value of ISIS_BFD_REQUIRED becomes FALSE as a result of the
   removal the BFD TLV or the modification (by removing a supported
   MTID/NLPID) of an existing BFD TLV in a neighbor's IIH then BFD
   session establishment is no longer required to maintain the adjacency
   or transition the adjacency to the UP state.

   If a BFD session is administratively shut down [I-D.ietf-bfd-base]
   and the BFD session state change impacts the value of
   ISIS_NEIGHBOR_USEABLE, then IS-IS SHOULD allow time for the
   corresponding MTID/NLPID to be removed from the neighbor's BFD TLV by
   not updating the adjacency hold time until ISIS_BFD_REQUIRED becomes
   FALSE.  Note that while this allows a non-disruptive transition, it
   still enforces consistency between the administrative state of the
   BFD session and the MTID/NLPID(s) advertised in the BFD TLV.  This is
   necessary to provide consistent behavior regardless of whether the
   BFD AdminDown state is introduced before or after an IS-IS adjacency
   UP state has been achieved.






Hopps & Ginsberg          Expires July 8, 2010                  [Page 5]


Internet-Draft            IS-IS BFD Enabled TLV             January 2010


5.  Graceful Restart

   It is worth considering what if anything should be done when IS-IS is
   gracefully restarting [RFC5306].

   In cases where BFD shares fate with the control plane, it can be
   expected that BFD session failure may occur in conjunction with the
   control plane restart.  In such cases premature abort of IS-IS
   graceful restart as a result of BFD session failure is undesirable.
   Therefore, some mechanism to ignore the BFD session failure for a
   limited period of time would be beneficial.  How this is implemented
   is beyond the scope of this document.  Consult [I-D.ietf-bfd-generic]
   for further details.


6.  The BFD Enabled TLV

   The BFD enabled TLV is formatted as shown below.  The TLV SHALL only
   be included in an IS-IS IIH PDU and only when BFD is enabled for one
   or more supported MTID/protocols on the interface over which the IIH
   is being sent.  The NLPIDs encoded in the TLV are defined in
   [ISO9577]

     Type   139 (suggested - to be assigned by IANA)
     Length # of octets in the value field (3 to 255)
     Value  three octets specifying the MTID/NLPID for each
            topology/data protocol for which BFD support is enabled

                                          No. of octets
                +-----------------------+
                |R|R|R|R|   MTID        |     2
                +-----------------------+
                |      NLPID            |     1
                +-----------------------+
                :                       :
                :                       :
                +-----------------------+
                |R|R|R|R|   MTID        |     2
                +-----------------------+
                | NLPID                 |     1
                +-----------------------+


7.  Security Considerations

   The TLV defined within this document describes an addition to the
   IS-IS Hello protocol and does not impact the security mechanism of
   the IS-IS protocol.



Hopps & Ginsberg          Expires July 8, 2010                  [Page 6]


Internet-Draft            IS-IS BFD Enabled TLV             January 2010


8.  IANA Considerations

   The following IS-IS TLV type is defined by this draft.

   Name                                  Value  IIH   LSP  SNP
   ----------------------                -----  ---   ---  ---
   BFD Enabled TLV                         139   y     n    n

   Please update the IS-IS TLV Codepoint Registry accordingly.

   Note to RFC Editor: this section may be removed on publication as an
   RFC.


9.  Acknowledgements

   The authors wish to thank Jeffrey Haas, Matthew Jones, Dave Katz,
   Jonathan Moon, Stefano Previdi, Mike Shand, Michael Shiplett and
   David Ward, for various input on this document.


10.  References

10.1.  Normative References

   [ISO9577]  International Organization for Standardization, "Protocol
              identification in the network layer(ISO/IEC 9577)", ISO/
              IEC 9577:1999, Fourth Edition, Dec 1999.

   [RFC1195]  Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
              dual environments", RFC 1195, December 1990.

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

   [RFC5120]  Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
              Topology (MT) Routing in Intermediate System to
              Intermediate Systems (IS-ISs)", RFC 5120, February 2008.

   [RFC5303]  Katz, D., Saluja, R., and D. Eastlake, "Three-Way
              Handshake for IS-IS Point-to-Point Adjacencies", RFC 5303,
              October 2008.

   [RFC5306]  Shand, M. and L. Ginsberg, "Restart Signaling for IS-IS",
              RFC 5306, October 2008.






Hopps & Ginsberg          Expires July 8, 2010                  [Page 7]


Internet-Draft            IS-IS BFD Enabled TLV             January 2010


10.2.  Informative References

   [I-D.ietf-bfd-base]
              Katz, D. and D. Ward, "Bidirectional Forwarding
              Detection", draft-ietf-bfd-base-09 (work in progress),
              February 2009.

   [I-D.ietf-bfd-generic]
              Katz, D. and D. Ward, "Generic Application of BFD",
              draft-ietf-bfd-generic-05 (work in progress),
              February 2009.


Authors' Addresses

   Christian E. Hopps
   Cisco Systems
   170 W. Tasman Dr.
   San Jose, California  95134
   USA

   Email: chopps@cisco.com


   Les Ginsberg
   Cisco Systems
   510 McCarthy Blvd.
   Milpitas, Ca.  95035
   USA

   Email: ginsberg@cisco.com




















Hopps & Ginsberg          Expires July 8, 2010                  [Page 8]