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


<rfc ipr="trust200902" docName="draft-ietf-mpls-mna-fwk-05" 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="2023" month="October" day="19"/>

    
    <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 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
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 TC and 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>

</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. The 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, and how 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 present network actions. 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 on the
ancillary data for a network action.  Any network action may appear in
any scope or combination of scopes, may have no ancillary data, 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 may not implement all of the
present network actions. A solution must specify how unrecognized
present network actions 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
recognise the action. Where an action needs to processed at every hop,
it is RECOMMENDED that care is 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. For example where a network is re-converging
following a failure or where 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>A node that pushes a 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 the 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 state in the network. This implies that a
packet may affect how subsequent packets are handled.</t>

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

<t>Several possibilities to carry NAIs have been discussed in MNA drafts
and in the MPLS Open DT
<xref target="MPLSODT"/>. In this section, we
enumerate the possibilities and some considerations for the various
alternatives.</t>

<t>All types of network actions are represented in the MPLS label stack
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.</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
7). Accordingly, solutions should also make efficient use of the bits
within the sub-stack, as inefficient use of the bits will 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 backwards 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 in accordance with
<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. 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, the TC field
(3 bits) and the TTL (8 bits) are not used. This leaves 11 bits that
could be used for other 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 field, 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 field, 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 solution definition
                S:      Bottom of Stack, 1 bit
]]></artwork></figure>

<t>The solution may use more LSEs to contain NAIs.</t>

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

<t>A solution must have a mechanism to indicate the length 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 in order that network actions and the AD can be most
readily found and not need to 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 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. 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.</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 in 16 bits. However, if there are 16
actions 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 optionally carry some data as PSD.</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 functions 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
   BIER payload, as for any use of the first nibble, it is not
   possible from the first nibble itself being set to 5, conclude that
   the payload is BIER.  However, it achieves the design goal of
   <xref target="RFC8296"/>, to exclude that the payload is IPv4, IPv6 or a
   pseudowire.</t>

<t>There are possibly more examples, they will be added if we find
   that they further highlight the issue with using the first nibble.</t>

<t><xref target="RFC4385"/> allocates 0b0000 for the PW control word and
 0b0001 for the PW 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>

<section anchor="order-of-evaluation"><name>Order of Evaluation</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 is outside of the scope of this document.</t>

</section>
</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. The action may apply to each transit node (HBH),
only the egress node that pops the final label off of the label
stack, or specific nodes along the label switched path.</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
signalled appropriately. 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>Some 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. Additionally, MPLS does not provide any cryptographic
integrity protection on the MPLS headers. However, both such
mechanisms would significantly complicate the operation of any MNA
solution and would likely be significantly deleterious to forwarding
performance. This is particularly the case where an MNA solution used
an in-stack approach that needed to employ on-path modification of the
MNA data.</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 the purposes of an
attack.  This is particularly important in the case of a network
deploying MNA, because the MNA information may be sensitive. Thus the
confidentiallity and authentication achieved through the use of
link-level security is particularly advantageous.</t>

<t>A cornerstone of MPLS security is that packets entering an MPLS
network from an untrusted third party are immediately encapsulated in
an MPLS label stack specified by the MPLS network operator and thus
are unable to present any labels to the network forwarding system.</t>

<t>It is thus difficult for an attacker to pass a raw MPLS-encoded 
packet into a network, and operators have considerable experience 
in excluding such 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.</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 vulnerabilites 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 the purposes of ECMP.  However where 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>There are a number of mitigations that 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
thirty 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 Desgign
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;
&I-D.ietf-mpls-opportunistic-encrypt;
&RFC3032;
&RFC7274;
&RFC8662;
&RFC9017;
&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>
&RFC2119;
&RFC8174;
&RFC3031;
&RFC5714;
&RFC4385;
&I-D.ietf-mpls-1stnibble;
&RFC5920;


    </references>

    <references title='Informative References'>

&RFC4928;
&RFC8296;
<reference anchor="MPLSODT" target="https://wiki.ietf.org/en/group/mpls/odt/main">
  <front>
    <title>MPLS Working Group Wiki</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>



  </back>

<!-- ##markdown-source:
H4sIANQ/MWUAA+1dW3cbOXJ+x69A5IeVNiRteWY8tnJyzsqSPNYe2VZMTSZ5
bHaDVK+b3dy+SMO1/V/yW/LLUl9VAY1uUh5NNicnD5F3VryggUKh7hdoOp2a
tMrycnViu3Y5fWnavC3ciX13fTW37117X9Wf7Gna5lXZ2Dd1snb4xCSLRe3u
aNj70+jTrEpLen1iszpZttPc0YzrTdFM12UyXd5/mj77wdyvdPJf6Ala1/5U
V93GpEnrVlW9PbF5uaxM0y3WedPQqu12QxNeXty8MfmmPrFt3TXt82fPXj17
bkzStbdVfWKsndJ//JOXzYm9mtnTMnN101Sl/0Igu6qS3a+qmoB62yX3Lrc3
Lr0tq6Ja5a7x37t1khcntqiSP23yWdntrDef2df1Ninb4WLz1t0ndTv6jlf7
uczvCIi83dpqaeddXbut/eGny7PRms3iT43MsuBJZmm13ln+HS1fpWk+XP1d
0ra37n74FS/+vvqUJ6OF1jJ6tsDoP5UYsXetm5m9Gi10U5Xb6ENe4s9dmW9c
7UlojMqWHpkV+Z/0tzFlVRMEhBMc5uX0fDYkntr9tctrt3Zl2+yOqDabqm5p
xabN06kr03q7aTHs45uz755991xf/vj8x+/15csXL/ynr54d/xhevnzZv3yF
l+9OzxqXnjD4yhqXFxcX9uWz57Pj0wv7zmU5UVSauqaxZ0SudVXYQ3rqyM5d
2tV0wPxsRvR9Yk+7FVGvJfJ9wZ/29BsQx7OfVetN1xL65lVK29waA66IMEQQ
fv/quQf25fNXLxhY4qsP5zcDaHd5zf6Sf5LDapN65doTe9u2m+bk6dN7+oLR
OiNQnrry6QrjnwLHT6usfUpnV1prptOpTRZNWydpa8zNbd5Y4vwOh2ObjUvz
JfGOTUqb1Olt3rq07eqksEsvJyxtxRKxMWxmLGQOSaYc2TZiw5llORN/RFM7
2zUuI0oi3GQ55IdNdArMf5UsXGHn93mb3tKw66S9pbmv5tfNEYGWPaUhjJpN
kn5ybWPoM5qLxEtSNkvCPB1YYkvnMnpY4W3CCjNs2/W73tTVXZ4RWNjVsupK
eprGhY1m7s4V1YbHErsnljhrTd83rjX0vlQUePgBSzhwGuYKoXzbdEzpOMok
y3J8mRSmIkZL5LVdV5krZIY02SSLvKBRBBitwtvVpYDTebV2+Jx3ZsLaNcBd
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
/KqWwzCOQykkk+ngVOii/6KmWeqkxnE2HLLtTzter/cl83BS7HOQYPXulVLe
G7aMxlim8+SEkpDeMv+VlsKCntZYglr2svlLw64Eno48XIXNxc8r5Qym6bMz
pkALKm246la3AMDHIGHxhsyNP1iQ4njzmqdnrnsICyi9cLXkArGuvAf6JQRG
cPQ5dI3qxQAjrJMhsy3B6lty0O6V8Mn05Axvdld553iIsYaJw7CS466mRU2O
2q14iLJStcpTEQ4XUUlUX5kzOCjypFGd28bphqhm0FdOLKMMX+Or79VbfJz7
HvKdYUVJovSLaCWpxAcZEEJx0vThIB8xGhbojesXd5wpjhX0JR5RLN/IUiq9
kmZPmlh64wTSCjXBag2MS3BDzD4C7huxEfFRKoMQJDg/pM9qp37EoL0zj5vr
6GznQRb6miofVWTgfHZeEJtJ3DNUNpsoI3N67hkOkusuz9ApEJUTe/EdZkTO
i2eNS6Dp8W8VjukctJZwB3FX03LuJeeYIXojferI72dQIDZKi0i5CVt+mWEp
g6AwfV8NWlljBkjGBbufn1y+P7/4N4S0IvXDgUT/jGAtVkj2YYVkYoXERUlj
f1eiBnGVIvcMi0DeajAC7dtBuT9hW+MsaRPi6V3WVRkbM+veMmJJUhR5gy8N
7JsJR6Jbstwb+6lE1xgPSWUlkblDG0LrCGxiBmZEnxlC/GuNYg02VQRrd5Vv
guRAl07Odb+GG4PK+Bu1jSPLRBPKfbkj8DZkPIhj5TjUniqqJHk2lt69Q/BQ
VQw3bxaJqs1bYn0Jrql3EOmfPmLqoQ/aEcl+o8n+iX9WwhfHLwZRb1ZKAsqk
R7+obz5Uw4YAoYkexLnN7NvqHiHQyZ49hRqSsBnL2nBi2E8Zzr9wKXIRUdR4
puWGTJuQTrA5okZXoxng5z+8IG2kX8iR+eq4fgmCh8ZZoTUJ+/PQUEjH+pUV
JpYhmpntkHdouGXLh5w80tEcoAoE2FQ+Us+9ySar+EYJ5Q3WjyG1KJ3pxVai
LrGQeIL8jmRj7BkEzeMZ7SE6AjcZZbi+ZdemLMYOqw2/OCLTl8vP5T0nJNXS
6ZPbcuo3I+rTJxaQnKN0+E7hcWCjvi8gCXWgKE0SaPayjCqjQA7wsO9FM93t
qMBBlYtWW0d7e6nUIE7zg7PYEB4L5kD5LQ5QEI9fhAm8ZtClFNtKqlCTHRH+
8fOXOl+0f9PvP2l7SZ0IH32D1zgkCiyZHQ7JG1+DouF6LUNoWknKaMZJodmx
2tC/FXVNkNpCW9Y+CvUpOMl0cqZRenQatILNfIxD8RXq1HGpgJQ5yb526tFD
wxB3FoWOE9SBiM4XNySvbejXf8jqCaZA+bumCW3tAkLkITxo+nnOfsNi932+
wGGdDRKvHHnp01mljOH+gyh2L8iAq8UZY98yxNVafBNPfKUFAZVq9wNXJGiZ
1vffvfwBGWNuaqRjyzM2ve5ydw8Wp0kGIHR4ktVaX7pHEw2zl8dNK8P5wgia
Ysh7pZRn4E6fr1/FndTZWZ/cOSK/VWj6z9Fn3rVS3YfJvGspJQYH3x+A8w9e
HEy0AFC6jyb6ksxJKYsaVoBhok2yxXUS+oC9vL77HlPR7xdMC/s6U/HcITpX
j/xjIS8sW71soxrJUmwMWVqaRLiYh3CRtrhL4rbKpOXD19/R1xdghFJAvG5c
l1X3UEogLOAhYe8QNy+h9T12AXpUeONFQn80jycgpvBOk64EIHbyBw/6e4gu
eqxwjYhChdBqWQQ7HprSy9ymqLYQGIJm0B7maKsMrhRu0dAlfOSTfpM+chKX
6tAoOQtUHuWEB9SGZ19fXny0PomqvS94Tkp8nr96Aep9ncPkddo6MJiDaOgH
VVLgZ4i8upMSJ0S7MLsSAqeq5S6I7UMgTXoKYxLysjYUdg3WJqnpiqWGU6CW
AQy3w4v1oO1+SpeBGgEU6d9emaA09DZ3d87fQgBX3K6qpFAejZAxEXe5X2A8
O+h8IlSOvfI2ApnN6K2eigrj0B4qUQeh00alrz/kJMukAPfeMcfKpmRtXP0h
cXfYrAXTK0DKiTOFrDW5N0Yf6EMkBcso61O6jX22eEY/gbSufxnyBAo6Zcxx
POb07C0bcmg+Hvs/cZvROBA4PH9I9qh1lzYvJcB9qQwHa71fyVdteIMUex33
S7HUBkXgWjxuhCWfUnw4LpXh+vc0VLE/IUtYm0hZH3/wvu8FFuZhfEePXNPE
8Gl9DFsOkmIdh0a5fZaskjxtmT+Jw+Irjlx5l9dVyZUoEzZYQyNr3DYlZX4F
qljDVFykM2j84CIzj+4kOGl8nZ1qW/Bm33QgxTM+KDtqdudAhu+WZoNVR5jT
qHUubp5g107ORNqjpR1Dspxo7K66pvC9Kdn4SqyZva7zO3iAY7Oa98XVv8x6
oUUvbn4bTdZfTRFRidg6uoi3kxlObV/oPShSB7AZBm1lIUIbbiUAzfS3m0iR
1BAQE3a52zwS3UyVDKuOGbMabJN7QeSCRBj8yTpyRke1TjtXbIw6qzmUXDUK
be2t9GFdjunly047YaPWu7SpASkycX8x2pDntfJLyr0HjRfa9TZu67oJ4T7f
zSXd+0yovqqcKyq5b29C04S0v5MOvKg4t9p4rVWGi0Kq5TIEk7k2wvoyYWR0
Hmq2U6vQXwOod079USoiv42DfG9qEM7Ymsz95VYA2CmanPgQBCpcmAbbEB3R
RAg/nzuVyiI9iGinkgNoGEC9YCl76rvTf+vAJA+ihb05qME7VuO2vz3kN2r1
vhl4qHs7pPv2XC1nogW9B6Z98GLdMXOhWJLFqATHo1TsIGwFlEZyaTe6C+wP
q5t9uF1tQaDTP+IV6J79jty0k52G5AeakXd2Rus9cm+jncWAPnJvOzujOXb2
drqjx6U4iculT0nr1G5FiqXmO8x2QgIQjO/6gqKxB+allK9hUqs5UnjSW5XI
/YJ760e5K0TDGRItjoVNMJP9nFxzH6w2RryRIif0h3AaiDQDbbDYakfxMO/o
A1gKxfSe9oN8yDJfdRrmQdppW6a3pM99q2Jk6rIEaYaylpHf3zxRSuZrHtLK
yqSakeUSUc4c0lZZCoQqsVFtcRCbMfU0YjFGgW1msZBSMKPlQj9wCLyJCa8i
IIrJ2ixPVmXVsOXkG844RJb6NiNvX+mNdWOCOEUrRlJsmzyYhuF2O3/bY7Ml
Q2s9dpGNtkS9ev4MBrrQAOeb4CFG7Uk8R3TP3aZIEL5OoDDMosuLdoo2ML9q
v2lOu6y5pY64OSnkWpmMb9jABcF69N9a484ZDiM03WolNwSOq5L3Xj2MDUmu
0URn0NexJ6TwaK5ug0Y+2SVi+yx3uoU3bb3ZEs6XDMdwVyRybQx134DsI/5o
1gYU1apONoRWZMJJxQI5qAnUeucqKj1HGtvVcayOmzDQEBdvQCJyUbUdoleV
ZuScBjp97JT5YgsS6gsJmbl5kiL/hIj9wo2my8jTJgkIg3N4vaGJsoD99RIb
9BCl6N9SUyKqzh31XYs7zqEGX5PuU8iaBAslT2v48YSgKVdZirKOj0S6pfVC
kjNcrklGimfaMfX7u05ZYUQORDTQRErqnyTTcxu6jHpRuzMjJMK9I1nJrZQZ
nbPcjqSRCH/LK7pJpgVufu0XlS4ioma53xp9QzD0+e5T8fcQ9yCRTcKzyaOt
D8Js4XIXrYSUQzdJK9nc/cdESow4JimjdJII25B9NQI/93a9P50g95H4oi5g
Pg7hqUXV4LJXNnBp0Y4lpgh5tEPnxC7YNPcFdtDOrT9PjSHAL62lBCEIf7MP
b+PNhFoOIlhWvmlVoyCg5ei7F4DR02LfaoMMYkfsB/k7rkIEFaET7hrn6+4Z
PnRKY23RBPl6jZvHWy0XSTZNJ5eC5nLjwPhiq3Fr8oCU+ppkHw1jJd2ViUaL
+otQtkEf+uKa1t+Z7IWnyHsEsFvZMZ0HsdASSGs1mGSFRlwtSXqUONs6uWeo
pj6R4DuNuJInGdrXPVuwWA16FACjC6/OWYkZvj1YS/ilwzd0Jw09Jc7NJLh7
cRB9nFg04/RTwDHeua+Z84L6PiS9wU7cw2rUMkKcPzps37KooVsfjSKiuby2
LXo8CpDULxI8Tyz8/kIYfioWRGYlgTZhhGZ/SVKcUZRUW7hgYAQDzRNUUMW+
CAnxxM7nU1BudIsCFhIrGsfr6a/VMtVcbwQUotn9vlo0rr5LxDBF/zvff0sb
aSUoM0HVBJoEAoPcdQWaU7kHy/lLlEOH7GILwRv10nOIYKobjoNC9jD0behN
RfUf/J1F9ZEoCJP4KJZQAA3gYwm7a4aMFa7f5fIPtGcRbjMz4KMFqrTWsOHQ
Xzq8ITvcrauB5CikZqKQWgDGEwSwG3OySry7PHS1Q9iFGwDCxZ8CX9/KZ9+S
jVLV2uTLpnRIkyxcSWp4oo10GRsnjVt2xV4Rjwh5H4vtm2E0tt5vwaMS64wF
NwOgeyGGrTRRA3uBu8OL6FYDHJ3EQ7syjsktHDE/2Qq1XOY10NOixojWiVDq
XXnYX7vOWI6UlbQWk88ElRoT5HZIixJNBPNon67EfGvnGxTH5o9c1q4h5CTy
r9c5J3eGZUl9xarcgegF3okxyZH96P7CPTYkeEIftJdAGn9S9TlCel/vyfUE
omiCUAjE8r5q+/JEPaUkRRN5AInfGQmTSqfzeLUHJjdmcWTfdMVQc2nMj8Vw
uHKm1C6iMRdJAEg1W+dNOE2p6E0YiLlDrbyu9FbbtRDZwluKLAz6jKS/u1me
G+9FovnDZ6MdnUaHKMDcQwPIITVEtk2y5EQLCFbDEl58Xs0/srgwvfiNN6z6
tt+m0tUAPBJNLr8T9b9jXQz0tJ5JJK6jey3W5AcYNK5xnBknnXV82nmrGRsu
qOIZuVM9cI3foV4uGDmRoF0SE4VcISUK4U7amiVdKa4foh+h5ZEnAYzwWRjI
8Ya5HgYARXKQVTF32EkJL5mieKwniWBwjo/viYRGxt7t8KpUvSZeeZQf8OkX
zkBmSAzlaGzwia+Dy5+uje9Pbw760IsCcnDJR0Sy6KcEf+Rni5uduGnLHtKj
R+Y6XGl6wAHkZoNLpiCTD/Zdu3CADla5+VjOPXYescvTFNVjZJSs9O8cjLaY
+y4NPgdEcEAYHOjQpuu+vdo1K9IZ5sYl64mmcdgyRk5Ya6i9nTmx16dI29D5
nF/cvL+44XkBIv+BGf9nLOSv4TSRiyjaLSk/kedb50Qhb+jonGglLhVFiitf
aBxE/3TGn6tbAq9G0AWf/Dl39hzhYFVlOV8qxtundf8LIeJe3wFrAAA=

-->

</rfc>

