MPLS Working Group                                          L. Andersson
Internet-Draft                                  Bronze Dragon Consulting
Intended status: Informational                                 S. Bryant
Expires: September 4, 2022                     University of Surrey 5GIC
                                                                M. Bocci
                                                                   Nokia
                                                          March 03, 2022


                          MPLS MIAD Framework
                    draft-andersson-mpls-miad-fwk-01

Abstract

   This document specifies an architectural framework for the
   application of the MPLS Indicator and Ancillary Data (MIAD)
   technologies.  MIAD techmologies are used to indicate actions (I) for
   LSPs and/or packets and to transfer data needed for these actions
   (AD).

   The document describes a common set of protocol functions and
   information elements - the MPLS Indicartor and Ancillary Data -
   supporting additional operational models and capabilities of MPLS
   netwroks that support these functions.  Some of these functions are
   defined in existing MPLS specifications, while others require
   extensions to existing specifications to meet the requirements in the
   MIAD requirement specification.

   This document is the result of work started in MPLS Open Desgign
   Team, with participation by the MPLS, PALS and DETNET working groups.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 4, 2022.




Andersson, et al.       Expires September 4, 2022               [Page 1]


Internet-Draft               MIAD Framework                   March 2022


Copyright Notice

   Copyright (c) 2022 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirement Language  . . . . . . . . . . . . . . . . . .   3
   2.  Normative Definitions . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Ancillary Data (AD) . . . . . . . . . . . . . . . . . . .   3
     2.2.  Ancillary Data Indicator (ADI)  . . . . . . . . . . . . .   3
   3.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
     3.1.  Abbreviations . . . . . . . . . . . . . . . . . . . . . .   4
       3.1.1.  Process Note on E2E . . . . . . . . . . . . . . . . .   6
     3.2.  Concepts used in this Framework . . . . . . . . . . . . .   6
   4.  Methods to carry Ancillary Data Indicators  . . . . . . . . .   6
     4.1.  existing base SPL . . . . . . . . . . . . . . . . . . . .   6
     4.2.  new base SPL  . . . . . . . . . . . . . . . . . . . . . .   6
     4.3.  new extend SPL  . . . . . . . . . . . . . . . . . . . . .   7
   5.  Method chosen by the working group  . . . . . . . . . . . . .   7
   6.  Types of AD . . . . . . . . . . . . . . . . . . . . . . . . .   7
     6.1.  In Stack Data (ISD) . . . . . . . . . . . . . . . . . . .   7
     6.2.  Post Stack Data (PSD) . . . . . . . . . . . . . . . . . .   7
     6.3.  Implicit Data . . . . . . . . . . . . . . . . . . . . . .   7
   7.  ADI details . . . . . . . . . . . . . . . . . . . . . . . . .   7
     7.1.  Hop by Hop (HBH)  . . . . . . . . . . . . . . . . . . . .   7
     7.2.  End to End (E2E)  . . . . . . . . . . . . . . . . . . . .   7
     7.3.  Initiate action at a specific single node . . . . . . . .   7
   8.  Flag Field  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     8.1.  Unused SPL bits . . . . . . . . . . . . . . . . . . . . .   7
       8.1.1.  RFC 3032 LSE definition . . . . . . . . . . . . . . .   8
       8.1.2.  Carrying the flag field starting in the first LSE . .   8
       8.1.3.  Carrying the flag field starting in the second LSE  .   8
       8.1.4.  Using two bSPLs . . . . . . . . . . . . . . . . . . .   9
     8.2.  Process Note flags and flag field . . . . . . . . . . . .   9
   9.  ADI specification rules . . . . . . . . . . . . . . . . . . .   9
   10. Ancillary Data  . . . . . . . . . . . . . . . . . . . . . . .   9



Andersson, et al.       Expires September 4, 2022               [Page 2]


Internet-Draft               MIAD Framework                   March 2022


   11. Packet Structure  . . . . . . . . . . . . . . . . . . . . . .  10
   12. Security Considerations . . . . . . . . . . . . . . . . . . .  10
   13. Management Considerations . . . . . . . . . . . . . . . . . .  10
   14. MPLS Forwarding model . . . . . . . . . . . . . . . . . . . .  10
     14.1.  Orginal Model  . . . . . . . . . . . . . . . . . . . . .  10
   15. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
   16. The First Nibble considerations . . . . . . . . . . . . . . .  11
   17. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  11
   18. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     18.1.  Normative References . . . . . . . . . . . . . . . . . .  11
     18.2.  Informative References . . . . . . . . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   This document discusses how flag fields ancillary data and IANA
   registries for the data coul be desinged.

   Maybe expand the abstract a bit and give some of the developement we
   seen in the MPLS forwarding model, e.g. original model, first nible,
   Pseudowire ACH, GACH and MIAD.

1.1.  Requirement Language

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

   This document is intended to become an Informational RFC, it is not
   clear that we will need Section 1.1.  We will leave it in for the
   time being and take the decision to remove or not closer to the
   Publication Request. test

2.  Normative Definitions

   text to be added, prime candidates to be discussed are AD and ADI,
   not least explaining the differences.

2.1.  Ancillary Data (AD)

2.2.  Ancillary Data Indicator (ADI)








Andersson, et al.       Expires September 4, 2022               [Page 3]


Internet-Draft               MIAD Framework                   March 2022


3.  Terminology

3.1.  Abbreviations
















































Andersson, et al.       Expires September 4, 2022               [Page 4]


Internet-Draft               MIAD Framework                   March 2022


   +--------------+------------+---------------------------+-----------+
   | Abbreviation | Meaning    | Reference                 | Note      |
   +--------------+------------+---------------------------+-----------+
   | AD           | Ancillary  | draft-bocci-mpls-miad-    | place     |
   |              | Data       | adi-requirements          | holder    |
   |              |            |                           |           |
   | ADI          | Ancillary  | draft-bocci-mpls-miad-    |           |
   |              | Data       | adi-requirements          |           |
   |              | Indicator  |                           |           |
   |              |            |                           |           |
   | ECMP         | Equal Cost |                           |           |
   |              | Multipath  |                           |           |
   |              |            |                           |           |
   | E2E          | End to end | In the MIAD context this  |           |
   |              |            | document.                 |           |
   |              |            |                           |           |
   | HBH          | Hop by hop | In the MIAD context this  |           |
   |              |            | document.                 |           |
   |              |            |                           |           |
   | ISD          | In stack   | draft-bocci-mpls-miad-    |           |
   |              | data       | adi-requirements          |           |
   |              |            |                           |           |
   | LSE          | Label      | RFC 3032 [RFC3032]        |           |
   |              | Stack      |                           |           |
   |              | Entry      |                           |           |
   |              |            |                           |           |
   | MIAD         | MPLS       | MPLS Open DT wiki and     | MIAD is   |
   |              | Indicators | this documnent            | the name  |
   |              | and        |                           | of both   |
   |              | Ancillary  |                           | this tech |
   |              | Data       |                           | nology    |
   |              |            |                           | technlogy |
   |              |            |                           | and the   |
   |              |            |                           | project d |
   |              |            |                           | eveloping |
   |              |            |                           | this part |
   |              |            |                           | of the    |
   |              |            |                           | MPLS arch |
   |              |            |                           | itecture  |
   |              |            |                           |           |
   | PSD          | Post stack | draft-bocci-mpls-miad-    |           |
   |              | data       | adi-requirements          |           |
   +--------------+------------+---------------------------+-----------+

                          Table 1: Abbreviations






Andersson, et al.       Expires September 4, 2022               [Page 5]


Internet-Draft               MIAD Framework                   March 2022


3.1.1.  Process Note on E2E

   There has been some discussion on the of the E"E abbreviation.  1.
   In a mail to the MPLS Working group mailing list Joel Halpern pinted
   out that the abbreviation E2E has been used in several different
   meanings.  Joel suggested to use another abbreaviation.

   1.  Some variants has been proposed, for example.

       *  Ingress to Egress (I2E); alernative abbreviatioon (i2e)

       *  Egress

       *  LSP Ingress to LSP Egress (LI2LE)

   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.

3.2.  Concepts used in this Framework

   +------------+--------------------------------+--------------+------+
   | Concept    | Meaning                        | Reference    | Note |
   +------------+--------------------------------+--------------+------+
   | E2E        | E2E in MIAD context is defined | this         | -    |
   | concept    | in...                          | document     |      |
   |            |                                |              |      |
   | concept    | free text                      | this         | -    |
   |            |                                | document     |      |
   +------------+--------------------------------+--------------+------+

                             Table 2: Concepts

   Not complete, help appreciated.

4.  Methods to carry Ancillary Data Indicators

   Several possibilities to carry ADI's has been discussed in MIAD
   drafts and in the MPLS Open DT.

4.1.  existing base SPL

4.2.  new base SPL








Andersson, et al.       Expires September 4, 2022               [Page 6]


Internet-Draft               MIAD Framework                   March 2022


4.3.  new extend SPL

5.  Method chosen by the working group

   o  confused, but we need to write something

6.  Types of AD

6.1.  In Stack Data (ISD)

   a bit of explanatory text

6.2.  Post Stack Data (PSD)

   a bit of explanatory text

6.3.  Implicit Data

   Note: We are changing the earlier "No Data" (NoD) to implicit without
   creating an abbreviation [I-D.bocci-mpls-miad-adi-requirements].  ID
   would be to close o ISD.

7.  ADI details

7.1.  Hop by Hop (HBH)

7.2.  End to End (E2E)

7.3.  Initiate action at a specific single node

   We are looking to see if this is needed.

8.  Flag Field

   The MIAD flag field is carried in a Base Special Purpose Lavel
   (bSPL).  Different style of bSPLs can as discussed in {#carry} issues
   around which bSPL to use for the flag field are discussed in this
   section.  This section discussed how the flag field itself is set up.

8.1.  Unused SPL bits

   In a SPL 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 the MIAD flag
   fields (carrying ADIs) in the first LSE..

   The flag field may also be carried in an LSE (second LSE) immediately
   following the LSE that carries the Label Value



Andersson, et al.       Expires September 4, 2022               [Page 7]


Internet-Draft               MIAD Framework                   March 2022


8.1.1.  RFC 3032 LSE definition

      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

8.1.2.  Carrying the flag field starting in the first LSE

      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                  |f f f|s|f f f f f f f x|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |f f f f f f f f f f f f f f f f f f f f f f f|s|f f f f f f f x|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                   Label:  Label Value, 20 bits
                   f:      MIAD flag (ADI)
                   S:      Bottom of Stack, 1 bit
                   x:      Extension bit

8.1.3.  Carrying the flag field starting in the second LSE

   An alternative would be to not carrying flags in the "spare" 11 bits
   of the first LSE, but to start the flag field in the second LSE.

      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      |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |f f f f f f f f f f f f f f f f f f f f f f f|s|f f f f f f f x|
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                   Label:  Label Value, 20 bits
                   TC:     Traffic Class, 3 bits
                   S:      Bottom of Stack, 1 bit
                   TTL:    Time To Live
                   f:      MIAD flag (ADI)
                   x:      Extension bit






Andersson, et al.       Expires September 4, 2022               [Page 8]


Internet-Draft               MIAD Framework                   March 2022


8.1.4.  Using two bSPLs

   The possibility to use two bSPLs to carry flag fields has been
   suggested.  For example action indicators (ADIs) using Implicit and
   ISD could use one bSPL and the action indicators using PSD could use
   the other.  The mapping of the flag field into the bSPLs would be the
   same as above.

8.1.4.1.  Interpreting flags and bits

   Label - As in RFC 3032.

   TC - Traffic Class, as in the updated RFC 3032.

   S - Bottom of Stack bit, as in RFC 3032.

   TTL . Time To Live, as in RFC 3032.

   f-bits (f) - Flags (ADIs) see Section 7.  It is possible to have
   flags of more than one bit.

   x-bit (x) - Extension bit, if the x bit is 0 (zero) the next field is
   an LSE carrying MIAD flags, if it is 1 (one) there are no more flag
   field LSEs for that bSPL.

8.2.  Process Note flags and flag field

   1.  It seem obvious that the working group would want to produce one
       single consolidated solution for how to carry the flags and flag
       field.

   2.  The decision on which method to use for carrying flags and flag
       fields will be taken by a consensus call in the MPLS, PALS and
       DETNET working groups, and be documented here.

9.  ADI specification rules

   Guidance what to include in an IANA section

10.  Ancillary Data

   Structure, encoding, allocation of identifiers.  Matters of sequence
   / priority.  Instances of a single type of AD.








Andersson, et al.       Expires September 4, 2022               [Page 9]


Internet-Draft               MIAD Framework                   March 2022


11.  Packet Structure

12.  Security Considerations

13.  Management Considerations

14.  MPLS Forwarding model

   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.

14.1.  Orginal Model

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

                 Figure 1: MPLS Original Forwarding Model

15.  IANA Considerations

   This document does not make any allocations of code points from IANA
   registries.

   As long as the "does not make any allocations ..." from IANA is true,
   this pragraph shoukd be removed by the RFC-Editor.  If it turns out




Andersson, et al.       Expires September 4, 2022              [Page 10]


Internet-Draft               MIAD Framework                   March 2022


   that we will need to do IANA allocation, a proper IANA section will
   be added.

16.  The First Nibble considerations

   The first nibble after the label stack has been used to convey
   information in certain cases.

   For example, in [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.

   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.

   Nevertheless, the method is implemented and deployed, it is used to
   day and will be for the foreseeable future.

   The use of the first nibble for BIER is specified in [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 {{RFC8296, to exclude that
   the payload is IPv4, IPv6 or a pseudowire.

   There is possible more examples, they will be added if we find that
   they further highlights the issue with using the first nibble.

17.  Acknowledgements

18.  References

18.1.  Normative References

   [I-D.bocci-mpls-miad-adi-requirements]
              Bocci, M. and S. Bryant, "Requirements for MPLS Label
              Stack Indicators and Ancillary Data", draft-bocci-mpls-
              miad-adi-requirements-02 (work in progress), March 2022.

   [I-D.decraene-mpls-slid-encoded-entropy-label-id]
              Decraene, B., Filsfils, C., Henderickx, W., Saad, T.,
              Beeram, V. P., and L. Jalil, "Using Entropy Label for
              Network Slice Identification in MPLS networks.", draft-
              decraene-mpls-slid-encoded-entropy-label-id-03 (work in
              progress), February 2022.




Andersson, et al.       Expires September 4, 2022              [Page 11]


Internet-Draft               MIAD Framework                   March 2022


   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

18.2.  Informative References

   [I-D.kbbma-mpls-1stnibble]
              Kompella, K., Bryant, S., Bocci, M., Mirsky, G., and L. O.
              (. Andersson, "IANA Registry for the First Nibble
              Following a Label Stack", draft-kbbma-mpls-1stnibble-00
              (work in progress), October 2021.

   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
              <https://www.rfc-editor.org/info/rfc3032>.

   [RFC4928]  Swallow, G., Bryant, S., and L. Andersson, "Avoiding Equal
              Cost Multipath Treatment in MPLS Networks", BCP 128,
              RFC 4928, DOI 10.17487/RFC4928, June 2007,
              <https://www.rfc-editor.org/info/rfc4928>.

   [RFC8296]  Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
              Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation
              for Bit Index Explicit Replication (BIER) in MPLS and Non-
              MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January
              2018, <https://www.rfc-editor.org/info/rfc8296>.

Authors' Addresses

   Loa Andersson
   Bronze Dragon Consulting

   Email: loa@pi.nu


   Stewart Bryant
   University of Surrey 5GIC

   Email: sb@stewartbryant.com






Andersson, et al.       Expires September 4, 2022              [Page 12]


Internet-Draft               MIAD Framework                   March 2022


   Matthew Bocci
   Nokia

   Email: matthew.bocci@nokia.com















































Andersson, et al.       Expires September 4, 2022              [Page 13]