Network Working Group H. Chen Internet-Draft China Telecom Intended status: Standards Track Z. Hu Expires: September 11, 2019 H. Chen Huawei Technologies March 10, 2019 SRv6 Proxy Forwarding draft-chen-rtgwg-srv6-midpoint-protection-00 Abstract The endpoints of a SRv6 path are given by a SRv6 Policy. When an endpoint node fails, we need bypass this failed endpoint node and forward the packets to the failed node's next endpoint node. 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 September 11, 2019. Copyright Notice Copyright (c) 2019 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 Chen, et al. Expires September 11, 2019 [Page 1] Internet-Draft SRv6 Proxy Forwarding March 2019 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. Endpoint Node Protection for Segment List . . . . . . . . . . 3 2.1. Transit Node as PLR . . . . . . . . . . . . . . . . . . . 3 2.2. Endpoint Node as PLR . . . . . . . . . . . . . . . . . . 3 2.3. Endpoint x Node as PLR . . . . . . . . . . . . . . . . . 4 2.4. Endpoint t Node as PLR . . . . . . . . . . . . . . . . . 5 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. Normative References . . . . . . . . . . . . . . . . . . 6 6.2. Informative References . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction "Segment Routing Proxy Forwarding" for IPv4 is defined in [I-D.hu-spring-segment-routing-proxy-forwarding]. It provides the protections for the middle endpoints of a SR path. This document specifies the proxy forwarding for SRv6, which supports the protections for the middle endpoints of a SRv6 path. The endpoints of a SRv6 path are given by a SRv6 Policy. When an endpoint node fails, we need bypass this failed endpoint node and forward the packets to the failed node's next endpoint node. On the PLR (i.e., the previous hop node of the failed endpoint node), it performs the bypass protection as follows if NH = SRH and SL != 0. If the outbound interface fails and the failed endpoint node (FN for short) is directly connected to the PLR, then the PLR forwards the packets through a bypass to the FN's next endpoint node. If it is not directly connected, the normal Ti-LFA is executed. If it is a FIB miss, the PLR forwards the packets through a bypass to the FN's next endpoint node. There is no need to check if the failed endpoint node is directly connected to the PLR. Chen, et al. Expires September 11, 2019 [Page 2] Internet-Draft SRv6 Proxy Forwarding March 2019 2. Endpoint Node Protection for Segment List 2.1. Transit Node as PLR When the PLR is a transit node, it provides fast protection against the endpoint node failure as follows after looking up the FIB. IF the primary outbound interface used to forward the packet failed IF NH = SRH && SL != 0, and the failed endpoint is directly connected to the PLR THEN SL--; update the IPv6 DA with SRH[SL]; FIB lookup on the updated DA; forward the packet according to the matched entry; ELSE forward the packet according to the backup nexthop; ELSE // there is no FIB entry for forwarding the packet IF NH = SRH && SL != 0 THEN SL--; update the IPv6 DA with SRH[SL]; FIB lookup on the updated DA; forward the packet according to the matched entry; ELSE drop the packet; Figure 1: PLR transit 2.2. Endpoint Node as PLR When a node N receives a packet, if the destination address (DA) of the packet is a local END SID, then node N is an endpoint node. When the PLR is an endpoint node, it provides fast protections for the failure through executing the following procedure after looking up the FIB for the updated DA. Chen, et al. Expires September 11, 2019 [Page 3] Internet-Draft SRv6 Proxy Forwarding March 2019 IF the primary outbound interface used to forward the packet failed IF NH = SRH && SL != 0, and the failed endpoint is directly connected to the PLR THEN SL--; update the IPv6 DA with SRH[SL]; FIB lookup on the updated DA; forward the packet according to the matched entry; ELSE forward the packet according to the backup nexthop; ELSE // there is no FIB entry for forwarding the packet IF NH = SRH && SL != 0 THEN SL--; update the IPv6 DA with SRH[SL]; FIB lookup on the updated DA; forward the packet according to the matched entry; ELSE drop the packet; //ELSE // forward accordingly to the matched entry; Figure 2: PLR endpoint 2.3. Endpoint x Node as PLR An endpoint node with cross-connect (End.X for short) is an endpoint node with an array of layer 3 adjacencies. When a node N receives a packet, if the destination address (DA) of the packet is a local END.X SID, then node N as PLR provides fast protections for the failure through executing the following procedure after updating DA. Chen, et al. Expires September 11, 2019 [Page 4] Internet-Draft SRv6 Proxy Forwarding March 2019 IF the layer-3 adjacency interface is down THEN FIB lookup on the updated DA; IF the primary interface used to forward the packet failed THEN IF NH = SRH && SL != 0, and the failed endpoint is directly connected to the PLR THEN SL--; update the IPv6 DA with SRH[SL]; FIB lookup on the updated DA; forward the packet according to the matched entry; ELSE forward the packet according to the backup nexthop; ELSE // there is no FIB entry for forwarding the packet IF NH = SRH && SL != 0 THEN SL--; update the IPv6 DA with SRH[SL]; FIB lookup on the updated DA; forward the packet according to the matched entry; ELSE drop the packet; //ELSE // forward accordingly to the matched entry; Figure 3: PLR endpoint cross-connect 2.4. Endpoint t Node as PLR An endpoint node with specific IPv6 table (End.T for short) is an endpoint node with specific IPv6 table lookup function. When a node N receives a packet, if the destination address (DA) of the packet is a local END.T SID, then node N as PLR provides fast protections for the failure through executing the following procedure after looking up the next segment in IPv6 table T associated with the SID. Chen, et al. Expires September 11, 2019 [Page 5] Internet-Draft SRv6 Proxy Forwarding March 2019 IF the primary interface used to forward the packet failed THEN IF NH = SRH && SL != 0, and the failed endpoint is directly connected to the PLR THEN SL--; update the IPv6 DA with SRH[SL]; lookup the next segment in IPv6 table T associated with the SID; forward the packet according to the matched entry; ELSE forward the packet according to the backup nexthop; ELSE // there is no FIB entry for forwarding the packet IF NH = SRH && SL != 0 THEN SL--; update the IPv6 DA with SRH[SL]; lookup the next segment in IPv6 table T associated with the SID; forward the packet according to the matched entry; ELSE drop the packet; //ELSE // forward accordingly to the matched entry; Figure 4: PLR endpoint table 3. IANA Considerations TBD 4. Security Considerations TBD 5. Acknowledgements TBD 6. References 6.1. Normative References [I-D.bashandy-isis-srv6-extensions] Psenak, P., Filsfils, C., Bashandy, A., Decraene, B., and Z. Hu, "IS-IS Extensions to Support Routing over IPv6 Dataplane", draft-bashandy-isis-srv6-extensions-05 (work in progress), March 2019. [I-D.hu-spring-segment-routing-proxy-forwarding] Hu, Z., Chen, H., Yao, J., and C. Bowers, "Segment Routing Proxy Forwarding", draft-hu-spring-segment-routing-proxy- forwarding-01 (work in progress), March 2019. Chen, et al. Expires September 11, 2019 [Page 6] Internet-Draft SRv6 Proxy Forwarding March 2019 [I-D.ietf-isis-segment-routing-extensions] Previdi, S., Ginsberg, L., Filsfils, C., Bashandy, A., Gredler, H., and B. Decraene, "IS-IS Extensions for Segment Routing", draft-ietf-isis-segment-routing- extensions-22 (work in progress), December 2018. [I-D.ietf-ospf-segment-routing-extensions] Psenak, P., Previdi, S., Filsfils, C., Gredler, H., Shakir, R., Henderickx, W., and J. Tantsura, "OSPF Extensions for Segment Routing", draft-ietf-ospf-segment- routing-extensions-27 (work in progress), December 2018. [I-D.li-ospf-ospfv3-srv6-extensions] Li, Z., Hu, Z., Cheng, D., Talaulikar, K., and P. Psenak, "OSPFv3 Extensions for SRv6", draft-li-ospf- ospfv3-srv6-extensions-03 (work in progress), March 2019. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC7356] Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding Scope Link State PDUs (LSPs)", RFC 7356, DOI 10.17487/RFC7356, September 2014, . 6.2. Informative References [I-D.bashandy-rtgwg-segment-routing-ti-lfa] Bashandy, A., Filsfils, C., Decraene, B., Litkowski, S., Francois, P., daniel.voyer@bell.ca, d., Clad, F., and P. Camarillo, "Topology Independent Fast Reroute using Segment Routing", draft-bashandy-rtgwg-segment-routing-ti- lfa-05 (work in progress), October 2018. [I-D.hegde-spring-node-protection-for-sr-te-paths] Hegde, S., Bowers, C., Litkowski, S., Xu, X., and F. Xu, "Node Protection for SR-TE Paths", draft-hegde-spring- node-protection-for-sr-te-paths-04 (work in progress), October 2018. [I-D.ietf-spring-segment-routing-policy] Filsfils, C., Sivabalan, S., daniel.voyer@bell.ca, d., bogdanov@google.com, b., and P. Mattes, "Segment Routing Policy Architecture", draft-ietf-spring-segment-routing- policy-02 (work in progress), October 2018. Chen, et al. Expires September 11, 2019 [Page 7] Internet-Draft SRv6 Proxy Forwarding March 2019 [I-D.sivabalan-pce-binding-label-sid] Sivabalan, S., Filsfils, C., Tantsura, J., Hardwick, J., Previdi, S., and C. Li, "Carrying Binding Label/Segment-ID in PCE-based Networks.", draft-sivabalan-pce-binding- label-sid-06 (work in progress), February 2019. [RFC5462] Andersson, L. and R. Asati, "Multiprotocol Label Switching (MPLS) Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field", RFC 5462, DOI 10.17487/RFC5462, February 2009, . Authors' Addresses Huanan Chen China Telecom 109, West Zhongshan Road, Tianhe District Guangzhou 510000 China Email: chenhn8.gd@chinatelecom.cn Zhibo Hu Huawei Technologies Huawei Bld., No.156 Beiqing Rd. Beijing 100095 China Email: huzhibo@huawei.com Huaimo Chen Huawei Technologies Boston, MA USA Email: Huaimo.chen@huawei.com Chen, et al. Expires September 11, 2019 [Page 8]