<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.14 (Ruby 2.6.10) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY I-D.ietf-mpls-mna-requirements SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-mpls-mna-requirements.xml">
<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3031 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3031.xml">
<!ENTITY RFC3032 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3032.xml">
<!ENTITY RFC4385 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4385.xml">
<!ENTITY RFC5920 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5920.xml">
<!ENTITY RFC7274 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7274.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9017 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9017.xml">
<!ENTITY I-D.ietf-mpls-opportunistic-encrypt SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-mpls-opportunistic-encrypt.xml">
<!ENTITY I-D.ietf-mpls-1stnibble SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-mpls-1stnibble.xml">
<!ENTITY RFC4928 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4928.xml">
<!ENTITY RFC5714 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5714.xml">
<!ENTITY RFC8296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8296.xml">
<!ENTITY RFC8662 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8662.xml">
<!ENTITY RFC9088 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9088.xml">
<!ENTITY RFC9089 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9089.xml">
]>


<rfc ipr="trust200902" docName="draft-ietf-mpls-mna-fwk-06" category="info" submissionType="IETF">
  <front>
    <title abbrev="MNA Framework">MPLS Network Actions Framework</title>

    <author initials="L." surname="Andersson" fullname="Loa Andersson">
      <organization>Huawei Technologies</organization>
      <address>
        <email>loa@pi.nu</email>
      </address>
    </author>
    <author initials="S." surname="Bryant" fullname="Stewart Bryant">
      <organization>University of Surrey 5GIC</organization>
      <address>
        <email>sb@stewartbryant.com</email>
      </address>
    </author>
    <author initials="M." surname="Bocci" fullname="Matthew Bocci">
      <organization>Nokia</organization>
      <address>
        <email>matthew.bocci@nokia.com</email>
      </address>
    </author>
    <author initials="T." surname="Li" fullname="Tony Li">
      <organization>Juniper Networks</organization>
      <address>
        <email>tony.li@tony.li</email>
      </address>
    </author>

    <date year="2024" month="January" day="24"/>

    
    <workgroup>MPLS Working Group</workgroup>
    

    <abstract>


<t>This document specifies an architectural framework for the MPLS
Network Actions (MNA) technologies.  MNA technologies are used to
indicate actions for Label Switched Paths (LSPs) and/or MPLS packets
and to transfer data needed for these actions.</t>

<t>The document provides the foundation for the development of a common set
of network actions and information elements supporting additional
operational models and capabilities of MPLS networks.  Some of these
actions are defined in existing MPLS specifications, while others
require extensions to existing specifications to meet the requirements
found in "Requirements for MPLS Network Actions".</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>This document specifies an architectural framework for the MPLS
Network Actions (MNA) technologies.  MNA technologies are used to
indicate actions for Label Switched Paths (LSPs) and/or MPLS packets
and to transfer data needed for these actions.</t>

<t>The document provides the foundation for the development of a common
set of network actions and information elements supporting additional
operational models and capabilities of MPLS networks.  Some of these
actions are defined in existing MPLS specifications, while others
require extensions to existing specifications to meet the requirements
found in <xref target="I-D.ietf-mpls-mna-requirements"/>.</t>

<t>Forwarding actions are instructions to MPLS routers to apply
additional actions when forwarding a packet. These might include
load-balancing a packet given its entropy, whether or not to perform
fast reroute on a failure, and whether or not a packet has metadata
relevant to the forwarding decisions along the path.</t>

<t>This document generalizes the concept of "forwarding actions" into
"network actions" to include any action that an MPLS router is
requested to take on the packet. That includes any forwarding action,
but may include other operations (such as security functions, OAM
procedures, etc.) that are not directly related to forwarding of the
packet.</t>

<t>MNA technologies may use the Label, Traffic Class (TC), and Time to
Live (TTL) fields in an MPLS LSE for an alternative purpose.</t>

<section anchor="REQ-lang"><name>Requirement Language</name>

<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.
These words may also appear in this document in
lower case as plain English words, absent their normative meanings.</t>

<t>Although this is an Informative document, these conventions are
applied to achieve clarity in the requirements that are presented.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<section anchor="normative-definitions"><name>Normative Definitions</name>

<t>This document adopts the definitions of the following terms and
abbreviations from <xref target="I-D.ietf-mpls-mna-requirements"/> as
normative: "Network Action", "Network Action Indication (NAI)",
"Ancillary Data (AD)", and "Scope".</t>

<t>In addition, this document also defines the following terms:</t>

<t><list style="symbols">
  <t>Network Action Sub-Stack (NAS): A set of related, contiguous Label
Stack Entries (LSEs) in the MPLS label stack for 
carrying information related to network actions. The Label, TC, and
TTL values in the LSEs in the NAS may be redefined, but the meaning of
the S bit is unchanged.</t>
  <t>Network Action Sub-Stack Indicator (NSI): The first LSE in the NAS
contains a special label that indicates the start of the NAS.</t>
</list></t>

</section>
<section anchor="abbreviations"><name>Abbreviations</name>

<texttable title="Abbreviations" anchor="Tab-apprev">
      <ttcol align='left'>Abbreviation</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>AD</c>
      <c>Ancillary Data</c>
      <c><xref target="I-D.ietf-mpls-mna-requirements"/></c>
      <c>bSPL</c>
      <c>Base Special Purpose Label</c>
      <c><xref target="RFC9017"/></c>
      <c>ECMP</c>
      <c>Equal Cost Multipath</c>
      <c>&#160;</c>
      <c>eSPL</c>
      <c>Extended Special Purpose Label</c>
      <c><xref target="RFC9017"/></c>
      <c>HBH</c>
      <c>Hop by hop</c>
      <c>In the MNA context, this document.</c>
      <c>I2E</c>
      <c>Ingress to Egress</c>
      <c>In the MNA context, this document.</c>
      <c>ISD</c>
      <c>In-stack data</c>
      <c><xref target="I-D.ietf-mpls-mna-requirements"/></c>
      <c>LSE</c>
      <c>Label Stack Entry</c>
      <c><xref target="RFC3032"/></c>
      <c>MNA</c>
      <c>MPLS Network Actions</c>
      <c><xref target="I-D.ietf-mpls-mna-requirements"/></c>
      <c>NAI</c>
      <c>Network Action Indicator</c>
      <c><xref target="I-D.ietf-mpls-mna-requirements"/></c>
      <c>NAS</c>
      <c>Network Action Sub-Stack</c>
      <c>This document</c>
      <c>PSD</c>
      <c>Post-stack data</c>
      <c><xref target="I-D.ietf-mpls-mna-requirements"/> and <xref target="PSD"/></c>
      <c>RLD</c>
      <c>Readable Label Depth</c>
      <c>This document</c>
      <c>SPL</c>
      <c>Special Purpose Label</c>
      <c><xref target="RFC9017"/></c>
</texttable>

</section>
</section>
</section>
<section anchor="structure"><name>Structure</name>

<t>An MNA solution specifies one or more actions to apply to an MPLS
packet.  These actions and their parameters may be carried in
sub-stacks within the MPLS label stack and/or possibly post-stack
data.  A solution must specify where in the label stack the network
actions sub-stacks occur, if and how frequently they should be
replicated within the label stack, and how the network action
sub-stack and post-stack data are encoded.</t>

<t>A network action sub-stack contains:</t>

<t><list style="symbols">
  <t>Network Action Sub-Stack Indicator: The first LSE in the NAS
contains a label with special semantics, called the MNA label, that
is used to indicate the start of a network action sub-stack.</t>
  <t>Network Action Indicators: Optionally, a set of indicators that
describes the set of network actions. If the set of indicators is not
in the sub-stack, a solution could encode them in post-stack data. A
network action is said to be present if there is an indicator in the
packet that invokes the action.</t>
  <t>In-Stack Data: A set of zero or more LSEs that carry ancillary data
for the network actions that are present. Network action indicators
are not considered ancillary data.</t>
</list></t>

<t>Each network action present in the network action sub-stack may have
zero or more LSEs of in-stack data. The ordering of the in-stack data
LSEs corresponds to the ordering of the network action indicators. The
encoding of the in-stack data, if any, for a network action must be
specified in the document that defines the network action.</t>

<t>Certain network actions may also specify that data is carried after
the label stack. This is called post-stack data. The encoding of the
post-stack data, if any, for a network action must be specified in the
document that defines the network action.  If multiple network actions
are present and have post-stack data, the ordering of their post-stack
data corresponds to the ordering of the network action indicators.</t>

<t>A solution must specify the order that network actions are to be
applied to the packet.</t>

<section anchor="scopes"><name>Scopes</name>

<t>A network action may need to be processed by every node along the
path, or some subset of the nodes along its path. Some of the scopes
that an action may have are:</t>

<t><list style="symbols">
  <t>Hop-by-hop (HBH): Every node along the path will perform the action.</t>
  <t>Ingress-to-Egress (I2E): Only the last node on the path will perform
the action.</t>
  <t>Select: Only specific nodes along the path will perform the action.</t>
</list></t>

<t>If a solution supports the select scope, it must describe how it
specifies the set of nodes to perform the actions.</t>

<t>This framework does not place any constraints on the scope or the
ancillary data for a network action.  Any network action may appear in
any scope or combination of scopes, may have no ancillary data, and may
require in-stack data, and/or post-stack data.  Some combinations may
be sub-optimal, but this framework does not place any limitations on
an MNA solution.  A specific MNA solution may define such constraints.</t>

</section>
<section anchor="partial-processing"><name>Partial Processing</name>

<t>As described in <xref target="RFC3031"/>, legacy devices that do not recognize the
MNA label will discard the packet if the top label is the MNA label.</t>

<t>Devices that do recognize the MNA label might not implement all of the
network actions that are present. A solution must specify how
unrecognized network actions that are present should be handled.</t>

<t>One alternative is that an implementation should stop processing
network actions when it encounters an unrecognized network
action. Subsequent present network actions would not be
applied. The result is dependent on the solution's order of
operations.</t>

<t>Another alternative is that an implementation should drop any packet
that contains any unrecognized present network actions.</t>

<t>A third alternative is that an implementation should perform all
recognized present network actions, but ignore all unrecognized
present network actions.</t>

<t>Other alternatives may also be possible and should be specified by the
solution.</t>

<t>In some solutions, an indication may be provided in the packet or in
the action as to how the forwarder should proceed if it does not
recognize the action. Where an action needs to be processed at every hop,
it is recommended that care be taken not to construct an LSP that
traverses nodes that do not support that action. It is recognised that
in some circumstances it may not be possible to construct an LSP that
avoids such nodes, such as when a network is re-converging
following a failure or when IPFRR <xref target="RFC5714"/> is taking place.</t>

</section>
<section anchor="signaling"><name>Signaling</name>

<t>A node that wishes to make use of MNA and apply network actions to
a packet must understand the nodes that the packet will transit and
whether or not the nodes support MNA and the network actions that
are to be invoked. These capabilities are presumed to be signaled by
protocols that are out-of-scope for this document and are presumed to
have per-network action granularity. If a solution requires
alternate signaling, it must specify so explicitly.</t>

<section anchor="readable-label-depth"><name>Readable Label Depth</name>

<t><xref target="RFC8662"/> introduced the concept of Entropy Readable Label Depth
(ERLD). Readable Label Depth (RLD) is the same concept, but
generalized and not specifically associated with the Entropy Label
(EL) or MNA. Readable Label Depth is defined as the number of
LSEs, starting from the top of the stack, that a router can
read in an incoming MPLS packet with no performance impact.</t>

<t>ERLD is not redundant with respect to RLD because ERLD specifically
specifies a value of zero if a system does not support the Entropy
Label. Since a system could reasonably support MNA or other MPLS
functions and need to advertise an RLD value but not support the
Entropy Label, another advertised value is required.</t>

<t>A node that pushes an NAS onto the label stack is responsible for
ensuring that all nodes that are expected to process the NAS will have
the entire NAS within their RLD. A node SHOULD use signaling (e.g.,
<xref target="RFC9088"/>, <xref target="RFC9089"/>) to determine this.</t>

<t>Per <xref target="RFC8662"/>, a node that does not support EL will advertise a
value of zero for its ERLD, so advertising ERLD alone does not suffice
in all cases. A node MAY advertise both ERLD and RLD.</t>

<t>RLD is advertised by an IGP MSD-Type value of (TBA) and MAY be
advertised as a Node MSD, Link MSD, or both.</t>

<t>An MNA node MUST use the RLD determined by selecting the first
advertised non-zero value from:</t>

<t><list style="symbols">
  <t>The RLD advertised for the link.</t>
  <t>The RLD advertised for the node.</t>
  <t>The non-zero ERLD for the node.</t>
</list></t>

</section>
</section>
<section anchor="state"><name>State</name>

<t>A network action can affect the state stored in the network. This
implies that a packet may affect how subsequent packets are
handled. In particular, one packet may affect subsequent packets in
the same LSP.</t>

</section>
</section>
<section anchor="carry"><name>Encoding</name>

<t>Several possible ways to encode NAIs have been proposed.  In this
section, we enumerate the possibilities and some considerations for
the various alternatives. In this section, we enumerate the
possibilities and some considerations for the various alternatives.</t>

<t>When network actions are carried in the MPLS label stack, then
regardless of their type, they are represented by a set of LSEs termed
a network action sub-stack (NAS).  An NAS consists of a special label,
optionally followed by LSEs that specify which network actions are to
be performed on the packet and the in-stack ancillary data for each
indicated network action. Different network actions may be placed
together in one NAS or may be carried in different sub-stacks.</t>

<t><xref target="I-D.ietf-mpls-mna-requirements"/> requires that a solution not
add unnecessary LSEs to the sub-stack (Section 3.1, requirement
9). Accordingly, solutions should also make efficient use of the bits
within the sub-stack, as inefficient use of the bits could result in
the addition of unnecessary LSEs.</t>

<section anchor="NAI"><name>The MNA Label</name>

<t>The first LSE in a network action sub-stack contains a special label
that indicates a network action sub-stack. A solution has several
choices for this special label.</t>

<section anchor="existing-base-spl"><name>Existing Base SPL</name>

<t>A solution may reuse an existing Base SPL (bSPL). If it elects to do
so, it must explain how the usage is backward compatible, including
in the case where there is ISD.</t>

<t>If an existing inactive bSPL is selected and its usage would not be
backward compatible, then it must first be retired per
<xref target="RFC7274"/> and then reallocated.</t>

</section>
<section anchor="new-base-spl"><name>New Base SPL</name>

<t>A solution may select a new bSPL.</t>

</section>
<section anchor="new-extended-spl"><name>New Extended SPL</name>

<t>A solution may select a new eSPL. If it elects to do so, it must
address the requirement for the minimal number of LSEs.</t>

</section>
<section anchor="user-defined-label"><name>User-Defined Label</name>

<t>A solution may allow the network operator to define the label that
indicates the network action sub-stack. This creates management
overhead for the network operator to coordinate the use of this label
across all nodes on the path using management or signaling
protocols. The user-defined label could be network-wide or
LSP-specific.  If a solution elects to use a user-defined label, the
solution should justify this overhead.</t>

</section>
</section>
<section anchor="tc-and-ttl"><name>TC and TTL</name>

<t>In the first LSE of the network action sub-stack, only the 20 bits of
Label Value and the Bottom of Stack bit are significant for MNA
purposes; the TC field (3 bits) and the TTL (8 bits) are not used.
This could leave 11 bits that could be used for MNA purposes.</t>

<section anchor="tc-and-ttl-retained"><name>TC and TTL retained</name>

<t>If the solution elects to retain the TC and TTL fields, then the first
LSE of the network action sub-stack would appear as:</t>

<figure><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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |               Label                   | TC  |S|      TTL      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                Label:  Label value, 20 bits
                TC:     Traffic Class, 3 bits
                S:      Bottom of Stack, 1 bit
                TTL:    Time To Live
]]></artwork></figure>

<t>Further LSEs would be needed to encode NAIs.  If a solution elects to
retain these fields, it must address the requirement for the minimal
number of LSEs.</t>

</section>
<section anchor="tc-and-ttl-repurposed"><name>TC and TTL Repurposed</name>

<t>If the solution elects to reuse the TC and TTL fields, then the first
LSE of the network action sub-stack would appear as:</t>

<figure><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
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                Label                  |x x x|S|x x x x x x x x|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                Label:  Label value, 20 bits
                x:      Bit available for use in solution definition
                S:      Bottom of Stack, 1 bit
]]></artwork></figure>

<t>The solution may use more LSEs to contain NAIs.  If a solution elects
to use more LSEs it must address the requirement for the minimal
number of LSEs.</t>

</section>
</section>
<section anchor="length-of-the-nas"><name>Length of the NAS</name>

<t>A solution must have a mechanism (such as an indication of the length
   of the NAS) to enable an implementation to find the end of the NAS.
   This must be easily processed even by implementations that do not
   understand the full contents of the NAS.  Two options are described
   below, other solutions may be possible.</t>

<section anchor="lastcontinuation-bits"><name>Last/Continuation Bits</name>

<t>A solution may use a bit per LSE to indicate whether the NAS continues
into the next LSE or not. The bit may indicate continuation by being
set or by being clear. The overhead of this approach is one bit per
LSE and has the advantage that it can effectively encode an
arbitrarily sized NAS. This approach is efficient if the NAS is small.</t>

</section>
<section anchor="length-field"><name>Length Field</name>

<t>A solution may opt to have a fixed size length field at a fixed
location within the NAS. The fixed size of the length field may not be
large enough to support all possible NAS contents. This approach may
be more efficient if the NAS is longer but not longer than can be
described by the length field.</t>

<t>Advice from hardware designers advocates a length field as this
minimizes branching in the logic.</t>

</section>
</section>
<section anchor="encoding-of-scopes"><name>Encoding of Scopes</name>

<t>A solution may choose to explicitly encode the scope of the actions
contained in a network action sub-stack. A solution may also choose to
have the scope encoded implicitly, based on the actions present in the
network action sub-stack. This choice may have performance
implications as an implementation might have to parse the network
actions that are present in a network action sub-stack only to
discover that there are no actions for it to perform.</t>

<t>Solutions need to consider the order of scoped NAIs and their
associated AD within individual sub-stacks and the order of per-scope
sub-stacks so that network actions and the AD can be most
readily found and not need be processed by nodes that are not required
to handle those actions.</t>

</section>
<section anchor="INDEX"><name>Encoding a Network Action</name>

<t>Two options for encoding NAIs are described below, other solutions may
be possible. Any solution should allow the encoding of an arbitrary
number of NAIs.</t>

<section anchor="bit-catalogs"><name>Bit Catalogs</name>

<t>A solution may opt to encode the set of network actions as a list of
bits, sometimes known as a catalog. The solution must provide a
mechanism to determine how many LSEs are devoted to the catalog when
the NAIs are carried in-stack. A set bit in the catalog would indicate
that the corresponding network action is present.</t>

<t>Catalogs are efficient if the number of present network actions is
relatively high and if the size of the necessary catalog is small. For
example, if the first 16 actions are all present, a catalog can encode
this in 16 bits. However, if the number of possible actions is large,
then a catalog can become inefficient. Selecting only one action that
is the 256th action would require a catalog of 256 bits, which would
require more than one LSE when the NAIs are carried in-stack.</t>

<t>A solution may include a bit remapping mechanism so that a given
domain may optimize for its commonly used actions.</t>

</section>
<section anchor="operation-codes"><name>Operation Codes</name>

<t>A solution may opt to encode the set of present network actions as a
list of operation codes (opcodes).  Each opcode is a fixed number of
bits. The size of the opcode bounds the number of network actions
that the solution can support.</t>

<t>Opcodes are efficient if there are only one or two active network
actions. For example, if an opcode is 8 bits, then two active network
actions could be encoded in 16 bits. However, if 16
actions are required, then opcodes would consume 128 bits. Opcodes are
efficient at encoding a large number of possible actions. If only
the 256th action is to be selected, that still requires 8 bits.</t>

</section>
</section>
<section anchor="PSD"><name>Encoding of Post-Stack Data</name>

<t>A solution may carry some NAI and AD as PSD. For ease of parsing, all
AD should be co-located with its NAI.</t>

<t>If there are multiple instances of post-stack data, they should occur
in the same order as their relevant network action sub-stacks and then
in the same order as their relevant network actions occur within the
network action sub-stacks.</t>

<section anchor="first-nibble-considerations"><name>First Nibble Considerations</name>

<t>The first nibble after the label stack has been used to convey
   information in certain cases <xref target="RFC4385"/>. A consolidated view of
   first nibble uses is provided in <xref target="I-D.ietf-mpls-1stnibble"/>.</t>

<t>For example, in <xref target="RFC4928"/> this nibble is investigated to find out
   if it has the value "4" or "6". If it is not, it is assumed that
   the packet payload is not IPv4 or IPv6, and Equal Cost Multipath
   (ECMP) is not performed.</t>

<t>It should be noted that this is an inexact method. For example, an Ethernet
   Pseudowire without a control word might have "4" or "6" in the first
   nibble and thus will be ECMP'ed.</t>

<t>Nevertheless, the method is implemented and deployed, it is used
   today and will be for the foreseeable future.</t>

<t>The use of the first nibble for BIER is specified in
   <xref target="RFC8296"/>. BIER sets the first nibble to 5. The same is true for
   a BIER payload as for any use of the first nibble: it is not
   possible to conclude that the payload is BIER even if the first
   nibble is set to 5 because an Ethernet pseudowire without a control
   word might begin with a 5.  However, the BIER approach meets the
   design goal of <xref target="RFC8296"/> to determine that the payload is IPv4,
   IPv6 or a pseudowire using a control word.</t>

<t><xref target="RFC4385"/> allocates 0b0000 for the pseudowire control word and 0b0001
 as the control word for the pseudowire Associated Channel Header
 (ACH).</t>

<t>A PSD solution should specify the contents of the first nibble, the
actions to be taken for the value, and the interaction with post-stack
data used concurrently by other MPLS applications.</t>

</section>
</section>
</section>
<section anchor="semantics"><name>Semantics</name>

<t>For MNA to be consistent across implementations and predictable in
operational environments, its semantics need to be entirely
predictable. An MNA solution MUST specify a deterministic order for
processing each of the Network Actions in a packet. Each network
action must specify how it interacts with all other previously defined
network actions. Private network actions MUST be included in the
ordering of network actions, but the interactions of private actions
with other actions are outside of the scope of this document.</t>

</section>
<section anchor="definition-of-a-network-action"><name>Definition of a Network Action</name>

<t>Network actions should be defined in a document and must contain:</t>

<t><list style="symbols">
  <t>Name: The name of the network action.</t>
  <t>Network Action Indicator: The bit position or opcode that indicates
that the network action is active.</t>
  <t>Scope: The document should specify which nodes should perform the
  network action as described in <xref target="scopes"/>.</t>
  <t>State: The document should specify if the network action can modify
state in the network, and if so, the state that may be modified and
its side effects.</t>
  <t>Required/Optional: The document should specify whether a node is
required to perform the network action.</t>
  <t>In-Stack Data: The number of LSEs of in-stack data, if any, and its
encoding. If this is of a variable length, then the solution must
specify how an implementation can determine this length without
implementing the network action.</t>
  <t>Post-Stack Data: The encoding of post-stack data, if any. If this is of a
variable length, then the solution must specify how an
implementation can determine this length without implementing the
network action.</t>
</list></t>

<t>A solution should create an IANA registry for network
actions.</t>

</section>
<section anchor="management-considerations"><name>Management Considerations</name>

<t>Network operators will need to be cognizant of which network actions
are supported by which nodes and will need to ensure that this is
signaled. Some solutions may require network-wide
configuration to synchronize the use of the labels that indicate the
start of an NAS. Solution documents must make clear what management
considerations apply to the solutions they are describing. Solutions
documents must describe mechanisms for performing network diagnostics
in the presence of MNAs.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>An analysis of the security of MPLS systems is provided in
<xref target="RFC5920"/>, which also notes that the MPLS forwarding plane has no
built-in security mechanisms.</t>

<t>Central to the security of MPLS networks is operational security of
the network; something that operators of MPLS networks are well versed
in.  The deployment of link-level security (e.g., <xref target="MACsec"/>) prevents
the covert acquisition of the label stack for an attack.  This is
particularly important in the case of a network deploying MNA, because
the MNA information may be sensitive.  Thus the confidentiality and
authentication achieved through the use of link-level security is
particularly advantageous.</t>

<t>Some additional proposals to add encryption to the MPLS forwarding 
plane have been suggested <xref target="I-D.ietf-mpls-opportunistic-encrypt"/>, but
no mechanisms have been agreed upon at the time of publication of 
this document.  <xref target="I-D.ietf-mpls-opportunistic-encrypt"/> offers hop-by-
hop security that encrypts the label stack and is functionally 
equivalent to that provided by <xref target="MACsec"/>.  Alternatively, it also 
offers end-to-end encryption of the MPLS payload with no 
cryptographic integrity protection of the MPLS headers.</t>

<t>Particular care would be needed when introducing any end-to-end
security mechanism to allow an in-stack MNA solution that needed to
employ on-path modification of the MNA data, or where post-stack
MNA data needed to be examined on-path.</t>

<t>A cornerstone of MPLS security is to protect the network from
processing MPLS labels originated outside the network.</t>

<t>Operators have considerable experience in excluding raw MPLS-encoded
packets at the network boundaries for example, by  excluding all MPLS
packets and all packets that are revealed to be carrying an MPLS 
packet as the payload of IP tunnels.  Where such packets are accepted
into an MPLS network from an untrusted third party, non-MPLS packets 
are immediately encapsulated in an MPLS label stack specified by the
MPLS network operator and raw-MPLS packets have additional label
stack entries imported as specified by the MPLS network operator. 
Thus, it is difficult for an attacker to pass a raw MPLS-encoded
packet into a network or to present any instructions to the network
forwarding system.</t>

<t>Within a single well-managed domain, an adjacent domain may be
considered to be trusted provided that it is sufficiently shielded
from third-party traffic ingress and third-party traffic observation.
In such a situation, no new security vulnerabilities are introduced by
MNA.</t>

<t>In some inter-domain applications (including carrier's carrier) where
a first network's MPLS traffic is encapsulated directly over a second
MPLS network by simply pushing additional MPLS LSEs, the contents of
the first network's payload and label stack may be visible to the
forwarders in the second network.  Historically this has been benign,
and indeed useful for ECMP.  However, if the first network's traffic
has MNA information this may be exposed to MNA-capable forwarders
causing unpredictable behaviour or modification of the customer MPLS
label stack or MPLS payload.  This is an increased vulnerability
introduced by MNA that SHOULD be addressed in any MNA solution.</t>

<t>Several mitigations are available to an operator:</t>

<t>a) Reject all incoming packets containing MNA information that do not
come from a trusted network. Note that it may be acceptable to accept
and process MNA information from a trusted network.</t>

<t>b) Fully encapsulate the inbound packet in a new additional MPLS label
stack such that the forwarder finds a BoS bit imposed by the carrier
network and only finds MNA information added by the carrier network.</t>

<t>A mitigation that we reject as unsafe is having the ingress LSR push
sufficient additional labels such that any MNA information received in
packets entering the network from a third-party network is made
inaccessible due to it being below the RLD.  This is unsafe in the
presence of an overly conservative RLD value which can result in the
third-party MNA information becoming visible to and acted on by an
MNA forwarder in the carrier network.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests that IANA allocate a code point from the "IGP
MSD-Types" registry in the "Interior Gateway Protocol (IGP)
Parameters" namespace for "Readable Label Depth", referencing this
document.</t>

</section>
<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>This document is the result of work started in MPLS Open Design
Team, with participation by the MPLS, PALS, and DETNET working groups.</t>

<t>The authors would like to thank Adrian Farrel for his contributions
and to John Drake and Jie Dong for their comments.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&I-D.ietf-mpls-mna-requirements;
&RFC2119;
&RFC3031;
&RFC3032;
&RFC4385;
&RFC5920;
&RFC7274;
&RFC8174;
&RFC9017;


    </references>

    <references title='Informative References'>

&I-D.ietf-mpls-opportunistic-encrypt;
&I-D.ietf-mpls-1stnibble;
&RFC4928;
&RFC5714;
&RFC8296;
&RFC8662;
&RFC9088;
&RFC9089;
<reference anchor="MACsec" >
  <front>
    <title>IEEE 802.1AE Media Access Control (MAC) Security</title>
    <author >
      <organization>IEEE Computer Society</organization>
    </author>
    <date year="2006" month="August"/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
H4sIAH6CsWUAA+1dW3cbyXF+71/RoR5MJgAsane1EnNyjimSWtGHkhiBGyeP
g5kGONZgBpkLKVjif8lvyS9LfVXVPT0DUNLafsiDKa+Jy3R3dXXdL83pdGrS
KsvL1Ynt2uX0hWnztnAn9u311dy+c+19VX+0p2mbV2VjX9fJ2uETkywWtbuj
x96dRp9mVVrS6xOb1cmyneaOZlxvima6LpPp8v7j9Olzc7/Syf9EI2hd+0td
dRuTJq1bVfX2xOblsjJNt1jnTUOrttsNTXh5cfPa5Jv6xLZ117TPnj59+fSZ
MUnX3lb1ibF2Sv/xT142J/ZqZk/LzNVNU5X+C4Hsqkp2v6pqAupNl9y73N64
9LasimqVu8Z/79ZJXpzYokr+sMlnZbez3nxmX9XbpGyHi81bd5/U7eg7Xu3X
Mr8jIPJ2a6ulnXd17bb2p18uz0ZrNos/NDLLgieZpdV6Z/m3tHyVpvlw9bdJ
2966++FXvPi76mOejBZay9OzBZ7+Q4kn9q51M7NXo4VuqnIbfchL/LEr842r
PQmNUdnSkFmR/0F/G1NWNUFAOMFhXk7PZ0Piqd1/d3nt1q5sGzzx4fXZs+Pj
l/ryh6c/HPcvn+nLH3948ZO+/Onls6f68udnP/+oL18ch5cvnx7/fGIMaO9R
OKrNpqpb2lfT5unUlWm93bS7jx03bZkvFoXzYLx89sKD8fNxWPvZy+f+5fPn
zwIYL170L3l7b0/PGpeeMP6UNy8vLi7si6fPZsenF/aty3Ii6TR1TWPPiF/q
qrCHNOrIzl3a1URhPDYjBjuxp92K2McS/zznT3sGCifHs59V603X0vnNq5S2
tjXT6dQmi6atk7Q15uY2byxxe4cDsc3GpfmS+MUmpU3q9DZvXdp2dVLYpZcN
lhBricCY981YsBySHDmybcR6M8uyJf6Ipna2a1xG1EMnleWQGTbRKTD/VbJw
hZ3f5216S49dJ+0tzX01v26OCLTs9/QIi55Nkn50bWPoM5qLREpSNkvaLOEo
saVzGQ1WeJuwwgzbdv2uN3V1l2cEFna1rLqSRtNzYaOZu3NFteFnicUTS9y0
pu8b1xp6XyoKPPyAJZAfPeYKoXbbdEx3EJVJluX4MilMRcyVyGu7rjJXyAxp
skkWeUFPEWC0Cm9XlwJO59Xa4XPemQlr1wB3mZcOMFj3CSRO6/FoPd2UV2sm
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
p+hBE0mMf5U4+23o/unpfmdGnNa9I8Ll3tCMsCt3SKlL5q/9RafHtMBVwP2i
0t1DGkquHkc/D8wcvglXrFo4gMQ/RNhNsBDG8QZ/F2grMXh/0YnpOy8KTvoT
2yVlFJkXwu8zXQIv96i9O514n4cBgZUYxy5UnTW46pe1OVbtgr2/zNHUnScF
Nsk3O3YQja2vf9DLKGFt13q/ZWDEfXgabyakzckeJKfFsDCI7vOVRo+kkIu+
Mr7YCFfIqwjYR2zGU5tvFmm61Uoupx3HU/beTg/SRr9iWcXM2E+XrGrItW6D
7Qu9I43DGqdbFFFliBlaiPZ716exSySgb+UWEoNrSAIGmYj10WaHgliRN+Fa
XG6+MJCm5Bg5f69w0vZMTbK7J1o0dvQNKUj95nolplGQXJnhMhNUrEQnoaSs
DZHit/qOSMNPVas62ZC8YBt8xRtBha+2K8Tjb9ljRE0QkcN1oBXp7h7X48mF
B9rLym5wuY1gNLsihumIU4EcL1L7YOA7aRZVC/6MW4OZbFVOuWxZDL9h+Q+G
i4khzdd1fJmP8d9GRYTw4z4l0o2mE7PeT6sapQctx+i9KO55R9sTW9/75fkd
FQyxL9e3B+H2hXzFNdpZcGSioeC590EiMpEH9QZ7CI2Rdc66hW8R1/4BWyf3
vMpUg/smNI0NIePMRsKXnC7jYByRXTQbfMPo5j4xITjvpu9D7hkylRu01VTx
l6L6G5X9jWQasfDESLi8vLYtWk1QUa63DnBJV9TtRtIM7cos+fvrBAdYlvs0
+O+psNDDHRIQaMQq6OeLr6K3bCXl6zX+2ESrFUDJpunkytboGuiYgXfucRiA
EKrvgSA6g+GCUufTC08pwpd5nV41K9pDGirHa9m9a82sgUbw4Ug0OIEl26G2
crWUZqDc/zHqsILWfgUZE+7B2u7c9x4XeUQiXqwT9MtJSiCxIPtCtPdUTLXM
ShaRA79J9uckxSJRZnHhgiUX6MkfbBCPvpgLIcTOZ5dQtnWLSiDamXaREx1M
mQ5wkwGXLOd6CaqEona/rxaNq+8SMflxQwfXF9JGWilXA0FxD0rg/7uuQAf9
4P6CqI9/sYWkia774HDHVHccB7LsYWgE0vRt/Tt/6Vp9JALMJD7yJuinB5g6
wvaaITmHq9W5kAZthYTcbEi96LuF/7PlNu7hXz8IF6JrfDwKA5ooDBiACWHl
Mhvwj9ozd3mIHYOJwh0l4bJjga/vlLVvcvTQ6lUErLhD9mfhSvJWJkb+nkPG
2r9xy65gFkCgPw4ED2oJeoAVcQazjo0wXk4hJ4lbabaJHpvyjRVFdMtKY2DM
AXldGUcTF47YP6+6Wu4e3FVSKZE2kYX28sc46/+GBuO0Nzz1ugNcDoDMVUR/
WzOgPImDgle0933hfJGuF3Xb4e1UfcvvOuesVF9vEQqTRQZ7OXRiTHJkP7g/
c3sWKYdwEYOXfxolU7t3hOG+MpZrKkSYB4YPdPCuavsSTj0SUQsBJH5nJJor
VwWMV3tkcmMWR/Z1VwxVgYYmWVOGS7BKbUAbM0gs0lliBJ+rv4YHmT1I4VeV
XtK9FopSIa983sdc/V36Mm68F4JgZ2y0o9Po/ASYe2hpOSTcDt4kS87AgDo1
mONF49X8A0sC04vWHfXVRNv0RDS8AT11+Z14p54OkEurx5EjfyaRKI6u1VmT
0WnQ5MgmFE466/i081aLhLn2jGfkqx4Ci/gd6oWokScO2iUSL+RSOxH2dy66
IkMcaMSMQncsTxLDON4vlwQBnkjCsbXEzZhS5ZyUbHP2FBEcxfHpPZF40jhC
MLz4Wf+4h1phPMBnkzjtlMHazVF+729UObj85dr4+x2agz5epYAcXPIJkdz5
JcEfatvipjlu97OHNPQIdr9e0HzAUe5mg0vvIG0P9l37coBmZ7nHXY497wMs
vMvTFDV2ZDeu9K/TjLaY+14CPgaEvUAXHCwS+cXMR4ZySQsidGVuXLKeaE6J
nRQksbXK3JtSE3t9iv/H+Zxf3Ly7uOF5AeIKf8DP//0h+YNivsSlyD+q3krK
j/Y0q3MikNd0dE70jTTmwZxbaCxJ/+bRH6tbAq9G4Aqf/DF39hyXQWpuLOeL
Dnn7tO7/AWSCyVDFcAAA

-->

</rfc>

