<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std" docName="draft-shawam-pwe3-ms-pw-protection-02.txt" updates="6870"
     ipr="trust200902">
  <front>
    <title abbrev="MS-PW Protection">S-PE Outage Protection for Static Multi-Segment Pseudowires</title>

    <author fullname="Andrew G. Malis" initials="A." surname="Malis">
      <organization>Huawei Technologies Co., Ltd</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <email>agmalis@gmail.com</email>
      </address>
    </author>

    <author fullname="Loa Andersson" initials="L." surname="Andersson">
      <organization>Huawei Technologies Co., Ltd</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <email>loa@mail01.huawei.com</email>
      </address>
    </author>

    <author fullname="Huub van Helvoort" initials="H." surname="van Helvoort">
      <organization>Hai Gaoming BV</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <email>huubatwork@gmail.com</email>
      </address>
    </author>

      <author fullname="Jongyoon Shin" initials="J." surname="Shin">
      <organization>SK Telecom</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <email>jongyoon.shin@sk.com</email>
      </address>
    </author>


      <author fullname="Lei Wang" initials="L." surname="Wang">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <email>wangleiyj@chinamobile.com</email>
      </address>
    </author>


      <author fullname="Alessandro D'Alessandro" initials="A." surname="D'Alessandro">
      <organization>Telecom Italia</organization>

      <address>
        <postal>
          <street/>

          <city/>

          <region/>

          <code/>

          <country/>
        </postal>

        <email>alessandro.dalessandro@telecomitalia.it</email>
      </address>
    </author>

    <date />

    <abstract>

      <t>
In MPLS and MPLS-TP environments, statically provisioned Single-Segment Pseudowires (SS-PWs) are protected against tunnel failure via MPLS-level and MPLS-TP-level tunnel protection. With statically provisioned Multi-Segment Pseudowires (MS-PWs), each segment of the MS-PW is likewise protected from tunnel failures via MPLS-level and MPLS-TP-level tunnel protection. However, static MS-PWs are not protected end-to-end against failure of one of the switching PEs (S-PEs) along the path of the MS-PW. This document describes how to achieve this protection by updating the existing procedures in RFC 6870. It also contains an optional approach based on MPLS-TP Linear Protection.
      </t>

    </abstract>

  </front>

  <middle>
  <!-- section 1 -->
    <section title="Introduction">

    <t>
As described in RFC 5659 <xref target="RFC5659"/>, Multi-Segment Pseudowires (MS-PWs) consist of terminating PEs (T-PEs), switching PEs (S-PEs), and PW segments between the T-PEs at each of the MS-PW and the interior S-PEs. In MPLS and MPLS-TP environments, statically provisioned Single-Segment Pseudowires (SS-PWs) are protected against tunnel failure via MPLS-level and MPLS-TP-level tunnel protection. With statically provisioned Multi-Segment Pseudowires (MS-PWs), each PW segment of the MS-PW is likewise protected from tunnel failure via MPLS-level and MPLS-TP-level tunnel protection. However, PSN tunnel protection does not protect static MS-PWs from failures of S-PEs along the path of the MS-PW.
    </t>

    <t>
RFC 6718 <xref target="RFC6718"/> provides a general framework for PW protection, and RFC 6870 <xref target="RFC6870"/>, which is based upon that framework, describes protection procedures for MS-PWs that are dynamically signaled using LDP. This document describes how to achieve protection against S-PE failure in a static MS-PW by extending RFC 6870 to be applicable for statically provisioned MS-PWs pseudowires (PWs) as well.
    </t>
    <t>
This document also contains an optional alternative approach based on MPLS-TP Linear Protection. This approach, described in <xref target="app-linear"/>, MUST be identically provisioned in the PE endpoints for the protected MS-PW in order to be used. See <xref target="app-linear"/> for further details on this alternative approach.
</t>
    <section anchor="Language" title="Requirements Language">
    <t>
   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 <xref target="RFC2119"/>.
    </t>
     </section>
     </section>

    <section anchor="Extension" title="Extension to RFC 6870 to Protect Statically Provisioned SS-PWs and MS-PWs">

    <t>
Section 3.2.3 of RFC 6718 and Section A.5 of RFC 6870 document how to use redundant MS-PWs to protect an MS-PW against S-PE failure in the case of a singly-homed CE, using the following network model from RFC 6718:
</t>
<t><figure anchor="SH-CE-MS-PW"
title="Single-Homed CE with Redundant MS-PWs">
<artwork><![CDATA[    Native   |<----------- Pseudowires ----------->|  Native
    Service  |                                     |  Service
     (AC)    |     |<-PSN1-->|     |<-PSN2-->|     |  (AC)
       |     V     V         V     V         V     V   |
       |     +-----+         +-----+         +-----+   |
+----+ |     |T-PE1|=========|S-PE1|=========|T-PE2|   |   +----+
|    |-------|......PW1-Seg1.......|.PW1-Seg2......|-------|    |
| CE1|       |     |=========|     |=========|     |       | CE2|
|    |       +-----+         +-----+         +-----+       |    |
+----+        |.||.|                          |.||.|       +----+
              |.||.|         +-----+          |.||.|
              |.||.|=========|     |========== .||.|
              |.||...PW2-Seg1......|.PW2-Seg2...||.|
              |.| ===========|S-PE2|============ |.|
              |.|            +-----+             |.|
              |.|============+-----+============= .|
              |.....PW3-Seg1.|     | PW3-Seg2......|
               ==============|S-PE3|===============
                             |     |
                             +-----+
]]></artwork>
</figure>In this figure, CE1 is connected to PE1 and CE2 is connected to PE2. There are three MS PWs. PW1 is switched at S-PE1, PW2 is switched at S-PE2, and PW3 is switched at S-PE3. This scenario provides N:1 protection against S-PE failure for the subset of the path of the emulated service from T-PE1 to T-PE2.</t>
<t>
The procedures in RFCs 6718 and 6870 rely on LDP-based PW status signaling to signal the state of the primary MS-PW that is being protected, and the precedence in which redundant MS-PW(s) should be used to protect the primary MS-PW should it fail. These procedures make use of information carried by the PW Status TLV, which for dynamically signaled PWs is carried by the LDP protocol.
    </t>
    <t>
However, statically provisioned PWs (SS-PWs or MS-PWs) do not use the LDP protocol for PW set and signaling, rather they are provisioned by network management systems or other means at each T-PE and S-PE along their path. They also do not use the LDP protocol for status signaling. Rather, they use procedures defined in RFC 6478 <xref target="RFC6478"/> for status signaling via the PW OAM message using the PW Associated Channel Header (ACH). The PW Status TLV carried via this status signaling is itself identical to the PW Status TLV carried via LDP-based status signaling, including the identical PW Status Codes.
    </t>
    <t>
Sections 6 and 7 of RFC 6870 describes the management of a primary PW and its secondary PW(s) to provide resiliency to the failure of the primary PW. They use status codes transmitted between endpoint T-PEs using the PW Status TLV transmitted by LDP. For this management to apply to statically provisioned PWs, the PW status signaling defined in RFC 6478 MUST be used for the primary and secondary PWs. In that case, the endpoint T-PEs can then use the PW status signaling provided by RFC 6478 in the place of LDP-based status signaling, but otherwise operate identically as described in RFC 6870.
    </t>
    </section>
    <section anchor="Operational" title="Operational Considerations">
    <t>
Because LDP is not used between the T-PEs for statically provisioned MS-PWs, the negotiation procedures described in RFC 6870 cannot be used. Thus, operational care must be taken so that the endpoint T-PEs are identically provisioned regarding the use of this document, specifically whether or not MS-PW redundancy is being used, and for each protected MS-PW, the identity of the primary MS-PW and the precedence of the secondary MS-PWs.
    </t>
    </section>
    <section anchor="security" title="Security Considerations">

    <t>
The security considerations defined for RFC 6478 apply to this document as well. As the security considerations in RFCs 6718 and 6870 are related to their use of LDP, they are not required for this document.
    </t>

<t>
If the alternative approach in <xref target="app-linear"/> is used, then the security considerations defined for RFCs 6378, 7271, and 7324 also apply.
</t>

    </section>


    <section anchor="IANA" title="IANA Considerations">

    <t>
     There are no requests for IANA actions in this document.
    </t>

    <t>
     Note to the RFC Editor - this section can be removed before publication.
    </t>

    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>
The authors would like to thank Matthew Bocci, Yaakov Stein, and David Sinicrope for their comments on this document.
      </t>
      <t>
Figure 1 and the explanatory paragraph following the figure were taken from RFC 6718.
      </t>
    </section>

  </middle>

  <back>

    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>
      <?rfc include="reference.RFC.6378"?>
      <?rfc include="reference.RFC.6478"?>
      <?rfc include="reference.RFC.6870"?>
      <?rfc include="reference.RFC.7271"?>
      <?rfc include="reference.RFC.7324"?>
    </references>

    <references title="Informative References">
      <?rfc include="reference.RFC.5659"?>
      <?rfc include="reference.RFC.6718"?>
    </references>

   <section anchor="app-linear" title="Optional Linear Protection Approach">
    <section title="Introduction">

    <t>
      In "MPLS Transport Profile (MPLS-TP) Linear Protection"
      <xref target="RFC6378"/>, as
      well as in the later updates of this RFC in "MPLS Transport Profile
      (MPLS-TP) Linear Protection to Match the Operational Expectations
      of SDH, OTN and Ethernet Transport Network Operators"
      <xref target="RFC7271"/>
      and in "Updates to MPLS Transport Profile Linear Protection"
      <xref target="RFC7324"/>, the Protection State
      Coordination (PSC) protocol was defined for MPLS LSPs only.
    </t>

    <t>
      This Appendix extends these RFCs to be applicable for PWs (SS-PW and MS-PW) as
      well.  This is useful especially in the case of end-to-end static
      provisioned MS-PWs running over MPLS-TP
      where tunnel protection alone cannot be relied upon for end-to-end protection of PWs against S-PE failure. It also enables a uniform operational approach for protection at LSP and PW layers and an easier management integration for networks that already use RFCs 6378, 7271, and 7324.
    </t>

    <t>
    This Appendix is optional alternative approach to the one in <xref target="Extension"/>, therefore all implementations MUST include the
   approach in <xref target="Extension"/> even if this alternative approach is used. The operational considerations in <xref target="Operational"/> continue to apply when this approach is used, and operational care must be taken so that the endpoint T-PEs are identically provisioned regarding the use of this document.
    </t>


     </section>

    <section anchor="encap" title="Encapsulation of the PSC Protocol for Pseudowires">

    <t>
     The PSC protocol can be used to protect against defects on any LSP
     (segment, link or path). In the case of MS-PW, the PSC protocol can
     also protect failed intermediate nodes (S-PE).
     Linear protection protects an LSP or PW end-to-end and if a failure is
     detected, switches traffic over to another (redundant) set of resources.
    </t>

    <t>
     Obviously, the protected entity does not need to be of the same type as the
     protecting. For example, it is possible to protect a link by a path. Likewise it is possible
     to protect a SS-PW with a MS-PW and vice versa.
    </t>

    <t>
     From a PSC protocol point of view it is possible to view a SS-PW as a
     single hop LSP, and a MS-PW as a multiple hop LSP. Thus, this provides end-to-end protection for the SS-PW or MS-PW. The G-ACh carrying the
     PSC protocol information is placed in the label stack directly
     beneath the PW identifier. The PSC protocol will then
     work as specified in RFCs 6378, 7271, and 7324.
    </t>
    </section>
    </section>


  </back>
</rfc>
