<?xml version="1.0" encoding="US-ASCII"?>

<!DOCTYPE rfc> 
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="3"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->

<rfc category="std"
     docName="draft-song-mpls-flag-based-opt-05"
     ipr="trust200902">

<front>
  <title abbrev="MPLS Flag-based MNA"> Flag-based MPLS Network Actions (MNA) for On-Path Telemetry </title>

  <author fullname="Haoyu Song" initials="H." surname="Song">
    <organization>Futurewei Technologies</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>United States of America</country>
      </postal>
      <email>haoyu.song@futurewei.com</email>
    </address>
  </author>

  <author fullname="Giuseppe Fioccola" initials="G." surname="Fioccola">
    <organization>Huawei Technologies</organization>
    <address>
      <postal>
        <street></street>
        <city></city>
        <region></region>
        <code></code>
        <country>Germany</country>
      </postal>
      <email>giuseppe.fioccola@huawei.com</email>
    </address>
  </author>
  
  <author fullname="Rakesh Gandhi" initials="R." surname="Gandhi">
		<organization>Cisco Systems</organization>
      <address>
        <postal>
          <street> </street>
          <city></city>
          <country>Canada</country>
        </postal>
		<email>rgandhi@cisco.com</email>
      </address>
    </author>

  <area>RTG</area>
  <workgroup>MPLS</workgroup>
  
  <!---->

  <keyword>OPT</keyword>
  <keyword>MPLS</keyword>
  <keyword>MNA</keyword>

  <abstract>
    <t>This document describes the support of two flag-based variants
   of on-path Telemetry techniques, Postcard-Based On-Path 
   Telemetry (PBT) and Alternate Marking (AM), as MPLS Network
   Actions (MNA)for OAM in MPLS networks.
   The scheme only uses a few bits in the MNA header opcode dedicated for the flag-based actions.</t>
  </abstract>
 
</front>

<middle>

  <section anchor="Intro" title="Introduction">
  
	  <t>On-path telemetry, as described in <xref target="I-D.song-opsawg-ifit-framework"/>, 
	  is a hybrid type I network OAM <xref target="RFC7799"/> which directly measure 
	  and monitor the user packets. Some on-path telemetry technique incur very little overhead 
	  but offer big benefits on network performance monitoring and troubleshooting.  
	  <xref target="I-D.song-ippm-postcard-based-telemetry">Marking-based PBT</xref>  (Postcard-Based On-Path Telemetry using Packet Marking) 
	  is such on-path telemetry technique which uses only a single flag bit to trigger the collection of the telemetry data regarding the packet. 
	  Alternate Marking method <xref target="RFC9341"> </xref> is another on-path performance measurement method which uses only two flag bits 
	  to measure packet loss, delay, and jitter for live data traffic.</t>
  
    <t>In MPLS networks, MPLS Network Action (MNA) <xref target="I-D.ietf-mpls-mna-fwk"/> extends the MPLS label stack by supporting extra in-stack network
   actions and ancillary data encoded in stack, the in-stack MNA header is described in <xref target="I-D.ietf-mpls-mna-hdr"/>.
   MNA also extends the MPLS payload by supporting extra post-stack network actions and ancillary
   data encoded post-stack, the post-stack MNA header is described in <xref target="I-D.jags-mpls-ps-mna-hdr"/>.  
</t>
	
	<t>This document describe the scheme to use flag-based MNAs to support PBT and AM.</t>  

    <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><xref
    target="RFC8174"></xref> when, and only when, they appear in all
    capitals, as shown here.</t>
	
	</section>
    
  </section>
  
  <section title="PBT-M Action">

    <t>A flag bit (TBA1) in the flag-based network action field is used as the PBT-M indicator. If the bit is set to '1', a configured node is triggered to collect and export the telemetry data as configured by the control plane. The detailed method on node configuration, data export and correlation are recommended in <xref target="I-D.song-ippm-postcard-based-telemetry"/>. </t>
      
  </section>	  
  
  <section title="Alternate Marking Action">
  
     <t>Two flag bits (TBA2) in the flag-based network action field are used to support the alternate marking method as described in <xref target="RFC9341"></xref>. </t>
    
  </section>

  <section title="Action Encoding">

    <t>The proposed action encoding is shown in <xref target="figure_1"/> changed from <xref target="I-D.ietf-mpls-mna-hdr"/>.
	 In the figure, 'P' stands for PBT-M flag and 'AM' stands for alternate marking flags. </t>

    <t><figure anchor="figure_1" title="Action Encoding">
      <artwork align="center"><![CDATA[
 
     0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |      NASI=bSPL                        | TC  |S|    TTL        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |NAI-Opcode=1 |P|AM |                   |R|IHS|S|U|NASL=0 |NAL=0|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
 ]]></artwork>
   </figure></t>


   <t>MNA Label, a base Special Purpose Label (bSPL), as assigned by 
   <xref target="I-D.ietf-mpls-mna-hdr"/>.</t>

   <t>TC, the Traffic Class, are assigned values based on local policies.</t>

   <t>S, Bottom of Stack bit (BoS), the bit is set in the last Label Stack Entry (LSE) of the
   Label Stack.</t>

   <t>TTL, Time To Live, number of hop before the packet is dropped.</t>

   <t>NAI-Opcode, Network Action Indicator Opcode. If the Opcode has 
   the value of 'one', then the 13 bits following the Opcode carries 
   NAI-flags.</t>
   
   <t>P-flag, the first flag bit in the flag-based network action 
   field is used as the PBT indicator. If the bit is set to '1', a
   node is triggered to collect and export the telemetry data as
   configured by the control plane.</t>

   <t>Alternate Marking, bit 2 and 3 are used to indicate Alternate Marking.</t> 

   <t>IHS, the scope of the Network Action is carried in the IHS field for
   Ingress-To-Egress (I2E), Hop-By-Hop (HBH) or Select.</t>
   
  
   <t>NASL, Network Action Sub-Stack Length indicates number of additional LSEs following 
   the first network action LSE. A value of zero indicates that only
   the 13 bits of the first LSE is in use.
   No Post Stack Network Action is required for this.</t>
   
   <t>Note that the in-stack MNA encoding may take different form as the header encoding draft evolves, and
   these flag-based on-path telemetry use cases would adapt to the change.</t>


 </section>
 

  <section anchor="Security" title="Security Considerations">
    <t>Only the ingress node is allowed to set these flag bits. The other on-path nodes can only react to the bit values. The tampering of these flag-based actions would result in DoS attack or unreliable measurements. Therefore, security measures must be taken to ensure the proper functioning of these actions. </t>
  </section>

  <section anchor="IANA" title="IANA Considerations">
    <t>This document requires IANA to assign a bit for PBT-M action (TBA1) and two bits for Alternate Marking (TBA2) from
   the MPLS "In-Stack MPLS Network Action Indicator Flags" registry created in <xref target="I-D.ietf-mpls-mna-hdr"/>. </t>
  </section>


 <section anchor="Acknowledgments" title="Acknowledgments">
 </section>

 </middle>

 <back>

 <references title="Normative References">
   
   <?rfc include='reference.RFC.2119'?>
   <?rfc include='reference.RFC.8174'?>
   <?rfc include='reference.RFC.7799'?>
   <?rfc include='reference.I-D.ietf-mpls-mna-hdr'?>

 </references>
      
 <references title="Informative References">
   <?rfc include='reference.RFC.9341'?>
   <?rfc include='reference.I-D.song-opsawg-ifit-framework'?>
   <?rfc include='reference.I-D.song-ippm-postcard-based-telemetry'?>
   <?rfc include='reference.I-D.ietf-mpls-mna-fwk'?>
   <?rfc include='reference.I-D.ietf-mpls-miad-mna-requirements'?>
   <?rfc include='reference.I-D.jags-mpls-ps-mna-hdr'?>
 </references>

 </back>
</rfc>
