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,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC7356]  Ginsberg, L., Previdi, S., and Y. Yang, "IS-IS Flooding
              Scope Link State PDUs (LSPs)", RFC 7356,
              DOI 10.17487/RFC7356, September 2014,
              <https://www.rfc-editor.org/info/rfc7356>.

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, <https://www.rfc-editor.org/info/rfc5462>.

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]