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: (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]