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


<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [

<!ENTITY I-D.ietf-mpls-miad-mna-requirements SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-mpls-miad-mna-requirements.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3031 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3031.xml">
<!ENTITY RFC3032 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3032.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9017 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9017.xml">
<!ENTITY RFC9088 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9088.xml">
<!ENTITY RFC4928 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4928.xml">
<!ENTITY RFC8296 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8296.xml">
]>


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

    <author initials="L." surname="Andersson" fullname="Loa Andersson">
      <organization>Bronze Dragon Consulting</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="2022" month="October" day="21"/>

    
    <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 describes 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 Action Indicators and Ancillary Data”.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<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 describes 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-miad-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>

<section anchor="REQ-lang" title="Requirement Language">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”,
“SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and
“OPTIONAL” in this document are to be interpreted as described in BCP14
<xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all
capitals, as shown here.</t>

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

<section anchor="normative-definitions" title="Normative Definitions">

<t>This document adopts the definitions of the following terms and
abbreviations from <xref target="I-D.ietf-mpls-miad-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" title="Abbreviations">

<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-miad-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-miad-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>This documnent</c>
      <c>NAI</c>
      <c>Network Action Indicator</c>
      <c><xref target="I-D.ietf-mpls-miad-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-miad-mna-requirements"/> and <xref target="PSD"/></c>
      <c>SPL</c>
      <c>Special Purpose Label</c>
      <c><xref target="RFC9017"/></c>
</texttable>

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

<t>An MNA solution is envisioned as a set of network action sub-stacks,
plus possible 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 special label, called the MNA label, that is used to
indicate the start of a network action sub-stack.</t>
  <t>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" title="Scopes">

<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" title="Partial Processing">

<t>As described in <xref target="RFC3031"></xref>, 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>

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

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

<t>A node that pushes a NAS onto the label stack is responsible for
determining that all nodes that should process the NAS will have the
NAS within its Readable Label Depth (RLD). A node should use signaling
(e.g., <xref target="RFC9088"/>) to determine this.</t>

</section>
<section anchor="positioning" title="Positioning">

<t>A network action sub-stack should never occur at the top of the MPLS
label stack. A node that is responsible for popping a forwarding label
immediately above a network action sub-stack must also pop any network
action sub-stacks that immediately follow.</t>

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

<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" title="Encoding">

<t>Several possibilities to carry NAI’s have been discussed in MNA
drafts and in the MPLS Open DT. 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-miad-mna-requirements"/> requires that a solution not
add unnecessary LSEs to the sub-stack (Section 3.1, requirement
6). 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" title="The MNA Label">

<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" title="Existing Base SPL">

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

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

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

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

<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" title="User-Defined Label">

<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" title="TC and TTL">

<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" title="TC and TTL retained">

<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" title="TC and TTL Repurposed">

<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" title="Length of the NAS">

<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" title="Last/Continuation Bits">

<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" title="Length Field">

<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" title="Encoding of Scopes">

<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" title="Encoding a Network Action">

<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" title="Bit Catalogs">

<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" title="Operation Codes">

<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" title="Encoding of Post-Stack Data">

<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" title="First Nibble Considerations">

<t>The first nibble after the label stack has been used to convey
   information in certain cases.</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>[Ed. Outstanding comments from Adrian:</t>

<t>Shouldn’t we include RFC4385 for 0b0000 for the PW control word and
 0b0001 for the PW ACH?</t>

<t>This section is all very well, but it doesn’t give any direction to
 the solution developer for what they should do with the first nibble
 in the post stack data.</t>

<t>Is it also relevant to note that there may be other post-stack
 information that comes before the payload (such as the PW control
 word, and that the solution must consider the location of the post-
 stack data in relaiton to that (e.g., immeidately after the LSE with
 the S bit set) etc.]</t>

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

<section anchor="order-of-evaluation" title="Order of Evaluation">

<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" title="Definition of a Network Action">

<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" title="Management Considerations">

<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" title="Security Considerations">

<t>The forwarding plane is insecure. If an adversary can affect the
forwarding plane, then they can inject data, remove data, corrupt
data, or modify data. MNA additionally allows an adversary to make
packets perform arbitrary network actions.</t>

<t>Link-level security mechanisms can help mitigate some on-link attacks,
but does nothing to preclude hostile nodes.</t>

<t>End-to-end encryption of an LSP can help provide security, but would
make it impossible to process post-stack data.</t>

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

<t>This document does not make any allocations of code points from IANA
registries.</t>

<t>As long as the “does not make any allocations …” from IANA is true,
this paragraph should be removed by the RFC-Editor. If it turns out
that we will need to do IANA allocation, a proper IANA section will be
added.</t>

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

<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 for his comments.</t>

</section>
<section anchor="editorial-attic" title="Editorial attic">

<t>This section contains old material that will be discarded before
publication, assuming we don’t find it useful between now and then.</t>

<section anchor="process-note-on-e2e" title="Process Note on E2E">

<t>There has been some discussion on the of the E2E abbreviation.
1. In a mail to the MPLS Working group mailing list Joel Halpern pointed out that
the abbreviation E2E has been used in several different meanings. Joel suggested 
to use another abbreviation.</t>

<t><list style="numbers">
  <t>Some variants has been proposed, for example.  <list style="symbols">
      <t>Ingress to Egress (I2E); alernative abbreviation (i2e)</t>
      <t>Egress</t>
      <t>LSP Ingress to LSP Egress (LI2LE)</t>
      <t>Egress (because the Ingress has already done its thing)</t>
      <t>Ultimate Hop</t>
      <t>Destination</t>
      <t>Start-to-End</t>
      <t>Last-LSR</t>
      <t>Head to Tail</t>
    </list></t>
</list></t>

<t>In a few days (counting from the publication date of this document) the
working group chairs will take an initiative to poll the working groups for 
consensus on this.</t>

</section>
<section anchor="concepts-used-in-this-framework" title="Concepts used in this Framework">

<texttable title="Concepts" anchor="Tab-concepts">
      <ttcol align='left'>Concept</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <ttcol align='left'>Note</ttcol>
      <c>E2E concept</c>
      <c>E2E in MNA context is defined in…</c>
      <c>this document</c>
      <c>-</c>
      <c>concept</c>
      <c>free text</c>
      <c>this document</c>
      <c>-</c>
</texttable>

<t>Not complete, help appreciated.  [Ed. This section is planned for
removal as it seems unhelpful so far.]</t>

</section>
<section anchor="lse" title="LSE">

<t>An individual LSE has the following format <xref target="RFC3032"/>:</t>

<figure title="A Label Stack Entry (LSE)" anchor="FIG-MPLS-LSE"><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, 8 bits
]]></artwork></figure>

</section>
<section anchor="mpls-forwarding-model" title="MPLS Forwarding model">
<t>This is section here to basically to have a place holder where to discuss the
development of the MPLS forwrding model. It might be removed. [Ed. So
far, it adds no value. Wave bye-bye.]</t>

<section anchor="orginal-model" title="Orginal Model">

<figure title="MPLS Original Forwarding Model" anchor="FIG-MPLS-OFM"><artwork><![CDATA[
 +-----------------------------------------------------------------+
 |                                                                 |
 |  +---------------------+                                        |
 |  | +------------+      |                                        |
 |  | | MPLS Label |  LSE |                                        |
 |  | +---|--------+      |                                        |
 |  +-----|---------------+                                        |
 |        |                                                        |
 |        |  +----------------------+                              |
 |        |  |                  FIB |                              |
 |        |  |                      |                              |
 |        |  |     +------------+   |     +----------------------+ |
 |        +------->|FIB Entry   |-----+-->|Forwarding Code       | |
 |           |     +------------+   | |   +----------------------+ |
 |           +----------------------| |                            |
 |                                  | |   +----------------------+ |
 |                                    +-->|Forwarding Parameters | |
 |                                        +----------------------+ |
 |                                                                 |
 |                                                                 |
 | LSE = Label Stack Entry (what many people call a label)         |
 | FIB = Forwarding Information (date)Base                         |
 +-----------------------------------------------------------------+
]]></artwork></figure>

</section>
</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>

&I-D.ietf-mpls-miad-mna-requirements;
&RFC2119;
&RFC3031;
&RFC3032;
&RFC8174;
&RFC9017;
&RFC9088;


    </references>

    <references title='Informative References'>

&RFC4928;
&RFC8296;


    </references>



  </back>

<!-- ##markdown-source:
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
QOVYeSWwkh5Djf2/4iQdXHFmAAA=

-->

</rfc>

