<?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='info' ipr='trust200902' docName='draft-ietf-spring-sr-oam-requirement-02'>

<front>
<title abbrev="OAM Requirements for Segment Routing Network">OAM Requirements for Segment Routing Network</title>

<author initials="N." surname="Kumar" fullname="Nagendra Kumar">
	<organization>Cisco Systems, Inc.</organization>
	<address>
		<postal>
		<street>7200 Kit Creek Road</street>
		<city>Research Triangle Park</city> <region>NC</region> <code>27709</code>
		<country>US</country>
		</postal>
	<email>naikumar@cisco.com</email>
	</address>
</author>

<author initials="C." surname="Pignataro" fullname="Carlos Pignataro">
	<organization>Cisco Systems, Inc.</organization>
	<address>
		<postal>
		<street>7200 Kit Creek Road</street>
		<city>Research Triangle Park</city> <region>NC</region> <code>27709-4987</code>
		<country>US</country>
		</postal>
	<email>cpignata@cisco.com</email>
	</address>
</author>

<author initials="N." surname="Akiya" fullname="Nobo Akiya">
	<organization>Big Switch Networks</organization>
	<address>
		<postal>
		<street></street>
		<city></city> <region></region> <code></code>
		<country>Japan</country>
		</postal>
	<email>nobo.akiya.dev@gmail.com</email>
	</address>
</author>

<author initials="R." surname="Geib" fullname="Ruediger Geib">
	<organization>Deutsche Telekom</organization>
	<address>
		<postal>
		<street>Heinrich Hertz Str. 3-7</street>
		<city>Darmstadt</city> <region></region> <code>64295</code>
		<country>Germany</country>
		</postal>
	<email>Ruediger.Geib@telekom.de</email>
	</address>
</author>

<author initials="G." surname="Mirsky" fullname="Greg Mirsky">
	<organization>Ericsson</organization>
	<address>
		<postal>
		<street></street>
		<city></city> <region></region> <code></code>
		<country></country>
		</postal>
	<email>gregory.mirsky@ericsson.com</email>
	</address>
</author>

<author initials="S." surname="Litkowski" fullname="Stephane Litkowski">
	<organization>Orange</organization>
	<address>
		<postal>
		<street></street>
		<city></city> <region></region> <code></code>
		<country></country>
		</postal>
	<email>stephane.litkowski@orange.com</email>
	</address>
</author>


<date />
<area>Internet</area>
<workgroup>spring</workgroup>

<keyword>spring</keyword>

		<abstract><t>This document describes a list of functional requirement for OAM in 
		Segment Routing (SR) based network.</t>
		</abstract>
 
</front>

<middle>
	
	<section title="Introduction">
					<t>
					<xref target="I-D.ietf-spring-segment-routing" /> introduces and explains Segment Routing architecture
					that leverages source routing and tunneling standards which can be applied directly to MPLS dataplane with no changes on forwarding plane and 
					on IPv6 dataplane with new Routing Extension Header.</t>
					<t>
					This document list the OAM requirements for Segment Routing based network which can further be used to produce OAM tools, either through enhancing existing OAM tools or constructing new OAM tools, for path liveliness and service validation.</t>
    </section>
	 
    <section title="Requirements notation">
					<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 <xref target="RFC2119"/>.
					</t>
    </section>
    
    <section title="Terminology">
    <t>SR OAM Packet: OAM probe originated and processed within SR domain(s)</t>
    <t>ECMP: 		Equal Cost Multipath</t>
    <t>SR:	 		Segment Routing</t>
    <t>UCMP: 		Unequal Cost Multipath</t>
    <t>Initiator:	Centralized OAM initiator or PMS as referred in <xref target="I-D.geib-spring-oam-usecase" /></t>
    
    </section>

<section title="Detailed Requirement list">
	<t>This section list the OAM requirement for Segment Routing based network. The below listed requirement MUST be supported with both MPLS and IPv6 dataplane:
	<list hangIndent="9" style="format REQ#%d:">
	<t>SR OAM MUST support both On-demand and Continuous OAM functionality.</t>
	<t>The SR OAM packet MUST follow exactly the same path as dataplane traffic.</t>
	<t>The SR OAM packet MUST have the ability to discover and exercise equal cost multipath (ECMP) paths.</t>
	<t>The SR OAM packet MUST have the ability to discover and exercise unequal cost multipath (UCMP) paths.</t>
	<t>The SR OAM packet MUST have ability to exercise any available paths, not just best path available.</t>
	<t>The forwarding semantic of adjacency Segment ID raises a need for additional consideration to detect any failure in forwarding to the right adjacency. SR OAM MUST have the ability to detect any failure in Node SID and adjacency segment based forwarding.</t>
	<t>SR OAM SHOULD have the ability to allow the Initiator to control the return path from any transit or egress responder.</t>
	<t>SR OAM MUST have the ability to be initialized from an arbitrary node to perform connectivity verification and continuity check to any other node within SR domain.</t>
	<t>In case of any failure with continuity check, SR OAM SHOULD support rapid Connectivity Fault localization to isolate the node on which the failure occurs.</t>
	<t>SR OAM SHOULD also have the ability to be initialized from a centralized controller.</t>
	<t>When SR OAM is initialized from centralized controller, it MUST have the ability to alert any edge node in SR domain about the corresponding path or service failure. The node on receiving the alert MAY take a local protection action or pop an informational message.</t>
	<t>When SR OAM is initialized from centralized controller, it SHOULD support node redundancy. If primary Initiator fails, secondary one MUST take over the responsibility without having any impact on customer traffic.</t>
	<t>SR OAM MUST have the ability to measure Packet loss, Packet Delay or Delay variation using Active (using synthetic probe) and Passive (using data stream) mode.</t>
	<t>When a new path is instantiated, SR OAM SHOULD allow path verification without noticeable delay.</t> 
	<t>The above listed requirements SHOULD be supported without any scalability limitation imposed and SHOULD be extensible to accommodate any new SR functionality.</t>
	<t>SR OAM SHOULD minimize the need to create or maintain per path state entry in any other nodes other than the Initiator.</t>
	<t>When traffic engineering is initiated by centralized controller device, and when SR OAM is performed by individual nodes, there MUST be a mechanism to communicate failure to centralized controller device.</t>
	<t>When service instruction is present in SR OAM packet header, there MUST be a method to disallow applying the service to the OAM packet to handle cases where that may result in unintended corruption of the OAM packet.</t>
	</list>
	</t>
</section>

		<section title="IANA Considerations">
		<t>This document does not propose any IANA consideration.</t>
		</section>
        <section title="Security Considerations">
		<t>This document list the OAM requirement for Segment Routing network and does not raise any security considerations.</t>
		</section>
		<section title="Acknowledgement">
					<t> The authors would like to thank Stefano Previdi for his review.</t>
		</section>
		
		<section title="Contributing Authors">
		<t>Sriganesh Kini
    <vspace blankLines="0" />
	Ericsson
    <vspace blankLines="0" />
    Email: sriganesh.kini@ericsson.com</t>
		</section>
    </middle>
	
<back>

    <references title="Normative References">
	
	<?rfc include="reference.RFC.2119"?>
	
	<?rfc include="reference.I-D.ietf-spring-segment-routing"?>
	
	<?rfc include="reference.I-D.geib-spring-oam-usecase"?>

	  
    </references>
    
    <references title="Informative References">
    
	<?rfc include="reference.RFC.4379"?>
	
    <?rfc include="reference.RFC.6424"?>

    <?rfc include="reference.RFC.6425"?>
    
    <?rfc include="reference.RFC.6291"?>
    
    
    </references>


		</back>

</rfc>
