Network working group                                            J. Dong
Internet Draft                                                   M. Chen
Intended status: Standards Track                     Huawei Technologies
Expires: September 1, 2010                              A. Suryanarayana
                                                        Juniper Networks

                                                           March 1, 2010



                Subcodes for BGP Finite State Machine Error


                     draft-dong-idr-fsm-subcode-00.txt


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 September 1, 2010.

Copyright Notice

   Copyright (c) 2009 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,




Dong, et al.          Expires September 1, 2010               [Page 1]


Internet-Draft          BGP FSM Error Subcode               March 2010


   as they describe your rights and restrictions with respect to this
   document.

Abstract

   This document defines several subcodes for BGP Finite State Machine
   Error that could provide more information to help network operators
   in diagnosing BGP FSM issues and correlating network events. It also
   provides a mechanism for BGP speaker to notify its peer the reason
   for last time session flap after the session comes up again.

Table of Contents


   1. Introduction.................................................2
   2. Conventions used in this document............................2
   3. Definition of Finite State Machine Error Subcodes............3
   4. Usage of FSM Error Subcodes..................................3
   5. BGP Session Information Capability...........................4
   6. Operation of BGP Session Information Capability..............5
   7. Security Considerations......................................6
   8. IANA Considerations..........................................6
   9. Contributors.................................................6
   10. Acknowledgements............................................7
   11. References..................................................7
      11.1. Normative References...................................7
      11.2. Informative References.................................7
   12. Authors' Addresses..........................................8

1. Introduction

   This document defines several subcodes for BGP Finite State Machine
   Error that could provide more information to help network operators
   in diagnosing BGP FSM issues and correlating network events. It also
   provides a general mechanism for BGP speaker to notify its peer
   additional information about the session. This document defines two
   kinds of BGP Session Information: reason for last time session flap
   and BGP speaker description.

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





Dong, et al.          Expires September 1, 2010               [Page 2]


Internet-Draft          BGP FSM Error Subcode               March 2010


3. Definition of Finite State Machine Error Subcodes

   This document defines following subcodes for BGP Finite State Machine
   Error:

     0 - Unspecific Error

     1 - Receive Unexpected Message in OpenSent State

     2 - Receive Unexpected Message in OpenConfirm State

     3 - Receive Unexpected Message in Established State

     4 - Error Caused by TCP connection problem

4. Usage of FSM Error Subcodes

   If a BGP speaker receives an unexpected message
   (KEEPALIVE/UPDATE/ROUTE-REFRESH message) on a session in OpenSent
   state, it MUST send to the neighbor a Notification message with the
   Error Code Finite State Machine Error and the Error Subcode "Receive
   Unexpected Message in OpenSent State". The Data field is a 1-octet
   unsigned integer which indicates type of the unexpected message.

   If a BGP speaker receives an unexpected message (OPEN/UPDATE/ROUTE-
   REFRESH message) on a session in OpenConfirm state, it MUST send to
   the neighbor a Notification message with the Error Code Finite State
   Machine Error and the Error Subcode "Receive Unexpected Message in
   OpenConfirm State". The Data field is a 1-octet unsigned integer
   which indicates type of the unexpected message.

   If a BGP speaker receives an unexpected message (OPEN message) on a
   session in Established state, it MUST send to the neighbor a
   Notification message with the Error Code Finite State Machine Error
   and the Error Subcode "Receive Unexpected Message in Established
   State". The Data field is a 1-octet unsigned integer which indicates
   type of the unexpected message.

   If there is some problem in the underlying TCP connection, such as
   connection closed, connection reset or connection timeout, the BGP
   speaker SHOULD generate a Notification message with the Error Code
   Finite State Machine Error and the Error Subcode "Error Caused by TCP
   connection problem". This message MUST be recorded locally and SHOULD
   be prepared to be sent to Network Management System (NMS) and BMP
   monitoring station.




Dong, et al.          Expires September 1, 2010               [Page 3]


Internet-Draft          BGP FSM Error Subcode               March 2010


   In response to any other Finite State Machine error, the BGP speaker
   SHOULD generate a Notification message with the Error Code Finite
   State Machine Error and the Error Subcode "Unspecific Error".

5. BGP Session Information Capability

   When there is some problem in underlying TCP connection, the Error
   Code and Error Subcode cannot be advertised to peer because the
   transmission is interrupted. Thus a mechanism is needed to send TCP
   related Error information to peer when the session comes up again.
   This document proposes to use a new BGP Capability to carry this
   information, called BGP Session Information Capability.

   A BGP speaker that is willing to announce additional information
   about the session can use this capability as described below.
   [RFC5492]

   BGP Open message Parameter: 2 (Capability)

   BGP Open message Parameter Length: Variable (Minimum: 2, Maximum: 255)

   Capability Code: <Session Information Capability - TBA> (1 octet)

   Capability Length: Variable (1 octet)

   Capability Value: One or more informational entries as shown in
   Figure 1.

               +-----------------------------------+
               | Information Type (1 octet)        |
               +-----------------------------------+
               | Information Len (1 octet, Min: 2) |
               +-----------------------------------+
               | Information Value (Var length)    |
               +-----------------------------------+
                            Figure 1

   This document defines following types of BGP Session Information:



   Information Type: 1 (BGP Session Last Flap Cause)

   Information Len: 4 (1 Octet)

   Information Value: (2 Octets)



Dong, et al.          Expires September 1, 2010               [Page 4]


Internet-Draft          BGP FSM Error Subcode               March 2010


      Notification "Code" value of last session flap event followed by
      Notification "Sub-Code" value of last session flap event.



   Information Type: 2 (BGP Speaker Description)

   Information Len: Variable (Min: 2)

   Information value: Brief description of the BGP speaker in English
   ASCII format.



   Additional information types can be added to this TLV on a need basis.

6. Operation of BGP Session Information Capability

   A BGP speaker that is willing to announce additional information
   about the session should advertise the BGP Session Information
   Capability to the peer using BGP Capability advertisement as
   described in Section 5. [RFC5492]

   A BGP speaker that receives Session Information Capability must
   process and take necessary actions as appropriate. Since this
   capability is mainly informational, contents must be stored and
   presented to NMS. If unknown information type is found inside
   information capability, it must be ignored.

   "BGP Session Last Flap Cause" information is used to convey to the
   peer, the reason for last session flap. A session is considered
   "flapped" only if the session state ever moves out of the
   "Established" state.

   "BGP Speaker Description" information is used to convey additional
   description type information to the peer. Typically this is useful
   during BGP sessions trouble-shooting. This information can also be
   used for "description - IP address mapping" to reduce manual
   configuration of peer's description.

   It is possible for one to fill up entire capability with just
   information capability. Keeping this in mind, "Information Len" field
   has been intentionally limited to a single byte. It is recommended
   that implementations should take necessary precaution and encode
   information capability only if there is enough room in the capability
   area. It should also be given lower priority when there is contention



Dong, et al.          Expires September 1, 2010               [Page 5]


Internet-Draft          BGP FSM Error Subcode               March 2010


   for encoding capabilities in the limited open message capability
   parameter space.

   However, this problem is not applicable after [I-D.chen-bgp-ext-opt-
   param] draft standardization is complete.

7. Security Considerations

   This document does not change the security properties of BGP.

8. IANA Considerations

   This document defines Error Subcodes 0 - 4 for BGP Finite State
   Machine Error.

     0 - Unspecific Error

     1 - Receive Unexpected Message in OpenSent State

     2 - Receive Unexpected Message in OpenConfirm State

     3 - Receive Unexpected Message in Established State

     4 - Error Caused by TCP connection problem

   This document defines a new BGP Capability called BGP Session
   Information Capability (TBA). This document defines following types
   of BGP Session Information:

      Name                               Type Value

      ----                               ----------
      BGP Session Last Flap Cause            1

      BGP Speaker Description                2

9. Contributors

   Xiaoming Gu
   Huawei Technologies Co.,Ltd
   HuaWei Bld., No.3 Xinxi Rd.,
   Shang-Di Information Industry Base,
   Hai-Dian District Beijing P.R. China

   EMail: guxiaoming@huawei.com




Dong, et al.          Expires September 1, 2010               [Page 6]


Internet-Draft          BGP FSM Error Subcode               March 2010



   Chong Wang
   Huawei Technologies Co.,Ltd
   HuaWei Bld., No.3 Xinxi Rd.,
   Shang-Di Information Industry Base,
   Hai-Dian District Beijing P.R. China

   EMail: chongwang@huawei.com



10. Acknowledgements

   The authors would like to thank John Scudder for his valuable
   comments to this document.

11. References

11.1. Normative References

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

   [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
             IANA Considerations Section in RFCs", BCP 26, RFC 5226, May
             2008.

   [RFC4271] Rekhter, Y., Li, T. and S. Hares, "A Border Gateway
             Protocol 4 (BGP-4)", RFC 4271, January 2006.

   [RFC5492] Scudder, J. and Chandra, R., "Capabilities Advertisement
             with BGP-4"  RFC 5492, February 2009.

11.2. Informative References

   [I-D.chen-bgp-ext-opt-param] Chen, E. and Scudder, J., "Extended
             Optional Parameters Length for BGP OPEN Message", draft-
             chen-bgp-ext-opt-param-02 (work in progress), February 2010.










Dong, et al.          Expires September 1, 2010               [Page 7]


Internet-Draft          BGP FSM Error Subcode               March 2010


12. Authors' Addresses

   Jie Dong
   Huawei Technologies Co.,Ltd.
   KuiKe Building, No.9 Xinxi Rd.,
   Hai-Dian District
   Beijing, 100085
   P.R. China

   EMail: dongjie_dj@huawei.com


   Mach(Guoyi) Chen
   Huawei Technologies Co.,Ltd.
   KuiKe Building, No.9 Xinxi Rd.,
   Hai-Dian District
   Beijing, 100085
   P.R. China

   EMail: mach@huawei.com


   Anantharamu Suryanarayana
   Juniper Networks

   EMail: anantha@juniper.net






















Dong, et al.          Expires September 1, 2010               [Page 8]