<?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 RFC3272 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3272.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 RFC6790 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6790.xml">
<!ENTITY RFC8279 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8279.xml">
<!ENTITY RFC8296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8296.xml">
<!ENTITY RFC8402 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
<!ENTITY RFC8491 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8491.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-07" category="info" submissionType="IETF">
  <front>
    <title abbrev="MNA Framework">MPLS Network Actions (MNA) 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="April" day="05"/>

    
    <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>MPLS 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 actions along the path.</t>

<t>This document generalizes the concept of MPLS "forwarding actions" into
"network actions" to include any action that an MPLS router is
requested to take on the packet. That includes any MPLS 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 redefine the semantics of the Label, Traffic
Class (TC), and Time to Live (TTL) fields in an MPLS Label Stack Entry
(LSE) within a NAS.</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 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>BIER</c>
      <c>Bit Index Explicit Replication</c>
      <c><xref target="RFC8279"/></c>
      <c>BoS</c>
      <c>Bottom of Stack</c>
      <c><xref target="RFC6790"/></c>
      <c>bSPL</c>
      <c>Base Special Purpose Label</c>
      <c><xref target="RFC9017"/></c>
      <c>ECMP</c>
      <c>Equal Cost Multipath</c>
      <c><xref target="RFC3272"/></c>
      <c>EL</c>
      <c>Entropy Label</c>
      <c><xref target="RFC6790"/></c>
      <c>ERLD</c>
      <c>Entropy Readable Label Depth</c>
      <c><xref target="RFC8662"/></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>IGP</c>
      <c>Interior Gateway Protocol</c>
      <c>&#160;</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>MSD</c>
      <c>Maximimum SID Depth</c>
      <c><xref target="RFC8491"/></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>NSI</c>
      <c>Network Action Sub-Stack Indicator</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>SID</c>
      <c>Segment Identifier</c>
      <c><xref target="RFC8402"/></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 network actions to apply to an
MPLS packet.  These network actions and their ancillary data may be carried in
sub-stacks within the MPLS label stack and/or 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>Processing of the label stack past the top of stack LSE was first
introduced with the Entropy Label. <xref target="RFC6790"/></t>

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

<t><list style="symbols">
  <t>Network Action Sub-Stack Indicator (NSI): The first LSE in the NAS
contains a special purpose label, called the MNA label, which
is used to indicate the start of a network action sub-stack.</t>
  <t>Network Action Indicators (NAI): 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 (ISD): 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, 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 needs 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 Maximum Segment Identifier (SID) Depth (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.</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 (except the S-bit), 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 will 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 Extended SPL (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 used by NSI; 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>For example, suppose that an NAS is embedded in a label stack at a
depth of 6 LSEs. Further, suppose that the NAS contains 3
actions. Each of those actions has Select scope and thus is not
applicable at the current node.</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 need not 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 Bit Index Explicit Replication
   (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 are network actions that are
not publicly documented. 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 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 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 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 behavior 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 Bottom of Stack (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, Toerless Eckert, 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;
&RFC3272;
&RFC4928;
&RFC5714;
&RFC6790;
&RFC8279;
&RFC8296;
&RFC8402;
&RFC8491;
&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:
H4sIACJSEGYAA+19W3cbOZLmO34FRn5oaZZkW3aVL5oz57RKksvqI8taU7W9
85jMhMhsJzM5eZHMtv1f5rfML9v4IgJIZJKyXdP9sA/tOmXzkgACQNxvnE6n
Jq2yvFye2K69m74ybd4W7sS+u7ma22vXPlT1R3uatnlVNvbw3fXpkX1TJ2uH
z02yWNTunh6+Po0+zaq0pNcnNquTu3aaO5p3vSma6bpMpncPH6dPX5qHpS7x
FxpBq9tf66rbmDRp3bKqtyc2L+8q03SLdd40tHa73dCElxe3b0y+qU9sW3dN
++zp09dPnxmTdO2qqk+MtVP6n//kZXNir2b2tMxc3TRV6b8QyK6qZPerqiag
3nbJg8vtrUtXZVVUy9w1/nu3TvLixBZV8qdNPiu7nfXmM/tLvU3KdrjYvHUP
Sd2OvuPVfivzewIib7e2urPzrq7d1v786+XZaM1m8adGZlnwJLO0Wu8s/46W
r9I0H67+LmnblXsYfsWLX1cf82S00Fqeni3w9J9KPLF3rduZvRotdFuV2+hD
XuLPXZlvXO0RaXyULQ2ZFfmf9F9jyqomCOhMcJmX0/PZEHlq959dXru1K9sG
T3x4c/bs+Pi1vnz+9Plx//KZvvzp+auf9eXPr5891Zcvn738SV++Og4vXz89
fnliDHDvUTiqzaaqW9pX0+bp1JVpvd20u48dN22ZLxaF8xA9exkgev3slYfo
5bFf+8XL1x64V89evg4vX7/wL396+iy8fO13+urFi2cB+lev+pc8w7vTs8al
J3zsStiXFxcX9tXTZ7Pj0wv7zmU5UUKauqaxZ0RmdVUQlZ+eHdm5S7uaEJPH
ZkSXJ/a0WxLVWSK7F/xpT3fhwnn2s2q96Vq69nmV0olszXQ6tcmiaeskbY25
XeWNJSbR4R5ts3FpfkdkZpPSJnW6yluXtl2dFPbOsxRL92EJL5llmP1cqY0o
dmaZJcUf0dTOdo3LCOnogrMcrMYmOgXmv0oWrrDzh7xNV/TYTdKuaO6r+U1z
RKBlf6RHmGNtkvSjaxtDn9FcxImSsrmjzdIZJbZ0LqPBCm8TVphh267f9aau
7vOMwMKu7qqupNH0XNho5u5dUW34WeIMiSUiXNP3jWsNvS/1CDz8gCVgLT3m
CiES23SMruCwSZbl+DIpTEU0mchru64yV8gMabJJFnlBTxFgtApvV5fCmc6r
tcPnvDMT1q4B7l1eOsBg3SdQBq3Ho/V2U16tmdiHVV7QHDRD3RglZxrSurLh
yehAwwTDsfhq7VzLxxMzAsPHh6UPPkQf81Huk2IHdBdAyHWeZYUz5om9BN5n
HX/9T/T8O9DTEHraf6LnI+j5+fO3JdrXr3QNDBadFMn6jI8l2gZJXtJ70rAe
P0t6E7Fafp9sNsXW9AcZBj+sXDmYVLFkZm8ZC9b5ctXS9GnRZc6QgpNNF0mR
lGn8sF2SPCxtTtfmQDCbLc7L4ayI99uyagEDXR3u2dwlTUu7Y+gsXXli70jk
d7Wb8F2OBoY1VklDx9gmwFa6gMLdk7bDeMyIuHssRUXv8OWGCGI2pt6lKwmV
ivxvisppVaZu0wbsOdid8oDOgWjwYITDBwBCT4h2sNXPadakBWuI7sLmgjuO
VDahweQjn4GA6Q8+CSfe8ISjm1cEnthF15Jatg2LV3JwnkaICTRdurJ0cI2K
bHvXlQL1xLw/fQdqTl1GZ08Y7tp0dqRQE0rh8DNCwLQttoS2RaIgR+dS3ZkI
cMLQMesCcLUTGuM9NqTelaQdNUqNwrsm9pbsASIYc1YkpG4c3p4dCTLc5kS4
tOgVIRh9fHt1ZInjFlkDqvFnq/yvJTDsBeHf1hDzuziyxBBXeMxen84JuidP
bCQFaFS57JKls5+ffLj431PC6eVX4XUfSdOmC6ZFDt79Nr89mMi/9vo9v6an
f7v8cHGO1/O3p1dX4YXRJ+Zv3/92dd6/6keevX/37uL6XAbTp3bwkTl4d/of
B7Lzg/c3t5fvr0+vgHV0VDHu4nroUBage8KqTe1wN0ljCGHSOl8IP/vl7Oa/
/+v4J2Iu/6La8Nev+gaKLb0B8ctqVUmXLG/pVohTbDYuqfmQiwLsNW+TgnAE
qLSqHkpLiOZmRniEnBXump5hXqNjh1DnJfGPB0LQNIF4aeymSOihi3JZ5M1K
ZplAGcTDBEUOBqDKNlF+UhLKQRyZ04KUy265kvlzlr+XvWIeVpyoJCPSJvYU
mCU2V+SCzAlJbRJYNi0SJo+83OHSPUXQOQM2lwky3bp6nTOqb/H+CVlNHoJz
YDyz2mbMd5Ks2rSNisrwlCeHu6qgMwJt0b2uWbipKZ0rSd/V1foH5AWwoTeZ
CNcGqgdj3+ATOsBMBZY9vD69PAI2nhKbL+hktvYcKsLh6fmRx855SmwG+tJl
GeTzZIymwAYh/mbf7sie+teRCkaG7mIqlExQzI/IsrCqOSgLmuA623zZVV1j
iczBCYzXsGzBrKDhCaCRpEldb7FgrGNEzExZuVcJWOoFnnSmPOj2yt4nBTFt
jx66LL8mKBn1F854TpcJZ8a3irb+eud2kbfAWOLCK2I4jErfOAO9FNrI4fX8
kk4D4N3lNZlaBEMEgsGhEDURxoj2QSJezqIVaSJqo1wDHU/depA8b3xiT2M8
IzL7MvjEfiGTUDbzhfgo6Y1k4Dr7xXyZDv582fOKXmO2c9v/obdD5PryI0iN
aX65vPgQTfMLHSgdk/tkLz4RWaf09oPDCw/1589qN/vx1TwG45eqbYmi4GPh
I9cBsLl1wGJ+cxUPAPea6xnfdPWmahRl/Fj4CnTsxdm7G/r44j87evisont7
1xVtDo3EPw3zH09bPH6Fh0WFGs4ZwXPxgSRK/9gHRyrRovAwnJMSE+aGC0BH
OeyCRkFjhaL/2A52tvD2l7f08dtqYxdbu6J/vtB5i01D4h54R1rwiPRnGHj5
7IKfXdZwIRCxXcirHx7/6w0/S7wiJwr4NYGba2tv6qqt0gqw8lPzc35qKkSf
/S5cAhF92dUfwtU8fe6PD7B+2e/6/OHV3jGo75JP+Tpfd2s7vzwfXddPr4/1
WWLB9Ol+Hk2H8cNrgj3tzNMzmC92KJ14yHzP0vt40r7BN7zHG8L0330h4LWf
P9MECrqg+SPovbsyTpP+dkv+5DKDxCddse4P96m/TCGFH6Phzyf2yW2ymJLS
QLxQXGX/fjDglQf2Kxxd5gnhEIwwUqdJSSkZZ5qq6PgAe29BRbownd66gpI9
Moe9qcYvShOZ7WTFira1z4IWbSkJHJUPXaQSi8CcNUI4zeVWGq8b7xWc6jPY
hEs0mI8AiLazhrtP9sSKI9ugPF08E96PRKyNgKhSskomNr/jTZBeSdoNrKMS
Jgf0UCibXZGJcBWmTjuJYI8Wm4RJolX1lPqd80ObEXpCuSNpVmUsj29gEzVN
JLbjLW3IeuUPW2KF9L18CkbyQCoty2aTq9dIYeXHB1x9FjN1wpURuP0ZWS/X
SVea/iP0BGv3aAobpYBCFJ+UdH6XBRatnz6s8nRF46G9iDcqqBVDrSJ5dDez
PZsIoDeid57Y9xvxURTbCWAU7S/vH4NGEywd1Wj2Opdm9vIu/jqagzZB9q3R
gwkA8oIexVNGPcELPLbGOY5QZ2ZPzWi3NHWT5JkaaGozAMdboRI2VwIoejdG
nRyqrd1XH3VnMikfHMk4uW1Rxknwxerx31xdBbbCCirPxQrwiDMY76vb4T4j
S2cWLsvvLZyg8S4CQqcmz2hn2WgVgvmCzKsxMoQDKfeAECE+uNcquXdmd2N8
lYNLALqT+UiKQk+0g0cMD0yrmlbfVGXWeMfReNT4MsOGeRHD2PDYIsrJCG1x
wDtkwCyTOJmXBJk/gyDG+Pxjg2k4A53omatBvDs3F4xvz5JlKiAKIZwXAckd
6VJmxNFmIkv5Mab7HRTH6Y42bkYP/djW7Xjr5oe3bkHLa9adix3ENRHOihQg
xBnvY7LvvvMdMff3IQl4+X4ZGeaRre5Ice/Sib0TA+caWWhsdDf285OGX+yT
HEAEuPID+2FZRu9JeXf3jmizBDsLzlEDU2QC+mrgIyf6U37C+6zYA8nPwrnL
jtTYmW4FEONdnREQfAW0KzbyyXqYLrZTWA+HZE8Q37rYAwvPTxKzKLyveMgC
/9UbE9O2mqoxcUhWBmRGKRoDITadOU8bvKqjOUmEjWadu8KlrU7iffeDzf8A
cJd3sezQ6IWXTphfzooIpRXE8BKMVZa8Nb2CGEs0BqJ3nkdrNt6l3Qebssqx
XINnLRVfNNhzWxPLaBt/IgyHFRFgRjrjPuqF4ldu9yFa8PQZLBXmTav1Ii/F
/oaGxDgy6bGirEaiQlQ3+j4EVkZ8dUcjVc4kuBitx5zQLESkV6RIrJPCe2O+
d1QFmWWtzlJhSwMFXtRfjxwD1R4bUx83+9ujMxe6vSHNiC2NoFkS5TZ24K31
BicZgBNbuGWSYtL7PHUql7OK4a1dWi3L/G+skpignwlmZnlDvD6LGIcqHqyt
yoN5M9TsCMTz0TqDNfonNRgEKHIy4pw6+QovE76vTjzGHIkETFeGZbPvaia9
YUAoVWYFK+7vSzATEnGleGFzP67s4RWs1NENTmXTX8p4VQ6OEb1C+HUlx9Jo
rn2AGk8qczBQNmECqDuz8to4xZ7bi5ClASThAHfmNnDTIIaqRKvn9odGpUh1
1wdDWe6UEv35XQeQkUnCuC/IIny8NxDoi8FmH9kRSz2iL0K837W652mEQub7
qwgZ58sSeiCwLgbNPA7a+/GxRNrSgrWEJod/ASyox6peU1mwYDGBD7DLW4Sl
foSoRdACPEMQ4YtQedDzlCJZ6Tc9I0cohDi8t1w1vkYw+2MCgmKWO+CiZ1xm
SKQe//7CRkYviqELNDvKAN2KKAMkkSdGXNKYb70W56A3HRyGIUZZ+iCu8LYu
5Wu9mt+INUbcDslqDFk2YlgqChUXFMzLsCRtodEVYY7xwaZ5TWohMfoSXCmX
IKcQTH9fjwKT3Fd51ggrZnAm1odBmaB7+cYgTDk8VC/BAPoARQhK47p42OXN
mw8fhE0jN+vrV0bwhFMUWYiojkYYmhTC4kUR4Y0/5M1KJPkaIV+yoDnSTKwV
eCc+n33OIG8YMrvsOC+xVY9PfNYRerEg4NyOvA1heOPD8GGYvxYCYWLDjI+x
XVFNxTDNfG7AIOvCM2dS573y2fBRCAlt1GvrdUUcbNdOq7upqA1ikg6iRziX
0aRsEBLbmI6UkSVtt5MQHhv9kSamGkUTOACRsr+iXhnzgqhBFoeEEYqtxkX2
eSCNif3rkb9nlErwLSe9OYQn/2i238V5iO+8sG6SdZiW+aDp0xcyPimmNJ92
UhAyJU1TpXnwl+36oGj5qyNgN2HAIzCwIJL8mEStsm69EOEDg3oiTh9QAIcl
I7eYeoTgUpEL9xkQaVIS60oyDeDnJFrXIekmoHAL0vUCAmwAIoQuG04F+IXF
f4PcAiQglToEdhs0bcIUPLRwaQJC4xHx4US6diKhveBByRl5tk3r1r2O2LOw
cIZG/XjzHMCFIeIzov01VUnHuY3JDGctMpqTwUImhtyf59NJRsyozRtm4gBc
4IPsG4FiBtcJIlYNwM+Q6Vhmc0wF2WzIlTYdcyVaCXECkvvVjr+TB8McFq5L
92Fc2XRsDsvNEruJOBH7Uj/hGoRkVeiEWCmzJ6bjlt0KLdR9+cJ7dckop41D
W2RINYcCNxko1x662XI2Meqrf/UKWrN/8/rr1yMsnbmWQ/SOOQs8u3Q6Ed3C
29efxc5tX1wJsNGNmCGygGnBLgaCTcA7/KOAkLEO5qOLp0aWCxip5lU0SPnT
fb47/Y9orQVdps5B6IHzMEYxP7rgxZaTH369QXBperslThpAPLz95ZQTAHlm
6Jr9uASYf82rIhyFYNRu4ORwfkksSNkRzX80MVd5+RFLsccAIM5CpEP2gDwZ
3BQuF+CGO2BYxRLO1aIWZ3kEVVmVUz5Y2QN4CrsPbnWy6FHvwiRk+Dj7zjOA
LDwT1uCzHT0C+d1CROw6VlLoVHd3zF6Et7X4u6p7/U5HiEPNQOfNA1V41saq
p0wDha+JzAXJzuQMFW/TIFK6AYdNId0mHDranWjPJKpgstwgxQhbI86lLrzP
T9gr/NWYObRABAC8UvWQbCWVUbze16eXjdjsC+fgu60QJ8jgjZPsHtM4zUV7
ADGTnK59PEDmDOoBtGsx1sVf7NNZKnFI3pPwRkZHrKfPrDF/geq1z1nWh7X2
BrHY2wdJsyRdugADCg4/FIxImhNPVLuQ18Pk5F0v4kMn5CXr4vGQhqSpsIuE
uRhvr2kbCYQMUjEmpgqRDU2FkSV7b30fUMt3POfeRwjvhgpGlw1zB4MeF9wn
e9w7LklXIY94bGnP7Hl+x7kdu3art2qg62amrZaSp0kXALRkAVLvBh1tFibs
I38z6E/fDQgH1U1JKOh0nBeaZaYrSwfhgv3JIVbDeA6xMMFP+3x2PInTusxr
urTTNK04kxGhpmDNebuLLUTW1h24do4tqN6ORRbE+U0UiowWdZ9Y/+OMnyk9
d8SJc8QE98xjME/QG8T+lwl9WhUeHO9UM9DUOyM62+cnRK6awjiI/X0Dex9L
GzKjtKFvxPRip86KU02Zp5h0VbFTKWj2gwVUt77wKdOSVXNzZYcedM4f7UQZ
cjvPHiI154g1fnhpIFsYB7KKzPVeuYdGj6CJt7C7BmmfBNGC4IetDQ/ihngO
ccCJJtPCgNN74HRFCXGHEN7l/Fx9vhFceYnDAbMEcNgxg6QaOq5ZVmatQv0/
e0Fo1e/E0MtVLsCooCux20T0HlQqad4EjyC1k5gKk7Ue7zWqu/S0dg5W3dK4
2gcGGfzWj+rzhL43Mn6SUP+xG7HRjSARvfZKYUSUQRyTwgDPbW9u9Ej/xP7W
kAF4rnaJmDJjAHEOwzwA8ZVhep+SGGm66nyIc+QeR3f2uad01i17kkq6UWYo
FaH9CobNOLoaL51WzHC8jAxsgKYUukvSmuRmpFTHYYyOFct+TQ7bBH9DMLHF
mdjhmLz5JvtMvXdLQZs+5AiU1GTM3Uy9gSShtojb9rfIhLhn4snAQ+b551/p
piXyRbvzp6OM68xnVrI3rR1wrP1BtihGX/lgz7OnzIXZHOUN/h/WG70UHKf2
IfcyFNOQ3L2eX/4bP0jgcFa5OXzOEx6FKZD7efjKf6gh705UIEEE3mrhoCMd
H4tQUC+qnnXnVVFwas208KjcnwOoO8GJMleJPb7R+cszHmQ/UhLilWv0evUP
HKW6ojWMkyDJRNMcn9rdP8d7Pnu257Pn/STH9MBz+5P92b6wL+0r+/r3fKbT
/K/p3/mf8Zmbwz+CMbt/vuBs7Ze5Po8Tls//wfDsgebEQ8X2z8Tj994Bt2cn
8q9UTliunJjY54+PmMuAMVlMLKPt/kVur3gQl2HcShmGMW+6mjU/Vrkeep7C
BWRD4+FxZmJ6ZG5cwGEv9H5QQJi9AiKijQ9OKe47dOVN1n+S1d9LVo/R1ZdP
lv4jsuJ/+//+PyOrT55IICvuk7xI1OvFwo8DFIo+ffXG/4TaWEsf6CyYP0re
qrxu/i06MiqU+3H/AAKyV65ckrbRFwgw/o5jt5LgYdcOlQx5s+6LzYbBMJ9D
yZNion7eI+EWiYTfxlFC1JrlKocdapSiggWr4tcnFrmkyYttFOFyKEgkGT+c
cxCZwiSjiMpdB68cUtLLtokXpOUeKiv2uy8c1eA9piHkqh4m6t3tDUlvMat3
RdnTVdK0f0RFfV52stNfgI1jHVaULegsG+G1g4xLXyXp3aqpzOcaJJ9Wyp4+
qULFsR/RChe5LxnUidIYkAXghS7ZSJzSv7cpaTi15tl5PdcrrsiMrpDpl0tu
s4LMnFKSsTSVMUPFJgwgMS5b9qk59mGRXKHrU8GRlCapaZY6qXGpDQc5+BZu
x+v1FnUeLostL8Jtb2MqOr9hDW98ytWm9YElxPzyT7QUFlR8FSlg2f3AXxo2
sDA6Mv0VNhePH6C9TtOHMU2R1EugtdSxVcHpDMU/eOP8xQIbx5vXPBem/MdO
AblLhCM+dqBv6fTFnUlg9Ckoi+0OvPDtZsgMkejOiszUB0V9Mjo4GyK7r7yD
YHhgjbgHmc1wje2iTsp0JWayrFQtydhghnMRJRdKjtvOPaWrChnKbRyfi3Jz
ffLRXRQMb3xRlPihftCFEXIDwoqGkaNfRDPFmbUIIBO7SJreGecdZsNU13Ge
8I5Jyf6SPksqCn6JL9mXkyuHHTJLSc0RSCv4jFWhGWff7yTSfNs/JKZWZZBY
BMIP0ebaqTk06ESQx4XedLdv4G/8lADUiaB4o9SvISeQMAmgLPN3NKhDoMcI
Qzcii16IhLKqfY7mi/kgO7Se9zV9nIbMqFH1fQ2YLc2jzDy1+bqQHM6pOakI
J1kgRReesvXRgnlg9D7j0ju3+WmfpyPTZ+JMD9UaJgrQnp57bgK2fJ9nqBaL
6iS8eAozIgTOs8YlHU1l96eW6mhaRaiemEbTchA2Z080mhD4GGRIs4gTR0fh
PYm8SkDRMPNEtGJ4vCPCTsZp/5+fXF6fX/xfuCsjwcr+aT9GzisWtd+QsyaW
s5yvOHZH9D6hOJeZW3eIrNlGyhDrXCI+oAmeJW1C/GqXLan4iBnRI30umEXm
Db5kl++EwyEtGVaN/ViipJofSWUlESdDhUvTiYgmep1rEOWEf3ONpC3WBOXk
7ivfaYA9mTw557MYoZjLcTQlYom0Ey5XLYeD+TS9/mAC9fV50zja3aIInwRo
jD9NiRWPZVd/CY8l0HEThSJRpWFFnE8crGrfRdK3d5p76INuYN8gku15k44V
J9Txi0HIhUWygDLpb0iUF753I3XoJQbiamf2bfUAL/hkz55CulnYjGVdYGJa
SU6K518gJ8vFkYOZ8ixGXzBnaFxRwwmjGSPPfn5BbFO/eNDoguTW9ksQPPSc
FXSUmBM/GtJwWbtgfQHLcJGTt4YfR50dIgm9MRidyBAhzsqOzIDGnnUl0knE
ZNUalo9SGGsQIdgu/WSKrTjWYnbzxL73GZH2DCzrx8n1MVQDTRol276xhk2Z
IR5WG36B8J/IGH7PIXpVBft8GUGM2xGC6ogFePAow2anyCFQWl+hlIRMcyQ6
CjR7qUrFdcAYWIEPIrvvd5QEpg0b0wYQIOztlSKMOEYenaX3gAaF6REKOX4x
aMnjRYuuoIesSAwJ2xFJHD97pTNF2zb9tpO2Z/OJUNg3qJADFjgcs0M7uc+e
9MEcTWhqWkRxQohSodlRZ7kSNirb+vwEBa676i2XaXGAHJW/YGckrgn76Gm9
jkRiBVDtOHUNWbP0TJ+ymlZTjf5INhSIhSabec+X4kAookHPIMmwlBPZKZYJ
5ZdcpxmK5ZBTIJqIGHZ5bUM7nscUyaCFlP+DabRQNLK4HtWlPSN4w4z8mtvs
oXtdlHJgxHngmb204pPSqCgkJEcBHZEzH3zFI+eKcuO7uKEEAZVqYRan9EiS
EdoLfv0KSQqkrYo847u5z90DGALNMYCgw0CWk33W8DhIHloHckMommFIqFpF
gC6CX7+Kca6Ts3y6d4S0y9DHB76VqmM3iKQWe0Ndsm8OfjoAmzh4ceDDeaIX
T/Ql6a+SlgmpY22chrBJtugU5bP0Lm/uf8JU9O8LyTXd1w8BcxyiX8KRHxey
HGSvl3HWfyl6jbDE0AWGBOUnQgn0iVpV2YiP0fcXIAPCHUx307guqx4g5oBY
dBLcrEwaHaIZTWxT9Yfh1SHxBtM8HoG89cDRXYIQW/mDh/0azI6GIRNFCtEE
RL4Yb8lpoJgsnqLagtFor5BGnExtlcE2RYssXcI78+hfEl9OXJUd6s9nAcuj
jIUBumHst3tn8IWg2wZfyKB0T3tqvH4B/OaGHI3TYqfBImQ50iQ/q9wDxYOd
1p3TQiMe6rElEf2fqw5GQPfnfNIj4jgVXJSMKB06ICGWwRTsFMz3HAbH6lk1
+DlkjUboYjcBVzDNN9Fl4Za5OIfoe9p5L+k4JKmQ9G4c50I3IHhV7LJKuKAm
OuJxLqNsENNEewSRTZjELB9tD7KGjYfQwoVqYj5lfe5AY58untKfgF3RTIP9
AhP50WPj04MH3+8Zf9rbvGek+pXEaN+SGepqYw9Pz94ese6IFhJj4y2uohz7
Z+OblEh0lEAf6hc8NBoD6DOl6Fy9moxLG5eDMucHdontT/oTGcR9Gq9VL0HQ
Qkk/1xZn4v7gnmiVyGdODWPtRKL8Y+c09yYgzSdPW6blvBw0PHTlfV5XJadH
TVi89+3UoppPyaklXSaaCibxsGiNMzX9sSYBv7h3rcpl5Ob11VGcOBZ84qMe
KOy78Y0q4rJvE1cAR+VeTMZ69o2SCyrJ+GDRaQPZgIWvq8vGpVkze1Pn9/Bf
70uSe6yMwTDX6BZ0YZhaKw0QzH9sNj4l7rPG3CXziZVxRfDeOqURbomOJYsE
9ORda852BD2xlobzMqIS2+BsDx1ygGp9mzFJNxzeign9RkPrjSA+o7aXybDk
gi9KvWjSoEtaOMM0SdaRZT2qTN/pYhUaO5yEwAPRlkJbe3timGfGtbnKv3c9
CGJnSMkuDkUm7vuxDlmF5lBKscuw4Ey553iJZKckU+usv8qaLbc6/taa+d7A
MMy0NVkEd1AcJXF4mDE88f4L5EjxnbeSIZS0PobE43PRENCEA8QPJJHwScMA
anfD7I++g8b3DkhCSJoEn+P0ve01Ljnec92DdhSKIINg4k6fhr5JgObD0YLe
SNNeHaLJMTIjI5i5oAQWokD8wC2GI43Yyq5nHKc/rATwoQqV4zhOP8Snpu/Z
78iSO9lpi/BIS4SdndF6P7i30c5iQH9wbzs7M2OsH7prFEUkvY1LC05JaNSk
0zToiwUhOnYWgBG961PSxsaW5wo+C04V5EheSRljIv2C92Y+c38HdXSIRzom
7qAR+zm5PiUoSnzwxteiafuCYYzWu7vitDgEj+7yZVeHYHSzLdMVyV9fchkp
qWwzNkNmxqfdN8UpJUo4D+kDSpUaw+Y8Y46y0t6Y7ENi4ShjPvSHitGlEXs9
8pYzTYUIhRktF5oPBB+cKN9K87EHN8uTZVk1rNH4Qlb2lqW+hNHrPdpidowB
pyj0SoptkweVLbSj9d12pXxqbP9Kmit686NYR+6cY3Ow/qLKx3Fn5E2RwB2e
wEwwiy4v2ikyN/yi/Z65owqprKRc+QMdQ+a7SDP1RspY9KCJOMa/iVt/Fcqj
erzfmRG39eAIcbl2NqPTlSZfagH6FtoocZkWaKvdLyrlTyShpI0/Cp6gNHFX
adGRYW8S/RBiN0FDGLs3xNyySSsuf98IxvQlJwVnUBDZJWUUCBDE78OGAi9X
8aGaVC0o6cpJ7CN2lag4a9A2m6U5Vu2C9XCXc/lRUmCT3Py0A2tsfTKJ9muF
7l5rC9hAiPvOabyZkINA2iWZQIaZQdQWWypckkJL8bj9E37FQVnAPmQzHtt8
lUzTLZfS4Hnsvtn7AxFAbVR0llVMjP10ybIGX+s22L62HstFERNVNqTZmKGG
aH90fRp7h2j+Srq0GLRpCSfISKyPNjsYxIK8CV2lubTFgJuSmeV8e+6k7Yma
eHePtCib6et9EEfPtWusUZBcmaHZC9J/optQVNaSUTGBfc2o4aeqZZ1siF+w
Dr7kjSA9WotB4vErtj+RYEXocBNwRarfx8mN0hBCq33ZqC63EYxml8UwHnHk
kd1Tqh8MLDEN2mr2pHFrEJOtyinnfIviN8ylwnBRMaQ4vY6bHRn/bZSRCavw
UyJleDoxy/20qpHH0XJIwLPinna0frP1RW+e3pEOEluGffEVulPkS05wz4Ih
Ew0Fzb0PHJGRPIg36EOoHK1zli3ckV9LMXiFqcYRTKiUG0LFQRRSrLTmJPj9
COWimWBlcv1tmKXMJMSn70OYG/yUy9dVTfGthH3bcV+ar74Pj4h0jpc3tkXF
DlLxtSMD58ZFJX7EyVAjxFyfez0OZIMk3HCvEf45I2Z46K8BZkZkgiLG+Ccd
LGtI+XqNH21pNZUq2TSdNDqOeqXHxLvT42IAQihb4ArSeDFJluqZplQuyJyQ
prgBkRpSaTpex+5dZ2YNJIH3eqJsDKTYDqWUqyW/BTUS+7DCynH2s8vzoTfY
duenEuIsmYiti0ZCVPIX30UeqF6IxJ6KepZZCVSybznJ/pqkWCQKXi5c0N4C
HvkLDSzRZ8PBCdn5ABby3lZIpaKdaW093f+U7x/dHTjnO9feuuLM2v2+WjSu
vk9EzUfXEk7QpI20ku8HROIankDz912BvgKDrg5Rd4PFFtwlaoHCLo6p7jh2
hdnDUEelEeL6D74RXX0kTMsk3ncnx08PMGaE7TVDNA6/RsCZSCjUpMPNhliL
ImPYPFuubR/+eoj+WgA3Lhg5Ek3kSAzABMd0mQ3oRnWY+zx4n0E8oW9LaA0u
8PVlwfZtjoJhbdDAwjoEmBauJAtlYuT3UDKW+I276wpGf8QSYlfy0IcdANaD
M5h1rHjxcgo5cdlKA1r02JT7eBRR55nGQIHD4XVl7I9cOCJ99GLmdoy7cikl
zCas0AYH8ZH1P0HDR9rrmtoDAh0TEBuL0G9rBognjlSQivYDWDif5Ow53HbY
sKsvb17nHPfqMzpCYrewXs+CToxJjuwH91eubiOZELpTeNanjjFVdUcH3GcW
c9aG8PBA7wENrqu2T4HVGxFpEEDid0bcwdI+YbzaI5Mbsziyb7piKAHUG8kC
MvQFK7V+b0wfMTdnhhHMrL4zEWKHYMDjCqvDX6r5Eee3g/83PcdXwu8Ne/+b
EzLTeHdJJrqi2TOWFZf+RgW8B4hruTY012+SOw7qAF3Vo+N55dX8A7MG0/Pa
HVnWRBv3aDX8AYHU5fdionrMcNynfOQ+8rcU8eao99CaNE+DolHWo3D3Wcf3
n7eads35bjwjN8QIRON3qL1jI3Mc2ExIX0jnP+H+9y5qJCJWNBxHg2pjE8M4
3i+nIQGeiOWx2sTFrZI3jm7VNKzHkWAtjm/viTiVxm6CYUdv/ZUcVcd4gA9Q
cSQrg8qbo6DBN545uPz1xvguGM1B77RSQA4e7yR/SEOPoPwnazjTaDBc3c0G
nQHBfg/2dcc5QD25/AyCXHvee1l4l6cp8vpIgVzqzz2Ntpj76gy+Bvi+gBfs
MRKOxuRI2nJJC8J/ZW5dsp5omIotFQTONW/f61UTe3OKv3E/5xe31xe3PC9A
XOKHNP0Peskv9Pm0miL/qIIsKT/a06zOCUHe0NU5EUBS6gjdbqEOJf0RsT9X
KwKvTj6Son1bEeKBxi6gp7UCw59zZ8/RQ1MDcDn3h+QDIUj+H7shL15ldAAA

-->

</rfc>

