IDR F. Qin Internet-Draft China Mobile Intended status: Standards Track H. Yuan Expires: January 9, 2021 UnionPay T. Zhou M. Liu G. Fioccola Huawei July 8, 2020 BGP SR Policy Extensions to Enable IFIT draft-qin-idr-sr-policy-ifit-01 Abstract Segment Routing (SR) policy is a set of candidate SR paths consisting of one or more segment lists and necessary path attributes. It enables instantiation of an ordered list of segments with a specific intent for traffic steering. In-situ Flow Information Telemetry (IFIT) refers to network OAM applications that apply dataplane on- path telemetry techniques. This document defines extensions to BGP to distribute SR policies carrying IFIT information. So that IFIT methods can be enabled automatically when the SR policy is applied. 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 in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on January 9, 2021. Qin, et al. Expires January 9, 2021 [Page 1] Internet-Draft bgp-sr-policy-ifit July 2020 Copyright Notice Copyright (c) 2020 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 (https://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 Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. IFIT Attributes in SR Policy . . . . . . . . . . . . . . . . 3 3. SR Policy for IOAM . . . . . . . . . . . . . . . . . . . . . 4 3.1. IOAM Pre-allocated Trace Option Sub-TLV . . . . . . . . . 4 3.2. IOAM Incremental Trace Option Sub-TLV . . . . . . . . . . 5 3.3. IOAM Directly Export Option Sub-TLV . . . . . . . . . . . 6 3.4. IOAM Edge-to-Edge Option Sub-TLV . . . . . . . . . . . . 7 4. SR Policy for Enhanced Alternate Marking . . . . . . . . . . 8 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 8.2. Informative References . . . . . . . . . . . . . . . . . 9 Appendix A. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 1. Introduction Segment Routing (SR) policy [I-D.ietf-spring-segment-routing-policy] is a set of candidate SR paths consisting of one or more segment lists and necessary path attributes. It enables instantiation of an ordered list of segments with a specific intent for traffic steering. In-situ Flow Information Telemetry (IFIT) refers to network OAM applications that apply dataplane on-path telemetry techniques, including In-situ OAM (IOAM) [I-D.ietf-ippm-ioam-data] and Alternate Marking [RFC8321]. It can provide flow information on the entire forwarding path on a per- packet basis in real time. Qin, et al. Expires January 9, 2021 [Page 2] Internet-Draft bgp-sr-policy-ifit July 2020 An automatic network requires the Service Level Agreement (SLA) monitoring on the deployed service. So that the system can quickly detect the SLA violation or the performance degradation, hence to change the service deployment. The SR policy native IFIT can facilitate the closed loop control, and enable the automation of SR service. This document defines extensions to BGP to distribute SR policies carrying IFIT information. So that IFIT behavior can be enabled automatically when the SR policy is applied. This BGP extension allows to signal the IFIT capabilities together with the SR-policy. In this way IFIT methods are automatically activated and running. The flexibility and dynamicity of the IFIT applications are given by the use of additional functions on the controller and on the network nodes, but this is out of scope here. It is to be noted the companion document [I-D.chen-pce-sr-policy-ifit] that proposes the PCEP extension to enable IFIT applications for SR policy. 2. IFIT Attributes in SR Policy As defined in [I-D.ietf-idr-segment-routing-te-policy], the SR Policy encoding structure is as follows: SR Policy SAFI NLRI: Attributes: Tunnel Encaps Attribute (23) Tunnel Type: SR Policy Binding SID Preference Priority Policy Name Explicit NULL Label Policy (ENLP) Segment List Weight Segment Segment ... ... A candidate path includes multiple SR paths, each of which is specified by a segment list. IFIT can be applied to the candidate path, so that all the SR paths can be monitored in the same way. The new SR Policy encoding structure is expressed as below: Qin, et al. Expires January 9, 2021 [Page 3] Internet-Draft bgp-sr-policy-ifit July 2020 SR Policy SAFI NLRI: Attributes: Tunnel Encaps Attribute (23) Tunnel Type: SR Policy Binding SID Preference Priority Policy Name Explicit NULL Label Policy (ENLP) IFIT Attributes Segment List Weight Segment Segment ... ... IFIT attributes can be attached at the candidate path level as sub- TLVs. There may be different IFIT tools. The following sections will describe the requirement and usage of different IFIT tools, and define the corresponding sub-TLV encoding in BGP. Note that the IFIT attributes here described can also be generalized and included as sub-TLVs for other SAFIs and NLRIs. 3. SR Policy for IOAM In-situ Operations, Administration, and Maintenance (IOAM) [I-D.ietf-ippm-ioam-data] records operational and telemetry information in the packet while the packet traverses a path between two points in the network. In terms of the classification given in RFC 7799 [RFC7799] IOAM could be categorized as Hybrid Type 1. IOAM mechanisms can be leveraged where active OAM do not apply or do not offer the desired results. When SR policy enables the IOAM, the IOAM header will be inserted into every packet of the traffic that is steered into the SR paths. This document aims to define the control plane. While a relevant document for the data plane is [I-D.ietf-ippm-ioam-ipv6-options] for Segment Routing over IPv6 data plane (SRv6). 3.1. IOAM Pre-allocated Trace Option Sub-TLV The IOAM tracing data is expected to be collected at every node that a packet traverses to ensure visibility into the entire path a packet takes within an IOAM domain. The preallocated tracing option will create pre-allocated space for each node to populate its information. Qin, et al. Expires January 9, 2021 [Page 4] Internet-Draft bgp-sr-policy-ifit July 2020 The format of IOAM pre-allocated trace option sub-TLV is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+-------------------------------+ | Type | Length | Namespace ID | +---------------+---------------+--------------+--------+-------+ | IOAM Trace Type | Flags | Rsvd | +----------------------------------------------+--------+-------+ Fig. 1 IOAM Pre-allocated Trace Option Sub-TLV Where: Type: to be assigned by IANA. Length: the total length of the value field not including Type and Length fields. Namespace ID: A 16-bit identifier of an IOAM-Namespace. The definition is the same as described in section 4.4 of [I-D.ietf-ippm-ioam-data]. IOAM Trace Type: A 24-bit identifier which specifies which data types are used in the node data list. The definition is the same as described in section 4.4 of [I-D.ietf-ippm-ioam-data]. Flags: A 4-bit field. The definition is the same as described in [I-D.ietf-ippm-ioam-flags] and section 4.4 of [I-D.ietf-ippm-ioam-data]. Rsvd: A 4-bit field reserved for further usage. It MUST be zero. 3.2. IOAM Incremental Trace Option Sub-TLV The incremental tracing option contains a variable node data fields where each node allocates and pushes its node data immediately following the option header. The format of IOAM incremental trace option sub-TLV is defined as follows: Qin, et al. Expires January 9, 2021 [Page 5] Internet-Draft bgp-sr-policy-ifit July 2020 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+-------------------------------+ | Type | Length | Namespace ID | +---------------+---------------+--------------+--------+-------+ | IOAM Trace Type | Flags | Rsvd | +----------------------------------------------+--------+-------+ Fig. 2 IOAM Incremental Trace Option Sub-TLV Where: Type: to be assigned by IANA. Length: the total length of the value field not including Type and Length fields. All the other fields definistion is the same as the pre-allocated trace option sub-TLV in section 4.1. 3.3. IOAM Directly Export Option Sub-TLV IOAM directly export option is used as a trigger for IOAM data to be directly exported to a collector without being pushed into in-flight data packets. The format of IOAM directly export option sub-TLV is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+ | Type | Length | +-----------------------------------------------+---------------+ | Namespace ID | Flags | +-------------------------------+---------------+---------------+ | IOAM Trace Type | Rsvd | +-----------------------------------------------+---------------+ | Flow ID | +---------------------------------------------------------------+ Fig. 3 IOAM Directly Export Option Sub-TLV Where: Type: to be assigned by IANA. Qin, et al. Expires January 9, 2021 [Page 6] Internet-Draft bgp-sr-policy-ifit July 2020 Length: the total length of the value field not including Type and Length fields. Namespace ID: A 16-bit identifier of an IOAM-Namespace. The definition is the same as described in section 4.4 of [I-D.ietf-ippm-ioam-data]. IOAM Trace Type: A 24-bit identifier which specifies which data types are used in the node data list. The definition is the same as described in section 4.4 of [I-D.ietf-ippm-ioam-data]. Flags: A 16-bit field. The definition is the same as described in section 3.2 of [I-D.ietf-ippm-ioam-direct-export]. Flow ID: A 32-bit flow identifier. The definition is the same as described in section 3.2 of [I-D.ietf-ippm-ioam-direct-export]. Rsvd: A 4-bit field reserved for further usage. It MUST be zero. 3.4. IOAM Edge-to-Edge Option Sub-TLV The IOAM edge to edge option is to carry data that is added by the IOAM encapsulating node and interpreted by IOAM decapsulating node. The format of IOAM edge-to-edge option sub-TLV is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+ | Type | Length | +-----------------------------------------------+---------------+ | Namespace ID | IOAM E2E Type | +-------------------------------+-------------------------------+ Fig. 4 IOAM Edge-to-Edge Option Sub-TLV Where: Type: to be assigned by IANA. Length: the total length of the value field not including Type and Length fields. Namespace ID: A 16-bit identifier of an IOAM-Namespace. The definition is the same as described in section 4.6 of [I-D.ietf-ippm-ioam-data]. Qin, et al. Expires January 9, 2021 [Page 7] Internet-Draft bgp-sr-policy-ifit July 2020 IOAM E2E Type: A 16-bit identifier which specifies which data types are used in the E2E option data. The definition is the same as described in section 4.6 of [I-D.ietf-ippm-ioam-data]. 4. SR Policy for Enhanced Alternate Marking The Alternate Marking [RFC8321]technique is an hybrid performance measurement method, per RFC 7799 [RFC7799] classification of measurement methods. Because this method is based on marking consecutive batches of packets. It can be used to measure packet loss, latency, and jitter on live traffic. This document aims to define the control plane. While a relevant document for the data plane is [I-D.ietf-6man-ipv6-alt-mark] for Segment Routing over IPv6 data plane (SRv6). The format of EAM sub-TLV is defined as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +---------------+---------------+ | Type | Length | +-------------------------------+-------+-------+-------+-------+ | FlowMonID | Period | Rsvd | +---------------------------------------+---------------+-------+ Where: Type: to be assigned by IANA. Length: the total length of the value field not including Type and Length fields. FlowMonID: A 20-bit identifier to uniquely identify a monitored flow within the measurement domain. The definition is the same as described in section 5.3 of [I-D.ietf-6man-ipv6-alt-mark]. Period: Time interval between two alternate marking period. The unit is second. Rsvd: A 4-bit field reserved for further usage. It MUST be zero. 5. IANA Considerations This document defines new sub-TLVs in the registry "BGP Tunnel Encapsulation Attribute sub-TLVs" to be assigned by IANA: Qin, et al. Expires January 9, 2021 [Page 8] Internet-Draft bgp-sr-policy-ifit July 2020 Codepoint Description Reference ------------------------------------------------------------- TBD1 IOAM Pre-allocated Trace This document Option Sub-TLV TBD2 IOAM Incremental Trace This document Option Sub-TLV TBD3 IOAM Directly Export This document Option Sub-TLV TBD4 IOAM Edge-to-Edge This document Option Sub-TLV TBD5 Enhanced Alternate Marking This document Sub-TLV 6. Security Considerations TBD. 7. Acknowledgements 8. References 8.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, May 2016, . [RFC8321] Fioccola, G., Ed., Capello, A., Cociglio, M., Castaldelli, L., Chen, M., Zheng, L., Mirsky, G., and T. Mizrahi, "Alternate-Marking Method for Passive and Hybrid Performance Monitoring", RFC 8321, DOI 10.17487/RFC8321, January 2018, . 8.2. Informative References [I-D.chen-pce-sr-policy-ifit] Chen, H., Yuan, H., Zhou, T., Li, W., and G. Fioccola, "PCEP SR Policy Extensions to Enable IFIT", draft-chen- pce-sr-policy-ifit-00 (work in progress), January 2020. Qin, et al. Expires January 9, 2021 [Page 9] Internet-Draft bgp-sr-policy-ifit July 2020 [I-D.ietf-6man-ipv6-alt-mark] Fioccola, G., Zhou, T., Cociglio, M., Qin, F., and R. Pang, "IPv6 Application of the Alternate Marking Method", draft-ietf-6man-ipv6-alt-mark-01 (work in progress), June 2020. [I-D.ietf-idr-segment-routing-te-policy] Previdi, S., Filsfils, C., Talaulikar, K., Mattes, P., Rosen, E., Jain, D., and S. Lin, "Advertising Segment Routing Policies in BGP", draft-ietf-idr-segment-routing- te-policy-09 (work in progress), May 2020. [I-D.ietf-ippm-ioam-data] Brockners, F., Bhandari, S., Pignataro, C., Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Mozes, D., Lapukhov, P., remy@barefootnetworks.com, r., daniel.bernier@bell.ca, d., and J. Lemon, "Data Fields for In-situ OAM", draft- ietf-ippm-ioam-data-09 (work in progress), March 2020. [I-D.ietf-ippm-ioam-direct-export] Song, H., Gafni, B., Zhou, T., Li, Z., Brockners, F., Bhandari, S., Sivakolundu, R., and T. Mizrahi, "In-situ OAM Direct Exporting", draft-ietf-ippm-ioam-direct- export-00 (work in progress), February 2020. [I-D.ietf-ippm-ioam-flags] Mizrahi, T., Brockners, F., Bhandari, S., Sivakolundu, R., Pignataro, C., Kfir, A., Gafni, B., Spiegel, M., and J. Lemon, "In-situ OAM Flags", draft-ietf-ippm-ioam-flags-01 (work in progress), January 2020. [I-D.ietf-ippm-ioam-ipv6-options] Bhandari, S., Brockners, F., Pignataro, C., Gredler, H., Leddy, J., Youell, S., Mizrahi, T., Kfir, A., Gafni, B., Lapukhov, P., Spiegel, M., Krishnan, S., and R. Asati, "In-situ OAM IPv6 Options", draft-ietf-ippm-ioam- ipv6-options-01 (work in progress), March 2020. [I-D.ietf-spring-segment-routing-policy] Filsfils, C., Sivabalan, S., Voyer, D., Bogdanov, A., and P. Mattes, "Segment Routing Policy Architecture", draft- ietf-spring-segment-routing-policy-07 (work in progress), May 2020. Qin, et al. Expires January 9, 2021 [Page 10] Internet-Draft bgp-sr-policy-ifit July 2020 Appendix A. Authors' Addresses Fengwei Qin China Mobile No. 32 Xuanwumenxi Ave., Xicheng District Beijing China Email: qinfengwei@chinamobile.com Hang Yuan UnionPay 1899 Gu-Tang Rd., Pudong Shanghai China Email: yuanhang@unionpay.com Tianran Zhou Huawei 156 Beiqing Rd., Haidian District Beijing China Email: zhoutianran@huawei.com Min Liu Huawei 156 Beiqing Rd., Haidian District Beijing China Email: lucy.liumin@huawei.com Giuseppe Fioccola Huawei Riesstrasse, 25 Munich Germany Email: giuseppe.fioccola@huawei.com Qin, et al. Expires January 9, 2021 [Page 11]