﻿<?xml version="1.0" encoding="UTF-8" ?>
<!--<!DOCTYPE rfc SYSTEM "rfc4748.dtd"> -->

<!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" ipr="trust200902"  docName="draft-wang-sfc-multi-layer-oam-10">

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

    <front>
      <title abbrev="Multi-Layer Active OAM for SFC">Multi-Layer Active OAM for Service Function Chains in Networks </title>   

	<author initials='G.' surname="Mirsky" fullname='Greg Mirsky'>
		<organization>ZTE Corp.</organization>
		<address>
			<email>gregimirsky@gmail.com</email>
		</address> 
	</author>

     <author initials="W" surname="Meng" fullname="Wei Meng">
      <organization>ZTE Corporation</organization>
      <address>
       <postal>
        <street>No.50 Software Avenue, Yuhuatai District</street>
      <region>Nanjing</region>
      <country>China</country>
      </postal>
    <email>meng.wei2@zte.com.cn,vally.meng@gmail.com</email>
      </address>
    </author>

        <author initials="B" surname="Khasnabish" fullname="Bhumip Khasnabish"> 
      <organization>ZTE TX, Inc.</organization>                              
      <address>                                                              
	   <postal>                                                                
	   <street>55 Madison Avenue, Suite 160</street>                           
	  <region>Morristown, New Jersey  07960</region>                           
	  <country>USA</country>                                                   
	  </postal>                                                                
	<email>bhumip.khasnabish@ztetx.com</email>                                 
      </address>                                                             
    </author>                                                                

     <author initials="C" surname="Wang" fullname="Cui Wang">
      <organization></organization>
      <address>
<!--
	<postal>
        <street>No.50 Software Avenue, Yuhuatai District</street>
      <region>Nanjing</region>
      <country>China</country>
      </postal>
-->
     <email>lindawangjoy@gmail.com</email>
      </address>
    </author>
   
    <date day="21" month="September" year="2017" />
   
    <area>Routing</area>
    <workgroup>SFC WG</workgroup>
   
    <keyword>Request for Comments</keyword>
    <keyword>RFC</keyword>
    <keyword>Internet Draft</keyword>
    <keyword>I-D</keyword>

    <abstract>
    <t>
A multi-layer approach to the task of Operation, Administration 
and Maintenance (OAM) of Service Function Chains (SFCs) in networks is presented.  
Based on the requirements towards active OAM for SFC, a multi-layer model is introduced.  
A mechanism to detect and localize defects using the multi-layer model 
is also described.
    </t>
    </abstract>
  </front>

  <middle>

    <section title="Introduction">
     <t>
     <xref target="RFC7665"/> defines components necessary to implement 
     Service Function Chain (SFC). These include a classifier 
     which performs classification of incoming packets. A Service Function Forwarder (SFF) 
     is responsible for forwarding traffic to one or more connected Service Functions (SFs) according to 
     the information carried in the SFC encapsulation. SFF also handles traffic coming back from 
     the SF and transports the data packets to the next SFF. And the SFF serves as termination
     element of the Service Function Path (SFP). SF is responsible for specific treatment 
     of received packets.
     </t>
     
     <t>
     Resulting from that SFC is constructed by a number of these components,
     there are different views from different levels of the SFC.
     One is the SFC, fully abstract entity, that defines an ordered set of SFs that must 
     be applied to packets selected as a result of classification. 
     But SFC doesn't define exact mapping between SFFs and SFs. Thus there exists another  
     semi-abstract entity referred as SFP. SFP is
     the instantiation of the SFC in the network and provides a level of indirection 
     between the fully abstract SFC and a fully specified ordered 
     list of SFFs and SFs identities that the packet will visit when
     it traverses the SFC. The latter entity is being referred as Rendered Service Path (RSP).
     The main difference between SFP and RSP is that in the former the authority to 
     select the SFF/SF has been delegated to the network.
     </t>
     
     <t>
	   This document proposes the multi-layer model of SFC active Operation, Administration
	   and Maintenance (OAM), per <xref target="RFC7799"/> definition of active OAM,
    lists requirements to improve the troubleshooting efficiency and
	   defines SFC Echo request and Echo reply that enables on-demand 
Continuity Check, Connectivity Verification among other operations over SFC in networks.
     </t>
   </section>

   <section anchor="sec:terminology" title="Conventions">
        <section title="Requirements Language">
        <t>
   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
   "MAY", and "OPTIONAL" in this document are to be interpreted as
   described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> 
   when, and only when, they appear in all capitals, as shown here.
    </t>
</section>
    
         <section title="Terminology">
         <t>
         Unless explicitly specified in this document, active OAM in SFC and SFC OAM
         are being used interchangeably.
         </t>
          <t>e2e:       End-to-End</t>
          <t>FM:        Fault Management</t>
          <t>NSH:       Network Service Header</t>
          <t>OAM:       Operations, Administration, and Maintenance</t>
          <t>RDI:       Remote Defect Indication</t>
          <t>RSP:       Rendered Service Path</t>
          <t>SF:        Service Function</t>
          <t>SFC:       Service Function Chain</t>
          <t>SFF:       Service Function Forwarder</t>
          <t>SFP:       Service Function Path</t>
    </section>
   </section>

   <section anchor="sec:pd-pmip" title="Multi-layer Model of SFC OAM">
 
      <t>
      As described in <xref target="I-D.ietf-sfc-oam-framework"/>, multiple 
      layers come into play to realize the SFC, 
      including the Service layer, the underlying Network layer, as well as the Link layer, 
      which are depicted in <xref target="fig1"/>:
      <list style="symbols">      
      <t>The Service layer consists of classifiers and/or service functions/SFs. </t>
      <t>Network and Transport layers leverage various overlay network technologies 
      interconnecting SFs to establish SFP.</t>
      <t>The Link layer is technology specific and reflects the technology used in 
      the underlay network.</t>
      </list>
      </t>
      
    <figure anchor="fig1" title="SFC OAM Multi-Layer model">
         <artwork><![CDATA[
         
                   +---+  +---+   +---+  +---+     +---+
                   |SF1|  |SF2|   |SF3|  |SF4|     |SF5|
                   +---+  +---+   +---+  +---+     +---+
                      \    /          \  /           |     
   +----------+       +----+         +----+        +----+    
   |Classifier|-------|SFF1|---------|SFF2|--------|SFF3|
   +----------+       +----+         +----+        +----+         
       0---------------------------------------------0  Service layer 
       0----------------0--------------0-------------0  Network layer
       0-------------0------0-------0------0---------0  Link layer      
 
       ]]></artwork></figure>
       
   </section>
   
   
   <section anchor="multi-layer-oam-req" title="Requirements for Multi-layer Model of Active OAM">
     
     <t>
     To perform the OAM task of fault management (FM) in an SFC, that includes failure detection, defect
     characterization and localization, this document defines the
     multi-layer model of OAM, presented in <xref target="sec:pd-pmip"/>, and set of requirements
     towards active OAM mechanisms to be used on an SFC.
     </t>
     
     <t>
     In example presented in <xref target="fig1"/> the service SFP1 may be realized
     through two RSPs, RSP1(SF1--SF3--SF5) and RSP2(SF2--SF4--SF6). To perform
     end-to-end (e2e) FM SFC OAM:
     <list>
     <t>
     REQ#1:  Packets of active OAM in SFC SHOULD be fate sharing with data traffic,
            i.e. in-band with the monitored traffic, i.e. follow exactly
            the same RSP, in forward direction, i.e. from ingress toward egress end
            point(s) of the OAM test.
     </t>
     <t>
     REQ#2:  SFC OAM MUST support pro-active monitoring of any element in the SFC
            availability.
     </t>
     </list>
     </t>
     <t>
     The egress, SFF3 in example in <xref target="fig1"/>,
     is the entity that detects the failure of the SFC. It must
     be able to signal the new defect state to the ingress, i.e. SFF1.
     Hence the following requirement:
     <list>
     <t>
     REQ#3: SFC OAM MUST support Remote Defect Indication (RDI)
            notification by egress to the ingress, i.e. source of
            continuity checking.
     </t>
     <t>
     REQ#4: SFC OAM MUST support connectivity verification.
            Definition of mis-connectivity defect entry and exit
            criteria are outside the scope of this document.
     </t>
     </list>
     </t>
     
     <t>
     Once the SFF1 detects the defect objective of OAM switches from failure detection
     to defect characterization and localization.
     <list>
     <t>
     REQ#5: SFC OAM MUST support fault localization of Loss of
            Continuity check in the SFC.
     </t>
     <t>
     REQ#6: SFC OAM MUST support tracing an SFP in order to realize the RSP.
     </t>
     </list>
     </t>
     
     <t>
     It is practical, as presented in <xref target="fig1"/>, that several SFs share the same SFF.  
     In such case SFP1 may be realized over two RSPs, RSP1(SF1--SF3--SF5) and RSP2(SF2--SF4--SF6). 
     </t>

     <t>
     <list>
     <t>
     REQ#7: SFC OAM MUST have the ability to discover and exercise
            all available RSPs in the transport network.
     </t>
     </list>
     </t>
     <t>
     In process of localizing the SFC failure separating SFC OAM layers is very attractive and efficient approach.
     To achieve that continuity among SFFs that are part of the same SFP should be verified. Once SFFs reachability
     along the particular SFP has been confirmed task of defect localization may focus on SF reachability verification.
     Because reachability of SFFs has already been verified, SFF local to the SF may be used as source.
     <list>
     <t>
     REQ#8: SFC OAM MUST be able to trigger on-demand FM with
            responses being directed towards initiator of such proxy
            request.
     </t>
     </list>
      </t>
      
    </section>

<section anchor="sfc-active-oam-def" title="Active OAM Identification in SFC NSH">
<t>
      The multi-layer model OAM that confirms to the above listed requirements enables active OAM protocols
      that are capable to perform efficient defect localization on an SFC. <xref target="I-D.ietf-sfc-nsh"/> does not provide
      definition for identification of an SFC active OAM packet. This document defines that active OAM packet on 
      SFC MUST have OAM bit set and MUST have the value on the Next Protocol field set to OAM (TBA1) 
      according to <xref target="iana-sfc-oam-protocol"/>.
      </t>
      <t>
      It is very unlikely that a single protocol will address all the requirements listed in <xref target="multi-layer-oam-req"/>. Protocols
      may be identified by destination UDP port number if IP/UDP encapsulation used. But extra IP/UDP headers, especially
      in case of IPv6, add noticeable overhead. This document defines Active OAM Header <xref target="sfc-oam-header-pic"/> 
      to demultiplex active OAM protocols on an SFC.
      </t>
  <t>
          <figure align="left" anchor="sfc-oam-header-pic"
                title="SFC Active OAM Header">
          <artwork><![CDATA[    
 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| V | Msg Type  |     Flags     |          Length               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~              SFC Active OAM Control Packet                    ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
        </figure>
	<list>
<t>V - two bits long field indicates the current version of the SFC active OAM header. The current value is 0.</t>
<t>Msg Type - six bits long field identifies OAM protocol, e.g. Echo Request/Reply or BFD.</t>
<t>Flags - eight bits long field carries bit flags that define optional capability and thus processing of the 
SFC active OAM control packet, e.g. optional timestamping.</t>
<t>Length - two octets long field that is length of the SFC active OAM control packet in octets.</t>
</list>
  </t>
  
</section>

<section title="SFC OAM multi-layer model">
     <t>
     <xref target="fig3"/> presents a use case of applying the proposed SFC OAM multi-layer model.  
     In this scenario operator needs to discover SFFs and SFs of the same SFC. 
     The Layer 1 includes the SFFs that are part of the SFP. The Layer 2 - the SFs along the RSP. 
     When trying to do SFC OAM, classifier or service nodes select and 
     confirm which SFC OAM layering they plan to do, 
     then encapsulate the layering information in the SFC OAM packets, and 
     send the SFC OAM packets along the service function paths 
     to the destination. When receiving the SFC OAM packets, service nodes 
     analyze the layering information and then decide 
     whether sending these packets to next SFFs directly without being processed 
     by SFs for Layer 1 process or sending to SFs for Layer 2 process.
     </t>
     
     <figure anchor="fig3" title="SFC OAM multi-layering model">
         <artwork><![CDATA[
         
         +---+ +---+  +----+ +----+  +-----+ +-----+  +------+ +------+
         |SF1|.|SFn|  |SF1'|.|SFn'|  |SF1''|.|SFn''|  |SF1'''|.|SFn'''|
         +---+ +---+  +----+ +----+  +-----+ +-----+  +------+ +------+
             \   /        \   /  |      \     /           \    /   |   
 +------+   +----+       +----+  |      +-----+           +-----+  |      
 |Class.|---|SFF1|  ...  |SFFn|  |      |SFF1'|   ...     |SFFn'|  |       
 +------+   +----+       +----+  |      +-----+           +-----+  |      
                            |    |                            |    |              
                            |    |                            |    |         
                            |----|------Layer 1---------------|    |
                                 |                                 |   
                                 |-------------Layer 2-------------|     
                                                                                                                        
 
      ]]></artwork></figure>     
      
      <t>
      </t>
    </section>

   <section anchor="sfc-echo-request-reply" title="Echo Request/Echo Reply for SFC in Networks">
   
   <t>
   Echo Request/Reply is well-known active OAM mechanism that is 
   extensively used  to detect inconsistencies between states in control plane
   and data plane, localize defects in the data plane. The format of the Echo request/Echo reply control packet is to support 
  ping and traceroute functionality in SFC in networks <xref target="sfc-ping-pic"/> 
  resembles the format of MPLS LSP Ping <xref target="RFC8029"/> with some exceptions. 
  
          <figure align="left" anchor="sfc-ping-pic"
                title="SFC Echo Request/Reply format">
          <artwork><![CDATA[    
       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Version Number        |         Global Flags          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Message Type  |   Reply mode  |  Return Code  | Return S.code |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Sender's Handle                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         Sequence Number                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ~                              TLVs                             ~
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
          ]]></artwork>
        </figure>

   </t>
     <t>
  The interpretation of the fields is as following:
  <list style="empty">
<t>
  The Version reflects the current version. The version number is to
   be incremented whenever a change is made that affects the ability of
   an implementation to correctly parse or process control packet.
  </t>
  <t>The Global Flags is a bit vector field  </t>
  <t>The Message Type filed reflects the type of the packet. Value TBA3 identifies echo request and TBA4 - echo reply</t>
  <t>The Reply Mode defines the type of the return path requested by the sender of the echo request.  </t>
  <t>Return Codes and Subcodes can be used to inform the sender about result of processing its request.  </t>
  <t>The Sender's Handle is filled in by the sender, and returned unchanged by the receiver in the echo reply.  </t>
  <t>The Sequence Number is assigned by the sender and can be (for example) used to detect missed replies.  </t>
  <t>TLVs (Type-Length-Value tuples) have the two octets long Type field, two 
  octets long Length field that is length of the Value field in octets.</t>
  </list>
  </t>
  
  <section  anchor="echo-request-send" title="SFC Echo Request Transmission">

<t>
SFC echo request control packet MUST use the appropriate encapsulation of the monitored
SFP. If Network Service Header (NSH) is used, echo request MUST set O bit, as defined in <xref target="I-D.ietf-sfc-nsh"/>.
 SFC NSH MUST
be immediately followed by the SFC Active OAM Header defined in <xref target="sfc-active-oam-def"/>. Message Type field
in the SFC Active OAM Header MUST be set to SFC Echo Request/Echo Reply value (TBA2) per <xref target="iana-sfc-oam-msg-type"/>.
</t>
<t>
Value of the Reply Mode field MAY be set to:
<list style="symbols">
<t>
Do Not Reply (TBA5) if one-way monitoring is desired. If echo request is used to measure synthetic packet loss,
the receiver may report loss measurement results to a remote node.
</t>
<t>
Reply via an IPv4/IPv6 UDP Packet (TBA6) value likely will be the most used.
</t>
<t>
Reply via Application Level Control Channel (TBA7) value if the SFP
may have bi-directional paths.
</t>
<t>
Reply via Specified Path (TBA7) value in order to enforce use of the particular
return path specified in the included TLV to verify bi-directional continuity and
also increase robustness of the monitoring by selecting more stable path.
</t>
</list>
</t>

</section>


<section  anchor="echo-request-recieve" title="SFC Echo Request Reception">
<t>
</t>

</section>



<section  anchor="echo-reply-send" title="SFC Echo Reply Transmission">
<t>
The Reply Mode field directs whether and how the echo reply message should be sent.
The sender of the echo request MAY use TLVs to request that corresponding echo reply
be sent using the specified path. Value TBA3 is referred as "Do not reply" mode and
suppresses transmission of echo reply packet. Default value (TBA6) for the Reply mode field requests
the responder to send the echo reply packet out-of-band as IPv4 or IPv6 UDP packet.
</t>
     <t>
     Responder to the SFC echo request sends the echo reply over IP network if the Reply mode is 
     Reply via an IPv4/IPv6 UDP Packet.
     Because SFC NSH does not identify the ingress of the SFP
     the echo request MUST include this information that to be used as IP destination address for IP/UDP encapsulation of the SFC echo reply.
     Sender of the SFC echo request MUST include SFC Source TLV <xref target="sfc-source-tlv-fig"/>. 
     </t>
     <t>
          <figure align="left" anchor="sfc-source-tlv-fig"
                title="SFC Source TLV">
          <artwork><![CDATA[    
 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |   SFC OAM Source ID Type    |           Length              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                           Value                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

]]></artwork>
        </figure>
        where
        <list>
        <t>
        SFC OAM Source Id Type is two octets in length and has the value of TBA9 <xref target="iana-sfc-tlv"/>.
        </t>
        <t>
        Length is two octets long field and the values is equal to the length of the Value field.</t>
        <t>
        Value field contains IP address of the sender of the SFC OAM control message, IPv4 or IPv6.</t>
        </list>
            </t> 
    <t>
     The UDP destination port for SFC Echo Reply
     TBA10 will be allocated by IANA <xref target="iana-sfc-udp-port"/>.
     </t>

</section>


<section  anchor="echo-reply-recieve" title="Overlay Echo Reply Reception">
<t>
</t>

</section>


   </section>


   <section anchor="sec:security" title="Security Considerations">
    <t>
Overlay Echo Request/Reply operates withing the domain of the overlay network and thus inherits
any security considerations that apply to the use of that overlay technology and, consequently, underlay data plane.
Also, the security needs for SFC echo request/reply are similar to those of ICMP ping <xref target="RFC0792"/>, <xref target="RFC4443"/>
and MPLS LSP ping <xref target="RFC8029"/>. 
   </t>
   <t>
   There are at least three approaches of attacking a node in the overlay network using the
   mechanisms defined in the document.  One is a Denial-of-Service attack, by
   sending SFC ping to overload an element of the SFC.
  The second may use spoofing, hijacking, replying, or otherwise
   tampering with SFC echo requests and/or replies to 
   misrepresent, alter operator's view of the state of the SFC. 
   The third is an unauthorized source using an SFC 
   echo request/reply to obtain information about the
   SFC and/or its elements, e.g. SFF or SF.
   </t>
   <t>
   To mitigate potential Denial-of-Service attacks, it is RECOMMENDED that
   implementations throttle the SFC ping traffic going to the control plane. 
   </t>
   <t>
   Reply and spoofing attacks involving faking or
   replying SFC echo reply messages would have to
   match the Sender's Handle and Sequence Number of 
   an outstanding SFC echo request message which is highly unlikely.  
   Thus the non-matching reply would be discarded. 
   <!--But since "even a broken clock is right twice a day"
   implementations MAY use Timestamp control block <xref target="I-D.ooamdt-rtgwg-ooam-header"/>
   to validate the TimeStamp Sent by requiring an exact match on this field.-->
   </t>
   <t>
   To protect against unauthorized sources trying to obtain information about the overlay and/or underlay
   an implementation MAY check that the source of the echo request is indeed part of the SFP.
   </t>
   </section>

   <section anchor="iana-considerations" title="IANA Considerations">
   
   <section anchor="iana-sfc-oam-protocol" title="SFC Active OAM Protocol">
  <t>
  IANA is requested to assign new type from the SFC Next Protocol registry as follows:
  </t>
  
    <texttable anchor="iana-sfc-oam-tbl" title="SFC Active OAM Protocol">
    <ttcol align='left'>Value</ttcol>
    <ttcol align='center'>Description</ttcol>
    <ttcol align='left'>Reference</ttcol>
     <c>TBA1</c>
    <c>SFC Active OAM</c>
    <c>This&nbsp;document</c>
   </texttable>
 </section>
  
   <section anchor="iana-sfc-oam-msg-type" title="SFC Active OAM Message Type">
  <t>
    IANA is requested to create new registry called "SFC Active OAM Message Type".
    All code points in the range 1 through 32767 in this registry shall be allocated
    according to the "IETF Review" procedure as specified in <xref target="RFC8126"/>
.
    Remaining code points are allocated according to the table <xref target="iana-sfc-header-type-tbl"/>:
  </t>
    <texttable anchor="iana-sfc-header-type-tbl" title="SFC Active OAM Message Type">
    <ttcol align='left'>Value</ttcol>
    <ttcol align='center'>Description</ttcol>
    <ttcol align='left'>Reference</ttcol>
     <c>0</c>
    <c>Reserved</c>
    <c></c>
     <c>1 - 32767</c>
    <c>Reserved</c>
    <c>IETF Consensus</c>
     <c>32768 - 65530</c>
    <c>Reserved</c>
    <c>First Come First Served</c>
     <c>65531 - 65534</c>
    <c>Reserved</c>
    <c>Private Use</c>
         <c>65535</c>
    <c>Reserved</c>
    <c></c>
   </texttable> 
   
  <t>
  IANA is requested to assign new type from the SFC Active OAM Message Type registry as follows:
  </t>
  
    <texttable anchor="iana-overlay-echo-tbl" title="SFC Echo Request/Echo Reply Type">
    <ttcol align='left'>Value</ttcol>
    <ttcol align='center'>Description</ttcol>
    <ttcol align='left'>Reference</ttcol>
     <c>TBA2</c>
    <c>SFC Echo Request/Echo Reply</c>
    <c>This&nbsp;document</c>
   </texttable>
 </section>
   
 <section anchor="iana-echo-ping-parameters" title="SFC Echo Request/Echo Reply Parameters">
  <t>
  IANA is requested to create new SFC Echo Request/Echo Reply Parameters registry.
  </t>
 </section>
 
 <section anchor="iana-sfc-echo-mesasage-type" title="SFC Echo Request/Echo Reply Message Types"> 
 <t>
  IANA is requested to create in the SFC Echo Request/Echo Reply
Parameters registry the new sub-registry Message Types.
  All code points in the range 1 through 191 in this registry shall be allocated
 according to the "IETF Review" procedure as specified in <xref target="RFC8126"/>
  and assign values as follows:
  </t>
    <texttable anchor="iana-overlay-echo-message-type-tbl" title="SFC Echo Request/Echo Reply Message Types">
    <ttcol align='left'>Value</ttcol>
    <ttcol align='center'>Description</ttcol>
    <ttcol align='left'>Reference</ttcol>
     <c>0</c>
    <c>Reserved</c>
    <c></c>
      <c>TBA3</c>
    <c>SFC Echo Request</c>
    <c>This&nbsp;document</c>
     <c>TBA4</c>
    <c>SFC Echo Reply</c>
    <c>This&nbsp;document</c>
     <c>TBA4+1-191</c>
    <c>Unassigned</c>
    <c>IETF Review</c>
     <c>192-251</c>
    <c>Unassigned</c>
    <c>First Come First Served</c>
     <c>252-254</c>
    <c>Unassigned</c>
    <c>Private Use</c>
     <c>255</c>
    <c>Reserved</c>
    <c></c>
       </texttable>
 </section>

  <section anchor="iana-sfc-ping-reply-mode" title="SFC Echo Reply Modes"> 
 <t>
  IANA is requested to create in the SFC Echo Request/Echo Reply 
Parameters registry the new sub-registry Reply Modes
  All code points in the range 1 through 191 in this registry shall be allocated
 according to the "IETF Review" procedure as specified in <xref target="RFC8126"/>
  and assign values as follows:
  </t>
    <texttable anchor="iana-overlay-ping-reply-mode-tbl" title="SFC Echo Reply Modes">
    <ttcol align='left'>Value</ttcol>
    <ttcol align='center'>Description</ttcol>
    <ttcol align='left'>Reference</ttcol>
     <c>0</c>
    <c>Reserved</c>
    <c></c>
      <c>TBA5</c>
    <c>Do Not Reply</c>
    <c>This&nbsp;document</c>
     <c>TBA6</c>
    <c>Reply via an IPv4/IPv6 UDP Packet</c>
    <c>This&nbsp;document</c>
    <c>TBA7</c>
    <c>Reply via Application Level Control Channel</c>
    <c>This&nbsp;document</c>
    <c>TBA8</c>
    <c>Reply via Specified Path</c>
    <c>This&nbsp;document</c>
     <c>TBA8+1-191</c>
    <c>Unassigned</c>
    <c>IETF Review</c>
    <c>192-251</c>
    <c>Unassigned</c>
    <c>First Come First Served</c>
     <c>252-254</c>
    <c>Unassigned</c>
    <c>Private Use</c>
     <c>255</c>
    <c>Reserved</c>
    <c></c>
       </texttable>
 </section>
   
   <section anchor="iana-sfc-tlv" title="SFC TLV Type">
   <t>
   IANA is requested to create SFC OAM TLV Type registry.
    All code points in the range 1 through 32759 in this registry shall be allocated
    according to the "IETF Review" procedure as specified in <xref target="RFC8126"/>.
    Code points in the range
     32760 through 65279 in this registry shall be allocated according to the "First Come First Served" procedure as
     specified in <xref target="RFC8126"/>.
    Remaining code points are allocated according to the <xref target="iana-sfc-type-tbl"/>:
   </t>
       <texttable anchor="iana-sfc-type-tbl" title="SFC TLV Type Registry">
    <ttcol align='left'>Value</ttcol>
    <ttcol align='center'>Description</ttcol>
    <ttcol align='left'>Reference</ttcol>
     <c>0</c>
    <c>Reserved</c>
    <c>This document</c>
     <c>1- 32759</c>
    <c>Unassigned</c>
    <c>IETF Review</c>
     <c>32760 - 65279</c>
    <c>Unassigned</c>
    <c>First Come First Served</c>
     <c>65280 - 65519</c>
    <c>Experimental</c>
    <c>This document</c>
     <c>65520 - 65534</c>
    <c>Private Use</c>
    <c>This document</c>
         <c>65535</c>
    <c>Reserved</c>
    <c>This document</c>
   </texttable> 
   
<t>     This document defines the following new value in SFC OAM TLV Type registry:</t>
     <texttable anchor="sfc-ip-src-type" title="SFC OAM  Source IP Address Type">
    <ttcol align='left'>Value</ttcol>
    <ttcol align='center'>Description</ttcol>
    <ttcol align='left'>Reference</ttcol>
    <c>TBA9</c>
    <c>Source IP Address</c>
    <c>This&nbsp;document</c>
    </texttable>
   </section>
   
   <section anchor="iana-sfc-udp-port" title="SFC OAM UDP Port">
    <t>
    IANA is requested to allocate UDP port number according to 
    </t>
     <texttable anchor="sfc-oam-port-alloc" title="SFC OAM Port">
    <ttcol align='left'>Service&nbsp;Name&nbsp;</ttcol>
    <ttcol align='left'>Port&nbsp;Number&nbsp;</ttcol>
    <ttcol align='left'>Transport&nbsp;Protocol&nbsp;</ttcol>
    <ttcol align='left'>Description&nbsp;</ttcol>
    <ttcol align='left'>Semantics&nbsp;Definition&nbsp;</ttcol>
    <ttcol align='left'>Reference&nbsp;</ttcol>
    <c>SFC OAM</c>
    <c>TBA10</c>
    <c>UDP</c>
    <c>SFC OAM</c>
    <c><xref target="echo-reply-send"/></c>
    <c>This&nbsp;document</c>
    </texttable>
    </section>
    
   </section>

</middle>

<back>
<references title='Normative References'>
      <?rfc include="reference.RFC.2119"?>
      <?rfc include="reference.RFC.8174"?>
      <?rfc include="reference.I-D.ietf-sfc-nsh"?>

</references>

<references title='Informative References'>
      <?rfc include="reference.RFC.7665"?>
<!--      <?rfc include='reference.RFC.7498'?> -->
      <?rfc include="reference.I-D.ietf-sfc-oam-framework"?>
      <?rfc include="reference.RFC.8126"?>
      <?rfc include="reference.RFC.0792"?>
      <?rfc include="reference.RFC.7799"?>
      <?rfc include="reference.RFC.4443"?>
      <?rfc include="reference.RFC.8029"?>
</references>
</back>
</rfc>